| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #ifndef ABSL_BASE_CONFIG_H_ |
| #define ABSL_BASE_CONFIG_H_ |
|
|
| |
| #include <limits.h> |
|
|
| #ifdef __cplusplus |
| |
| #include <cstddef> |
| #endif |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #if defined(_MSVC_LANG) |
| #define ABSL_INTERNAL_CPLUSPLUS_LANG _MSVC_LANG |
| #elif defined(__cplusplus) |
| #define ABSL_INTERNAL_CPLUSPLUS_LANG __cplusplus |
| #endif |
|
|
| #if defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \ |
| ABSL_INTERNAL_CPLUSPLUS_LANG >= 202002L |
| |
| #include <version> |
| #endif |
|
|
| #if defined(__APPLE__) |
| |
| |
| #include <Availability.h> |
| #include <TargetConditionals.h> |
| #endif |
|
|
| #include "absl/base/options.h" |
| #include "absl/base/policy_checks.h" |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #define ABSL_LTS_RELEASE_VERSION 20240116 |
| #define ABSL_LTS_RELEASE_PATCH_LEVEL 2 |
|
|
| |
| #define ABSL_INTERNAL_DO_TOKEN_STR(x) #x |
| #define ABSL_INTERNAL_TOKEN_STR(x) ABSL_INTERNAL_DO_TOKEN_STR(x) |
|
|
| |
| |
| |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #if !defined(ABSL_OPTION_USE_INLINE_NAMESPACE) || \ |
| !defined(ABSL_OPTION_INLINE_NAMESPACE_NAME) |
| #error options.h is misconfigured. |
| #endif |
|
|
| |
| #if defined(__cplusplus) && ABSL_OPTION_USE_INLINE_NAMESPACE == 1 |
|
|
| #define ABSL_INTERNAL_INLINE_NAMESPACE_STR \ |
| ABSL_INTERNAL_TOKEN_STR(ABSL_OPTION_INLINE_NAMESPACE_NAME) |
|
|
| static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != '\0', |
| "options.h misconfigured: ABSL_OPTION_INLINE_NAMESPACE_NAME must " |
| "not be empty."); |
| static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != 'h' || |
| ABSL_INTERNAL_INLINE_NAMESPACE_STR[1] != 'e' || |
| ABSL_INTERNAL_INLINE_NAMESPACE_STR[2] != 'a' || |
| ABSL_INTERNAL_INLINE_NAMESPACE_STR[3] != 'd' || |
| ABSL_INTERNAL_INLINE_NAMESPACE_STR[4] != '\0', |
| "options.h misconfigured: ABSL_OPTION_INLINE_NAMESPACE_NAME must " |
| "be changed to a new, unique identifier name."); |
|
|
| #endif |
|
|
| #if ABSL_OPTION_USE_INLINE_NAMESPACE == 0 |
| #define ABSL_NAMESPACE_BEGIN |
| #define ABSL_NAMESPACE_END |
| #define ABSL_INTERNAL_C_SYMBOL(x) x |
| #elif ABSL_OPTION_USE_INLINE_NAMESPACE == 1 |
| #define ABSL_NAMESPACE_BEGIN \ |
| inline namespace ABSL_OPTION_INLINE_NAMESPACE_NAME { |
| #define ABSL_NAMESPACE_END } |
| #define ABSL_INTERNAL_C_SYMBOL_HELPER_2(x, v) x##_##v |
| #define ABSL_INTERNAL_C_SYMBOL_HELPER_1(x, v) \ |
| ABSL_INTERNAL_C_SYMBOL_HELPER_2(x, v) |
| #define ABSL_INTERNAL_C_SYMBOL(x) \ |
| ABSL_INTERNAL_C_SYMBOL_HELPER_1(x, ABSL_OPTION_INLINE_NAMESPACE_NAME) |
| #else |
| #error options.h is misconfigured. |
| #endif |
|
|
| |
| |
| |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #ifdef __has_builtin |
| #define ABSL_HAVE_BUILTIN(x) __has_builtin(x) |
| #else |
| #define ABSL_HAVE_BUILTIN(x) 0 |
| #endif |
|
|
| #ifdef __has_feature |
| #define ABSL_HAVE_FEATURE(f) __has_feature(f) |
| #else |
| #define ABSL_HAVE_FEATURE(f) 0 |
| #endif |
|
|
| |
| |
| #if defined(__GNUC__) && defined(__GNUC_MINOR__) |
| #define ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(x, y) \ |
| (__GNUC__ > (x) || __GNUC__ == (x) && __GNUC_MINOR__ >= (y)) |
| #else |
| #define ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(x, y) 0 |
| #endif |
|
|
| #if defined(__clang__) && defined(__clang_major__) && defined(__clang_minor__) |
| #define ABSL_INTERNAL_HAVE_MIN_CLANG_VERSION(x, y) \ |
| (__clang_major__ > (x) || __clang_major__ == (x) && __clang_minor__ >= (y)) |
| #else |
| #define ABSL_INTERNAL_HAVE_MIN_CLANG_VERSION(x, y) 0 |
| #endif |
|
|
| |
| |
| |
| #ifdef ABSL_HAVE_TLS |
| #error ABSL_HAVE_TLS cannot be directly set |
| #elif (defined(__linux__) || defined(__ASYLO__)) && \ |
| (defined(__clang__) || defined(_GLIBCXX_HAVE_TLS)) |
| #define ABSL_HAVE_TLS 1 |
| #endif |
|
|
| |
| |
| |
| #ifdef ABSL_HAVE_STD_IS_TRIVIALLY_DESTRUCTIBLE |
| #error ABSL_HAVE_STD_IS_TRIVIALLY_DESTRUCTIBLE cannot be directly set |
| #define ABSL_HAVE_STD_IS_TRIVIALLY_DESTRUCTIBLE 1 |
| #endif |
|
|
| |
| |
| |
| |
| #ifdef ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE |
| #error ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE cannot be directly set |
| #else |
| #define ABSL_HAVE_STD_IS_TRIVIALLY_CONSTRUCTIBLE 1 |
| #endif |
|
|
| |
| |
| |
| #ifdef ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE |
| #error ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE cannot be directly set |
| #else |
| #define ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE 1 |
| #endif |
|
|
| |
| |
| |
| #ifdef ABSL_HAVE_STD_IS_TRIVIALLY_COPYABLE |
| #error ABSL_HAVE_STD_IS_TRIVIALLY_COPYABLE cannot be directly set |
| #define ABSL_HAVE_STD_IS_TRIVIALLY_COPYABLE 1 |
| #endif |
|
|
| |
| |
| |
| |
| #ifdef ABSL_HAVE_THREAD_LOCAL |
| #error ABSL_HAVE_THREAD_LOCAL cannot be directly set |
| #elif defined(__APPLE__) |
| |
| |
| |
| |
| |
| |
| |
| |
| #if ABSL_HAVE_FEATURE(cxx_thread_local) && \ |
| !(TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_9_0) |
| #define ABSL_HAVE_THREAD_LOCAL 1 |
| #endif |
| #else |
| #define ABSL_HAVE_THREAD_LOCAL 1 |
| #endif |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #if defined(__ANDROID__) && defined(__clang__) |
| #if __has_include(<android/ndk-version.h>) |
| #include <android/ndk-version.h> |
| #endif |
| #if defined(__ANDROID__) && defined(__clang__) && defined(__NDK_MAJOR__) && \ |
| defined(__NDK_MINOR__) && \ |
| ((__NDK_MAJOR__ < 12) || ((__NDK_MAJOR__ == 12) && (__NDK_MINOR__ < 1))) |
| #undef ABSL_HAVE_TLS |
| #undef ABSL_HAVE_THREAD_LOCAL |
| #endif |
| #endif |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #ifdef ABSL_HAVE_INTRINSIC_INT128 |
| #error ABSL_HAVE_INTRINSIC_INT128 cannot be directly set |
| #elif defined(__SIZEOF_INT128__) |
| #if (defined(__clang__) && !defined(_WIN32)) || \ |
| (defined(__CUDACC__) && __CUDACC_VER_MAJOR__ >= 9) || \ |
| (defined(__GNUC__) && !defined(__clang__) && !defined(__CUDACC__)) |
| #define ABSL_HAVE_INTRINSIC_INT128 1 |
| #elif defined(__CUDACC__) |
| |
| |
| |
| |
| #if __CUDACC_VER__ >= 70000 |
| #define ABSL_HAVE_INTRINSIC_INT128 1 |
| #endif |
| #endif |
| #endif |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #ifdef ABSL_HAVE_EXCEPTIONS |
| #error ABSL_HAVE_EXCEPTIONS cannot be directly set. |
| #elif ABSL_INTERNAL_HAVE_MIN_CLANG_VERSION(3, 6) |
| |
| #if ABSL_HAVE_FEATURE(cxx_exceptions) |
| #define ABSL_HAVE_EXCEPTIONS 1 |
| #endif |
| #elif defined(__clang__) |
| |
| |
| #if defined(__EXCEPTIONS) && ABSL_HAVE_FEATURE(cxx_exceptions) |
| #define ABSL_HAVE_EXCEPTIONS 1 |
| #endif |
| |
| #elif !(defined(__GNUC__) && (__GNUC__ < 5) && !defined(__EXCEPTIONS)) && \ |
| !(ABSL_INTERNAL_HAVE_MIN_GNUC_VERSION(5, 0) && \ |
| !defined(__cpp_exceptions)) && \ |
| !(defined(_MSC_VER) && !defined(_CPPUNWIND)) |
| #define ABSL_HAVE_EXCEPTIONS 1 |
| #endif |
|
|
| |
| |
| |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| |
| |
| |
| #ifdef ABSL_HAVE_MMAP |
| #error ABSL_HAVE_MMAP cannot be directly set |
| #elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \ |
| defined(_AIX) || defined(__ros__) || defined(__native_client__) || \ |
| defined(__asmjs__) || defined(__EMSCRIPTEN__) || defined(__Fuchsia__) || \ |
| defined(__sun) || defined(__ASYLO__) || defined(__myriad2__) || \ |
| defined(__HAIKU__) || defined(__OpenBSD__) || defined(__NetBSD__) || \ |
| defined(__QNX__) || defined(__VXWORKS__) || defined(__hexagon__) |
| #define ABSL_HAVE_MMAP 1 |
| #endif |
|
|
| |
| |
| |
| |
| #ifdef ABSL_HAVE_PTHREAD_GETSCHEDPARAM |
| #error ABSL_HAVE_PTHREAD_GETSCHEDPARAM cannot be directly set |
| #elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \ |
| defined(_AIX) || defined(__ros__) || defined(__OpenBSD__) || \ |
| defined(__NetBSD__) || defined(__VXWORKS__) |
| #define ABSL_HAVE_PTHREAD_GETSCHEDPARAM 1 |
| #endif |
|
|
| |
| |
| |
| #ifdef ABSL_HAVE_SCHED_GETCPU |
| #error ABSL_HAVE_SCHED_GETCPU cannot be directly set |
| #elif defined(__linux__) |
| #define ABSL_HAVE_SCHED_GETCPU 1 |
| #endif |
|
|
| |
| |
| |
| |
| #ifdef ABSL_HAVE_SCHED_YIELD |
| #error ABSL_HAVE_SCHED_YIELD cannot be directly set |
| #elif defined(__linux__) || defined(__ros__) || defined(__native_client__) || \ |
| defined(__VXWORKS__) |
| #define ABSL_HAVE_SCHED_YIELD 1 |
| #endif |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #ifdef ABSL_HAVE_SEMAPHORE_H |
| #error ABSL_HAVE_SEMAPHORE_H cannot be directly set |
| #elif defined(__linux__) || defined(__ros__) || defined(__VXWORKS__) |
| #define ABSL_HAVE_SEMAPHORE_H 1 |
| #endif |
|
|
| |
| |
| |
| |
| #ifdef ABSL_HAVE_ALARM |
| #error ABSL_HAVE_ALARM cannot be directly set |
| #elif defined(__GOOGLE_GRTE_VERSION__) |
| |
| #define ABSL_HAVE_ALARM 1 |
| #elif defined(__GLIBC__) |
| |
| #define ABSL_HAVE_ALARM 1 |
| #elif defined(_MSC_VER) |
| |
| #elif defined(__MINGW32__) |
| |
| |
| |
| |
| #elif defined(__EMSCRIPTEN__) |
| |
| #elif defined(__wasi__) |
| |
| #elif defined(__Fuchsia__) |
| |
| #elif defined(__native_client__) |
| |
| #elif defined(__hexagon__) |
| #else |
| |
| #define ABSL_HAVE_ALARM 1 |
| #endif |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #if defined(ABSL_IS_BIG_ENDIAN) |
| #error "ABSL_IS_BIG_ENDIAN cannot be directly set." |
| #endif |
| #if defined(ABSL_IS_LITTLE_ENDIAN) |
| #error "ABSL_IS_LITTLE_ENDIAN cannot be directly set." |
| #endif |
|
|
| #if (defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && \ |
| __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) |
| #define ABSL_IS_LITTLE_ENDIAN 1 |
| #elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && \ |
| __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ |
| #define ABSL_IS_BIG_ENDIAN 1 |
| #elif defined(_WIN32) |
| #define ABSL_IS_LITTLE_ENDIAN 1 |
| #else |
| #error "absl endian detection needs to be set up for your compiler" |
| #endif |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #if defined(__APPLE__) && \ |
| ((defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && \ |
| __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101300) || \ |
| (defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && \ |
| __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 120000) || \ |
| (defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && \ |
| __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 50000) || \ |
| (defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) && \ |
| __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 120000)) |
| #define ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE 1 |
| #else |
| #define ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE 0 |
| #endif |
|
|
| |
| |
| |
| #ifdef ABSL_HAVE_STD_ANY |
| #error "ABSL_HAVE_STD_ANY cannot be directly set." |
| #elif defined(__cpp_lib_any) && __cpp_lib_any >= 201606L |
| #define ABSL_HAVE_STD_ANY 1 |
| #elif defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \ |
| ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L && \ |
| !ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE |
| #define ABSL_HAVE_STD_ANY 1 |
| #endif |
|
|
| |
| |
| |
| #ifdef ABSL_HAVE_STD_OPTIONAL |
| #error "ABSL_HAVE_STD_OPTIONAL cannot be directly set." |
| #elif defined(__cpp_lib_optional) && __cpp_lib_optional >= 202106L |
| #define ABSL_HAVE_STD_OPTIONAL 1 |
| #elif defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \ |
| ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L && \ |
| !ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE |
| #define ABSL_HAVE_STD_OPTIONAL 1 |
| #endif |
|
|
| |
| |
| |
| #ifdef ABSL_HAVE_STD_VARIANT |
| #error "ABSL_HAVE_STD_VARIANT cannot be directly set." |
| #elif defined(__cpp_lib_variant) && __cpp_lib_variant >= 201606L |
| #define ABSL_HAVE_STD_VARIANT 1 |
| #elif defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \ |
| ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L && \ |
| !ABSL_INTERNAL_APPLE_CXX17_TYPES_UNAVAILABLE |
| #define ABSL_HAVE_STD_VARIANT 1 |
| #endif |
|
|
| |
| |
| |
| #ifdef ABSL_HAVE_STD_STRING_VIEW |
| #error "ABSL_HAVE_STD_STRING_VIEW cannot be directly set." |
| #elif defined(__cpp_lib_string_view) && __cpp_lib_string_view >= 201606L |
| #define ABSL_HAVE_STD_STRING_VIEW 1 |
| #elif defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \ |
| ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L |
| #define ABSL_HAVE_STD_STRING_VIEW 1 |
| #endif |
|
|
| |
| |
| |
| |
| |
| |
| |
| #ifdef ABSL_HAVE_STD_ORDERING |
| #error "ABSL_HAVE_STD_ORDERING cannot be directly set." |
| #elif (defined(__cpp_lib_three_way_comparison) && \ |
| __cpp_lib_three_way_comparison >= 201907L) || \ |
| (defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \ |
| ABSL_INTERNAL_CPLUSPLUS_LANG >= 202002L) |
| #define ABSL_HAVE_STD_ORDERING 1 |
| #endif |
|
|
| |
| |
| |
| #if !defined(ABSL_OPTION_USE_STD_ANY) |
| #error options.h is misconfigured. |
| #elif ABSL_OPTION_USE_STD_ANY == 0 || \ |
| (ABSL_OPTION_USE_STD_ANY == 2 && !defined(ABSL_HAVE_STD_ANY)) |
| #undef ABSL_USES_STD_ANY |
| #elif ABSL_OPTION_USE_STD_ANY == 1 || \ |
| (ABSL_OPTION_USE_STD_ANY == 2 && defined(ABSL_HAVE_STD_ANY)) |
| #define ABSL_USES_STD_ANY 1 |
| #else |
| #error options.h is misconfigured. |
| #endif |
|
|
| |
| |
| |
| #if !defined(ABSL_OPTION_USE_STD_OPTIONAL) |
| #error options.h is misconfigured. |
| #elif ABSL_OPTION_USE_STD_OPTIONAL == 0 || \ |
| (ABSL_OPTION_USE_STD_OPTIONAL == 2 && !defined(ABSL_HAVE_STD_OPTIONAL)) |
| #undef ABSL_USES_STD_OPTIONAL |
| #elif ABSL_OPTION_USE_STD_OPTIONAL == 1 || \ |
| (ABSL_OPTION_USE_STD_OPTIONAL == 2 && defined(ABSL_HAVE_STD_OPTIONAL)) |
| #define ABSL_USES_STD_OPTIONAL 1 |
| #else |
| #error options.h is misconfigured. |
| #endif |
|
|
| |
| |
| |
| #if !defined(ABSL_OPTION_USE_STD_VARIANT) |
| #error options.h is misconfigured. |
| #elif ABSL_OPTION_USE_STD_VARIANT == 0 || \ |
| (ABSL_OPTION_USE_STD_VARIANT == 2 && !defined(ABSL_HAVE_STD_VARIANT)) |
| #undef ABSL_USES_STD_VARIANT |
| #elif ABSL_OPTION_USE_STD_VARIANT == 1 || \ |
| (ABSL_OPTION_USE_STD_VARIANT == 2 && defined(ABSL_HAVE_STD_VARIANT)) |
| #define ABSL_USES_STD_VARIANT 1 |
| #else |
| #error options.h is misconfigured. |
| #endif |
|
|
| |
| |
| |
| #if !defined(ABSL_OPTION_USE_STD_STRING_VIEW) |
| #error options.h is misconfigured. |
| #elif ABSL_OPTION_USE_STD_STRING_VIEW == 0 || \ |
| (ABSL_OPTION_USE_STD_STRING_VIEW == 2 && \ |
| !defined(ABSL_HAVE_STD_STRING_VIEW)) |
| #undef ABSL_USES_STD_STRING_VIEW |
| #elif ABSL_OPTION_USE_STD_STRING_VIEW == 1 || \ |
| (ABSL_OPTION_USE_STD_STRING_VIEW == 2 && \ |
| defined(ABSL_HAVE_STD_STRING_VIEW)) |
| #define ABSL_USES_STD_STRING_VIEW 1 |
| #else |
| #error options.h is misconfigured. |
| #endif |
|
|
| |
| |
| |
| |
| #if !defined(ABSL_OPTION_USE_STD_ORDERING) |
| #error options.h is misconfigured. |
| #elif ABSL_OPTION_USE_STD_ORDERING == 0 || \ |
| (ABSL_OPTION_USE_STD_ORDERING == 2 && !defined(ABSL_HAVE_STD_ORDERING)) |
| #undef ABSL_USES_STD_ORDERING |
| #elif ABSL_OPTION_USE_STD_ORDERING == 1 || \ |
| (ABSL_OPTION_USE_STD_ORDERING == 2 && defined(ABSL_HAVE_STD_ORDERING)) |
| #define ABSL_USES_STD_ORDERING 1 |
| #else |
| #error options.h is misconfigured. |
| #endif |
|
|
| |
| |
| |
| |
| #if defined(_MSC_VER) && _MSC_VER >= 1700 && defined(_DEBUG) |
| #define ABSL_INTERNAL_MSVC_2017_DBG_MODE |
| #endif |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #if defined(_MSC_VER) |
| #if ABSL_OPTION_USE_INLINE_NAMESPACE == 0 |
| #define ABSL_INTERNAL_MANGLED_NS "absl" |
| #define ABSL_INTERNAL_MANGLED_BACKREFERENCE "5" |
| #else |
| #define ABSL_INTERNAL_MANGLED_NS \ |
| ABSL_INTERNAL_TOKEN_STR(ABSL_OPTION_INLINE_NAMESPACE_NAME) "@absl" |
| #define ABSL_INTERNAL_MANGLED_BACKREFERENCE "6" |
| #endif |
| #endif |
|
|
| |
| |
| |
| |
| |
| |
| |
| #if defined(_MSC_VER) |
| #if defined(ABSL_BUILD_DLL) |
| #define ABSL_DLL __declspec(dllexport) |
| #elif defined(ABSL_CONSUME_DLL) |
| #define ABSL_DLL __declspec(dllimport) |
| #else |
| #define ABSL_DLL |
| #endif |
| #else |
| #define ABSL_DLL |
| #endif |
|
|
| #if defined(_MSC_VER) |
| #if defined(ABSL_BUILD_TEST_DLL) |
| #define ABSL_TEST_DLL __declspec(dllexport) |
| #elif defined(ABSL_CONSUME_TEST_DLL) |
| #define ABSL_TEST_DLL __declspec(dllimport) |
| #else |
| #define ABSL_TEST_DLL |
| #endif |
| #else |
| #define ABSL_TEST_DLL |
| #endif |
|
|
| |
| |
| |
| |
| #ifdef ABSL_HAVE_MEMORY_SANITIZER |
| #error "ABSL_HAVE_MEMORY_SANITIZER cannot be directly set." |
| #elif !defined(__native_client__) && ABSL_HAVE_FEATURE(memory_sanitizer) |
| #define ABSL_HAVE_MEMORY_SANITIZER 1 |
| #endif |
|
|
| |
| |
| |
| #ifdef ABSL_HAVE_THREAD_SANITIZER |
| #error "ABSL_HAVE_THREAD_SANITIZER cannot be directly set." |
| #elif defined(__SANITIZE_THREAD__) |
| #define ABSL_HAVE_THREAD_SANITIZER 1 |
| #elif ABSL_HAVE_FEATURE(thread_sanitizer) |
| #define ABSL_HAVE_THREAD_SANITIZER 1 |
| #endif |
|
|
| |
| |
| |
| #ifdef ABSL_HAVE_ADDRESS_SANITIZER |
| #error "ABSL_HAVE_ADDRESS_SANITIZER cannot be directly set." |
| #elif defined(__SANITIZE_ADDRESS__) |
| #define ABSL_HAVE_ADDRESS_SANITIZER 1 |
| #elif ABSL_HAVE_FEATURE(address_sanitizer) |
| #define ABSL_HAVE_ADDRESS_SANITIZER 1 |
| #endif |
|
|
| |
| |
| |
| |
| |
| #ifdef ABSL_HAVE_HWADDRESS_SANITIZER |
| #error "ABSL_HAVE_HWADDRESS_SANITIZER cannot be directly set." |
| #elif defined(__SANITIZE_HWADDRESS__) |
| #define ABSL_HAVE_HWADDRESS_SANITIZER 1 |
| #elif ABSL_HAVE_FEATURE(hwaddress_sanitizer) |
| #define ABSL_HAVE_HWADDRESS_SANITIZER 1 |
| #endif |
|
|
| |
| |
| |
| #ifdef ABSL_HAVE_DATAFLOW_SANITIZER |
| #error "ABSL_HAVE_DATAFLOW_SANITIZER cannot be directly set." |
| #elif defined(DATAFLOW_SANITIZER) |
| |
| |
| |
| #define ABSL_HAVE_DATAFLOW_SANITIZER 1 |
| #elif ABSL_HAVE_FEATURE(dataflow_sanitizer) |
| #define ABSL_HAVE_DATAFLOW_SANITIZER 1 |
| #endif |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #ifdef ABSL_HAVE_LEAK_SANITIZER |
| #error "ABSL_HAVE_LEAK_SANITIZER cannot be directly set." |
| #elif defined(LEAK_SANITIZER) |
| |
| |
| |
| #define ABSL_HAVE_LEAK_SANITIZER 1 |
| |
| #elif ABSL_HAVE_FEATURE(leak_sanitizer) |
| #define ABSL_HAVE_LEAK_SANITIZER 1 |
| #elif defined(ABSL_HAVE_ADDRESS_SANITIZER) |
| |
| #define ABSL_HAVE_LEAK_SANITIZER 1 |
| #endif |
|
|
| |
| |
| |
| #ifdef ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION |
| #error "ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION cannot be directly set." |
| #elif defined(__cpp_deduction_guides) |
| #define ABSL_HAVE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION 1 |
| #endif |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #if defined(ABSL_INTERNAL_CPLUSPLUS_LANG) && \ |
| ABSL_INTERNAL_CPLUSPLUS_LANG < 201703L |
| #define ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL 1 |
| #endif |
|
|
| |
| |
| #ifdef ABSL_INTERNAL_HAS_RTTI |
| #error ABSL_INTERNAL_HAS_RTTI cannot be directly set |
| #elif ABSL_HAVE_FEATURE(cxx_rtti) |
| #define ABSL_INTERNAL_HAS_RTTI 1 |
| #elif defined(__GNUC__) && defined(__GXX_RTTI) |
| #define ABSL_INTERNAL_HAS_RTTI 1 |
| #elif defined(_MSC_VER) && defined(_CPPRTTI) |
| #define ABSL_INTERNAL_HAS_RTTI 1 |
| #elif !defined(__GNUC__) && !defined(_MSC_VER) |
| |
| #define ABSL_INTERNAL_HAS_RTTI 1 |
| #endif |
|
|
| |
| |
| #ifdef ABSL_INTERNAL_HAS_CXA_DEMANGLE |
| #error ABSL_INTERNAL_HAS_CXA_DEMANGLE cannot be directly set |
| #elif defined(OS_ANDROID) && (defined(__i386__) || defined(__x86_64__)) |
| #define ABSL_INTERNAL_HAS_CXA_DEMANGLE 0 |
| #elif defined(__GNUC__) && defined(__GNUC_MINOR__) && \ |
| (__GNUC__ >= 4 || (__GNUC__ >= 3 && __GNUC_MINOR__ >= 4)) && \ |
| !defined(__mips__) |
| #define ABSL_INTERNAL_HAS_CXA_DEMANGLE 1 |
| #elif defined(__clang__) && !defined(_MSC_VER) |
| #define ABSL_INTERNAL_HAS_CXA_DEMANGLE 1 |
| #endif |
|
|
| |
| |
| |
| #ifdef ABSL_INTERNAL_HAVE_SSE |
| #error ABSL_INTERNAL_HAVE_SSE cannot be directly set |
| #elif defined(__SSE__) |
| #define ABSL_INTERNAL_HAVE_SSE 1 |
| #elif (defined(_M_X64) || (defined(_M_IX86_FP) && _M_IX86_FP >= 1)) && \ |
| !defined(_M_ARM64EC) |
| |
| |
| |
| |
| #define ABSL_INTERNAL_HAVE_SSE 1 |
| #endif |
|
|
| |
| |
| |
| #ifdef ABSL_INTERNAL_HAVE_SSE2 |
| #error ABSL_INTERNAL_HAVE_SSE2 cannot be directly set |
| #elif defined(__SSE2__) |
| #define ABSL_INTERNAL_HAVE_SSE2 1 |
| #elif (defined(_M_X64) || (defined(_M_IX86_FP) && _M_IX86_FP >= 2)) && \ |
| !defined(_M_ARM64EC) |
| |
| |
| |
| |
| #define ABSL_INTERNAL_HAVE_SSE2 1 |
| #endif |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #ifdef ABSL_INTERNAL_HAVE_SSSE3 |
| #error ABSL_INTERNAL_HAVE_SSSE3 cannot be directly set |
| #elif defined(__SSSE3__) |
| #define ABSL_INTERNAL_HAVE_SSSE3 1 |
| #endif |
|
|
| |
| |
| |
| |
| |
| |
| |
| #ifdef ABSL_INTERNAL_HAVE_ARM_NEON |
| #error ABSL_INTERNAL_HAVE_ARM_NEON cannot be directly set |
| #elif defined(__ARM_NEON) && !defined(__CUDA_ARCH__) |
| #define ABSL_INTERNAL_HAVE_ARM_NEON 1 |
| #endif |
|
|
| |
| |
| #ifdef ABSL_HAVE_CONSTANT_EVALUATED |
| #error ABSL_HAVE_CONSTANT_EVALUATED cannot be directly set |
| #endif |
| #ifdef __cpp_lib_is_constant_evaluated |
| #define ABSL_HAVE_CONSTANT_EVALUATED 1 |
| #elif ABSL_HAVE_BUILTIN(__builtin_is_constant_evaluated) |
| #define ABSL_HAVE_CONSTANT_EVALUATED 1 |
| #endif |
|
|
| |
| |
| #ifdef ABSL_INTERNAL_EMSCRIPTEN_VERSION |
| #error ABSL_INTERNAL_EMSCRIPTEN_VERSION cannot be directly set |
| #endif |
| #ifdef __EMSCRIPTEN__ |
| #include <emscripten/version.h> |
| #ifdef __EMSCRIPTEN_major__ |
| #if __EMSCRIPTEN_minor__ >= 1000 |
| #error __EMSCRIPTEN_minor__ is too big to fit in ABSL_INTERNAL_EMSCRIPTEN_VERSION |
| #endif |
| #if __EMSCRIPTEN_tiny__ >= 1000 |
| #error __EMSCRIPTEN_tiny__ is too big to fit in ABSL_INTERNAL_EMSCRIPTEN_VERSION |
| #endif |
| #define ABSL_INTERNAL_EMSCRIPTEN_VERSION \ |
| ((__EMSCRIPTEN_major__) * 1000000 + (__EMSCRIPTEN_minor__) * 1000 + \ |
| (__EMSCRIPTEN_tiny__)) |
| #endif |
| #endif |
|
|
| #endif |
|
|