Lines Matching +full:thread_sanitizer +full:- +full:macos
8 // https://www.apache.org/licenses/LICENSE-2.0
16 // -----------------------------------------------------------------------------
18 // -----------------------------------------------------------------------------
62 // _MSVC_LANG as a stand-in.
63 // https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros
67 // https://github.com/microsoft/vscode-cpptools/issues/1770
88 // Abseil long-term support (LTS) releases will define
91 // integer representing the patch-level for that release.
96 // These symbols will not be defined in non-LTS code.
98 // Abseil recommends that clients live-at-head. Therefore, if you are using
107 // live-at-head clients from the minimum version assertion.
113 // https://github.com/abseil/abseil-cpp/releases.
121 // -----------------------------------------------------------------------------
123 // -----------------------------------------------------------------------------
143 // user-provided specialization of Abseil templates. Code that violates these
186 // -----------------------------------------------------------------------------
188 // -----------------------------------------------------------------------------
212 // https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
282 // * Xcode 9.3 started disallowing `thread_local` for 32-bit iOS simulator
300 // r11 NDK - allowing for a 5 year support window on that means this option
305 // <android/ndk-version.h>. For NDK < r16, users should define these macros,
306 // e.g. `-D__NDK_MAJOR__=11 -D__NKD_MINOR__=0` for NDK r11.
308 #if __has_include(<android/ndk-version.h>)
309 #include <android/ndk-version.h>
310 #endif // __has_include(<android/ndk-version.h>)
321 // Checks whether the __int128 compiler extension for a 128-bit integral type is
328 // 128-bit support only on LP64 architectures, but Windows is LLP64.
342 // nested #ifs because there is no short-circuiting in the preprocessor.
371 // http://releases.llvm.org/3.6.0/tools/clang/docs/ReleaseNotes.html#the-exceptions-macro
383 // -----------------------------------------------------------------------------
385 // -----------------------------------------------------------------------------
390 // Linux and Linux-derived __linux__
392 // Linux (non-Android) __linux__ && !__ANDROID__
393 // Darwin (macOS and iOS) __APPLE__
407 // POSIX.1-2001.
422 // functions as defined in POSIX.1-2001.
443 // POSIX.1-2001.
454 // family of functions as standardized in POSIX.1-2001.
456 // Note: While Apple provides <semaphore.h> for both iOS and macOS, it is
458 // platforms. We side-step the issue by not defining it here for Apple
469 // function as standardized in POSIX.1-2001.
482 // https://osdn.net/projects/mingw/scm/git/mingw-org-wsl/blobs/5.2-trunk/mingwrt/include/unistd.h
483 // mingw-w64 provides a no-op implementation:
484 // https://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-crt/misc/alarm.c
504 // https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html.
525 // macOS < 10.13 and iOS < 12 don't support <any>, <optional>, or <variant>
528 // https://github.com/abseil/abseil-cpp/issues/207 and
532 // llvm-project/libcxx/include/__config via the #define
535 // https://github.com/llvm/llvm-project/commit/7fb40e1569dd66292b647f4501b85517e9247953
537 // https://github.com/llvm/llvm-project/commit/0bc451e7e137c4ccadcd3377250874f641ca514a
674 // ABSL_INTERNAL_MANGLED_BACKREFERENCE is a back-reference integer representing
722 // a compiler instrumentation module and a run-time library.
736 #elif ABSL_HAVE_FEATURE(thread_sanitizer)
753 // Hardware-Assisted AddressSanitizer (or HWASAN) is even faster than asan
771 // DataFlowSanitizer (-fsanitize=dataflow), so GCC users of -fsanitize=dataflow
772 // should also use -DDATAFLOW_SANITIZER.
784 // The macro ABSL_HAVE_LEAK_SANITIZER can be used to detect at compile-time
787 // always-available run-time interface in //absl/debugging/leak_check.h for
793 // LeakSanitizer (-fsanitize=leak), so GCC users of -fsanitize=leak should also
794 // use -DLEAK_SANITIZER.
796 // Clang standalone LeakSanitizer (-fsanitize=leak)
846 // ABSL_INTERNAL_HAVE_SSE is used for compile-time detection of SSE support.
847 // See https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html for an overview of
855 // MSVC only defines _M_IX86_FP for x86 32-bit code, and _M_IX86_FP >= 1
857 // All x86-64 processors support SSE, so support can be assumed.
858 // https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros
862 // ABSL_INTERNAL_HAVE_SSE2 is used for compile-time detection of SSE2 support.
863 // See https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html for an overview of
871 // MSVC only defines _M_IX86_FP for x86 32-bit code, and _M_IX86_FP >= 2
873 // All x86-64 processors support SSE2, so support can be assumed.
874 // https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros
878 // ABSL_INTERNAL_HAVE_SSSE3 is used for compile-time detection of SSSE3 support.
879 // See https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html for an overview of
882 // MSVC does not have a mode that targets SSSE3 at compile-time. To use SSSE3
885 // runtime and fallback to a non-SSSE3 implementation when SSSE3 is unsupported
893 // ABSL_INTERNAL_HAVE_ARM_NEON is used for compile-time detection of NEON (ARM
899 // https://llvm.org/docs/CompileCudaWithLLVM.html#detecting-clang-vs-nvcc-from-code
906 // ABSL_HAVE_CONSTANT_EVALUATED is used for compile-time detection of