summaryrefslogtreecommitdiff
path: root/absl/base/internal
diff options
context:
space:
mode:
Diffstat (limited to 'absl/base/internal')
-rw-r--r--absl/base/internal/inline_variable.h30
-rw-r--r--absl/base/internal/unaligned_access.h2
2 files changed, 6 insertions, 26 deletions
diff --git a/absl/base/internal/inline_variable.h b/absl/base/internal/inline_variable.h
index a65fe893..f7bb8c56 100644
--- a/absl/base/internal/inline_variable.h
+++ b/absl/base/internal/inline_variable.h
@@ -53,24 +53,7 @@
// it will likely be a reference type).
////////////////////////////////////////////////////////////////////////////////
-// ABSL_INTERNAL_HAS_WARNING()
-//
-// If the compiler supports the `__has_warning` extension for detecting
-// warnings, then this macro is defined to be `__has_warning`.
-//
-// If the compiler does not support `__has_warning`, invocations expand to 0.
-//
-// For clang's documentation of `__has_warning`, see
-// https://clang.llvm.org/docs/LanguageExtensions.html#has-warning
-#if defined(__has_warning)
-#define ABSL_INTERNAL_HAS_WARNING __has_warning
-#else // Otherwise, be optimistic and assume the warning is not enabled.
-#define ABSL_INTERNAL_HAS_WARNING(warning) 0
-#endif // defined(__has_warning)
-
-// If the compiler supports inline variables and does not warn when used...
-#if defined(__cpp_inline_variables) && \
- !ABSL_INTERNAL_HAS_WARNING("-Wc++98-c++11-c++14-compat")
+#ifdef __cpp_inline_variables
// Clang's -Wmissing-variable-declarations option erroneously warned that
// inline constexpr objects need to be pre-declared. This has now been fixed,
@@ -83,21 +66,19 @@
// identity_t is used here so that the const and name are in the
// appropriate place for pointer types, reference types, function pointer
// types, etc..
-#if defined(__clang__) && \
- ABSL_INTERNAL_HAS_WARNING("-Wmissing-variable-declarations")
+#if defined(__clang__)
#define ABSL_INTERNAL_EXTERN_DECL(type, name) \
extern const ::absl::internal::identity_t<type> name;
#else // Otherwise, just define the macro to do nothing.
#define ABSL_INTERNAL_EXTERN_DECL(type, name)
-#endif // defined(__clang__) &&
- // ABSL_INTERNAL_HAS_WARNING("-Wmissing-variable-declarations")
+#endif // defined(__clang__)
// See above comment at top of file for details.
#define ABSL_INTERNAL_INLINE_CONSTEXPR(type, name, init) \
ABSL_INTERNAL_EXTERN_DECL(type, name) \
inline constexpr ::absl::internal::identity_t<type> name = init
-#else // Otherwise, we need to emulate inline variables...
+#else
// See above comment at top of file for details.
//
@@ -121,7 +102,6 @@
static_assert(sizeof(void (*)(decltype(name))) != 0, \
"Silence unused variable warnings.")
-#endif // defined(__cpp_inline_variables) &&
- // !ABSL_INTERNAL_HAS_WARNING("-Wc++98-c++11-c++14-compat")
+#endif // __cpp_inline_variables
#endif // ABSL_BASE_INTERNAL_INLINE_VARIABLE_EMULATION_H_
diff --git a/absl/base/internal/unaligned_access.h b/absl/base/internal/unaligned_access.h
index ea30829b..c5724362 100644
--- a/absl/base/internal/unaligned_access.h
+++ b/absl/base/internal/unaligned_access.h
@@ -142,7 +142,7 @@ inline void UnalignedStore64(void *p, uint64_t v) {
// and 32-bit values (not 64-bit); older versions either raise a fatal signal,
// do an unaligned read and rotate the words around a bit, or do the reads very
// slowly (trip through kernel mode). There's no simple #define that says just
-// “ARMv7 or higher”, so we have to filter away all ARMv5 and ARMv6
+// "ARMv7 or higher", so we have to filter away all ARMv5 and ARMv6
// sub-architectures. Newer gcc (>= 4.6) set an __ARM_FEATURE_ALIGNED #define,
// so in time, maybe we can move on to that.
//