diff options
author | Abseil Team <absl-team@google.com> | 2020-08-17 15:25:15 -0700 |
---|---|---|
committer | vslashg <gfalcon@google.com> | 2020-08-18 13:12:43 -0400 |
commit | dc969f34a79d019497abb61c2a3f79b5b4be2ea9 (patch) | |
tree | 8624fef4728784a788931518c47b3fedc3a3b527 /absl/debugging/internal/stacktrace_config.h | |
parent | d0c433455801e1c1fb6f486f0b447e22f946ab52 (diff) | |
download | abseil-dc969f34a79d019497abb61c2a3f79b5b4be2ea9.tar.gz abseil-dc969f34a79d019497abb61c2a3f79b5b4be2ea9.tar.bz2 abseil-dc969f34a79d019497abb61c2a3f79b5b4be2ea9.zip |
Export of internal Abseil changes
--
caf65de1a20b1ad286796a9eaee38f8b59e93f3b by Samuel Benzaquen <sbenza@google.com>:
Add a benchmark for StrAppend.
PiperOrigin-RevId: 327111569
--
2faa53fb3f4090f9609c7dea8951a82e1d72ce3a by Derek Mauro <dmauro@google.com>:
Add the inline namespace to the code generated by
gaussian_distribution_gentables
A previous changed manually added it to the output
PiperOrigin-RevId: 327022780
--
29edfd86e49e4d7665e843463f8df3c72467e909 by Derek Mauro <dmauro@google.com>:
Re-write the logic for detecting which stacktrace implementation to use on Linux.
The visible change is to detect the presence of the `<execinfo.h>`
header, which allows using the `backtrace`-based implementation when
it is available.
The logic has been simplified as well.
Fixes #746
PiperOrigin-RevId: 326911875
--
ce198204b77aac240e98fc8d5931b17a8b26bac3 by Abseil Team <absl-team@google.com>:
Demangle exception spec.
PiperOrigin-RevId: 326909460
--
c41b89954545bdc4430d10e785d3ba64a55122d5 by Abseil Team <absl-team@google.com>:
Add support for inheriting ctor.
PiperOrigin-RevId: 326904919
GitOrigin-RevId: caf65de1a20b1ad286796a9eaee38f8b59e93f3b
Change-Id: Ifd28b6a85a032839cbeafd1b16f88046dfd6c1d4
Diffstat (limited to 'absl/debugging/internal/stacktrace_config.h')
-rw-r--r-- | absl/debugging/internal/stacktrace_config.h | 52 |
1 files changed, 25 insertions, 27 deletions
diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h index d5cc1740..90af8528 100644 --- a/absl/debugging/internal/stacktrace_config.h +++ b/absl/debugging/internal/stacktrace_config.h @@ -44,48 +44,46 @@ !(TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_9_0) #define ABSL_STACKTRACE_INL_HEADER \ "absl/debugging/internal/stacktrace_generic-inl.inc" -#else -#define ABSL_STACKTRACE_INL_HEADER \ - "absl/debugging/internal/stacktrace_unimplemented-inl.inc" #endif #elif defined(__linux__) && !defined(__ANDROID__) -#if !defined(NO_FRAME_POINTER) -# if defined(__i386__) || defined(__x86_64__) -#define ABSL_STACKTRACE_INL_HEADER \ - "absl/debugging/internal/stacktrace_x86-inl.inc" -# elif defined(__ppc__) || defined(__PPC__) +#if defined(NO_FRAME_POINTER) && \ + (defined(__i386__) || defined(__x86_64__) || defined(__aarch64__)) +// Note: The libunwind-based implementation is not available to open-source +// users. #define ABSL_STACKTRACE_INL_HEADER \ - "absl/debugging/internal/stacktrace_powerpc-inl.inc" -# elif defined(__aarch64__) -#define ABSL_STACKTRACE_INL_HEADER \ - "absl/debugging/internal/stacktrace_aarch64-inl.inc" -#elif defined(__arm__) && defined(__GLIBC__) + "absl/debugging/internal/stacktrace_libunwind-inl.inc" +#define STACKTRACE_USES_LIBUNWIND 1 +#elif defined(NO_FRAME_POINTER) && defined(__has_include) +#if __has_include(<execinfo.h>) // Note: When using glibc this may require -funwind-tables to function properly. #define ABSL_STACKTRACE_INL_HEADER \ "absl/debugging/internal/stacktrace_generic-inl.inc" -# else +#endif +#elif defined(__i386__) || defined(__x86_64__) #define ABSL_STACKTRACE_INL_HEADER \ - "absl/debugging/internal/stacktrace_unimplemented-inl.inc" -# endif -#else // defined(NO_FRAME_POINTER) -# if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) + "absl/debugging/internal/stacktrace_x86-inl.inc" +#elif defined(__ppc__) || defined(__PPC__) #define ABSL_STACKTRACE_INL_HEADER \ - "absl/debugging/internal/stacktrace_generic-inl.inc" -# elif defined(__ppc__) || defined(__PPC__) + "absl/debugging/internal/stacktrace_powerpc-inl.inc" +#elif defined(__aarch64__) #define ABSL_STACKTRACE_INL_HEADER \ - "absl/debugging/internal/stacktrace_generic-inl.inc" -# else + "absl/debugging/internal/stacktrace_aarch64-inl.inc" +#elif defined(__has_include) +#if __has_include(<execinfo.h>) +// Note: When using glibc this may require -funwind-tables to function properly. #define ABSL_STACKTRACE_INL_HEADER \ - "absl/debugging/internal/stacktrace_unimplemented-inl.inc" -# endif -#endif // NO_FRAME_POINTER + "absl/debugging/internal/stacktrace_generic-inl.inc" +#endif +#endif -#else +#endif + +// Fallback to the empty implementation. +#if !defined(ABSL_STACKTRACE_INL_HEADER) #define ABSL_STACKTRACE_INL_HEADER \ "absl/debugging/internal/stacktrace_unimplemented-inl.inc" - #endif #endif // ABSL_DEBUGGING_INTERNAL_STACKTRACE_CONFIG_H_ |