aboutsummaryrefslogtreecommitdiffhomepage
path: root/absl/base/config.h
diff options
context:
space:
mode:
authorGravatar Abseil Team <absl-team@google.com>2019-07-18 15:07:49 -0700
committerGravatar Derek Mauro <dmauro@google.com>2019-07-19 13:04:45 -0400
commitf3840bc5e33ce4932e35986cf3718450c6f02af2 (patch)
tree43dd14bfbd542b155040546c4fab6e592c504988 /absl/base/config.h
parent278b26058c036833a4f7f3047d3f4d9296527f87 (diff)
Export of internal Abseil changes.
-- dcff7cc4eb3837d39d1e083cbf1d4f082054cbf6 by Laramie Leavitt <lar@google.com>: Add default and fallback modes for SaltedSeedSeq::generate(). SeedSeq::generate will often be called with contiguous ranges of uint32_t. Detect this case and use the currently direct code paths to handle it. Otherwise use a fallback mechanism which does an additional copy. PiperOrigin-RevId: 258853656 -- 59ec88845ac2ee6567c493021b54385940d66762 by Gennadiy Rozental <rogeeff@google.com>: Internal change PiperOrigin-RevId: 258822137 -- eb2d1ab21f6f94c24c51c1cd3719846be259e8e7 by Abseil Team <absl-team@google.com>: Add iOS version 11 to the mix of Apple OS versions that have various C++17 header files but do not support them. PiperOrigin-RevId: 258820405 -- 452cea3e13b29797b2c385d7c6da7613d36bdc45 by Gennadiy Rozental <rogeeff@google.com>: Internal change PiperOrigin-RevId: 258802436 GitOrigin-RevId: dcff7cc4eb3837d39d1e083cbf1d4f082054cbf6 Change-Id: I2261cb58e142eb15017ef646a56710dd64f06496
Diffstat (limited to 'absl/base/config.h')
-rw-r--r--absl/base/config.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/absl/base/config.h b/absl/base/config.h
index 406a931..692738e 100644
--- a/absl/base/config.h
+++ b/absl/base/config.h
@@ -370,16 +370,20 @@
#error "absl endian detection needs to be set up for your compiler"
#endif
-// MacOS 10.13 doesn't let you use <any>, <optional>, or <variant> even though
-// the headers exist and are publicly noted to work. See
+// MacOS 10.13 and iOS 10.11 don't let you use <any>, <optional>, or <variant>
+// even though the headers exist and are publicly noted to work. See
// https://github.com/abseil/abseil-cpp/issues/207 and
// https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes
+// libc++ spells out the availability requirements in the file
+// llvm-project/libcxx/include/__config.
#if defined(__APPLE__) && defined(_LIBCPP_VERSION) && \
- defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && \
- __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101400
-#define ABSL_INTERNAL_MACOS_CXX17_TYPES_UNAVAILABLE 1
+ ((defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && \
+ __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101400) || \
+ (defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && \
+ __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 101200))
+#define ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE 1
#else
-#define ABSL_INTERNAL_MACOS_CXX17_TYPES_UNAVAILABLE 0
+#define ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE 0
#endif
// ABSL_HAVE_STD_ANY
@@ -391,7 +395,7 @@
#ifdef __has_include
#if __has_include(<any>) && __cplusplus >= 201703L && \
- !ABSL_INTERNAL_MACOS_CXX17_TYPES_UNAVAILABLE
+ !ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE
#define ABSL_HAVE_STD_ANY 1
#endif
#endif
@@ -405,7 +409,7 @@
#ifdef __has_include
#if __has_include(<optional>) && __cplusplus >= 201703L && \
- !ABSL_INTERNAL_MACOS_CXX17_TYPES_UNAVAILABLE
+ !ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE
#define ABSL_HAVE_STD_OPTIONAL 1
#endif
#endif
@@ -419,7 +423,7 @@
#ifdef __has_include
#if __has_include(<variant>) && __cplusplus >= 201703L && \
- !ABSL_INTERNAL_MACOS_CXX17_TYPES_UNAVAILABLE
+ !ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE
#define ABSL_HAVE_STD_VARIANT 1
#endif
#endif