- 51e2d3690b9065da84dbbf71fb52f87149670719 Fix ABSL_HAVE_THREAD_LOCAL on Apple 32-bit iOS simulato... by Xiaoyi Zhang <zhangxy@google.com>

- d38332e4d6b51542a42ff49fb0fc4f4a756fdd05 Internal change. by Abseil Team <absl-team@google.com>

GitOrigin-RevId: 51e2d3690b9065da84dbbf71fb52f87149670719
Change-Id: I9403fc6308a6c731f1c8e2cd70fdb382fafd960e
This commit is contained in:
Abseil Team 2018-04-09 08:30:09 -07:00 committed by Matt Calabrese
parent abd0824ba6
commit 3f622d6c59
2 changed files with 20 additions and 13 deletions

View file

@ -138,12 +138,16 @@
// supported.
#ifdef ABSL_HAVE_THREAD_LOCAL
#error ABSL_HAVE_THREAD_LOCAL cannot be directly set
#elif (!defined(__apple_build_version__) || \
(__apple_build_version__ >= 8000042)) && \
!(defined(__APPLE__) && TARGET_OS_IPHONE && \
__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_9_0)
#elif defined(__APPLE__)
// Notes: Xcode's clang did not support `thread_local` until version
// 8, and even then not for all iOS < 9.0.
// 8, and even then not for all iOS < 9.0. Also, Xcode 9.3 started disallowing
// `thread_local` for 32-bit iOS simulator targeting iOS 9.x.
// `__has_feature` is only supported by Clang so it has be inside
// `defined(__APPLE__)` check.
#if __has_feature(cxx_thread_local)
#define ABSL_HAVE_THREAD_LOCAL 1
#endif
#else // !defined(__APPLE__)
#define ABSL_HAVE_THREAD_LOCAL 1
#endif