diff options
author | Abseil Team <absl-team@google.com> | 2021-11-30 14:02:51 -0800 |
---|---|---|
committer | Andy Getz <durandal@google.com> | 2021-12-01 13:14:03 -0500 |
commit | cad715dbf375a336fcb0b2b0ef57fc2b7a1b0b4b (patch) | |
tree | 43c6ab9076b6d72f1138004a4d972db785eda143 /absl/flags | |
parent | 3e1983c5c07eb8a43ad030e770cbae023a470a04 (diff) |
Export of internal Abseil changes
--
e2a571b818faaec4185426a8cf71fd2970674423 by Matt Kulukundis <kfm@google.com>:
Fix missed use of old RTTI macro
PiperOrigin-RevId: 413239579
--
e3c15a3fe0a4e44d6e08d69ad912b2245a403bd6 by Derek Mauro <dmauro@google.com>:
Makes erase_if return the number of erased elements for compatibility
with C++20
https://en.cppreference.com/w/cpp/container/unordered_map/erase_if
This may technically be an API break, but no actual breaks were found
in Google code. Fixes to open source code should be trivial.
Closes #1065
PiperOrigin-RevId: 413204392
--
c1fb1ddbc2def3f3d177e5b80b9934bdbb7b16fc by Matt Kulukundis <kfm@google.com>:
Consolidate to a single HAS_RTTI macro
PiperOrigin-RevId: 413169336
GitOrigin-RevId: e2a571b818faaec4185426a8cf71fd2970674423
Change-Id: I74b78ebd5fc172e3f5fcbd13a58cf53f7b250ae9
Diffstat (limited to 'absl/flags')
-rw-r--r-- | absl/flags/config.h | 8 | ||||
-rw-r--r-- | absl/flags/internal/flag.cc | 2 | ||||
-rw-r--r-- | absl/flags/internal/flag.h | 2 |
3 files changed, 2 insertions, 10 deletions
diff --git a/absl/flags/config.h b/absl/flags/config.h index 5ab1f311..14c4235b 100644 --- a/absl/flags/config.h +++ b/absl/flags/config.h @@ -45,14 +45,6 @@ #define ABSL_FLAGS_STRIP_HELP ABSL_FLAGS_STRIP_NAMES #endif -// ABSL_FLAGS_INTERNAL_HAS_RTTI macro is used for selecting if we can use RTTI -// for flag type identification. -#ifdef ABSL_FLAGS_INTERNAL_HAS_RTTI -#error ABSL_FLAGS_INTERNAL_HAS_RTTI cannot be directly set -#elif !defined(__GNUC__) || defined(__GXX_RTTI) -#define ABSL_FLAGS_INTERNAL_HAS_RTTI 1 -#endif // !defined(__GNUC__) || defined(__GXX_RTTI) - // These macros represent the "source of truth" for the list of supported // built-in types. #define ABSL_FLAGS_INTERNAL_BUILTIN_TYPES(A) \ diff --git a/absl/flags/internal/flag.cc b/absl/flags/internal/flag.cc index 1515022d..7102559e 100644 --- a/absl/flags/internal/flag.cc +++ b/absl/flags/internal/flag.cc @@ -205,7 +205,7 @@ void FlagImpl::AssertValidType(FlagFastTypeId rhs_type_id, if (lhs_runtime_type_id == rhs_runtime_type_id) return; -#if defined(ABSL_FLAGS_INTERNAL_HAS_RTTI) +#ifdef ABSL_INTERNAL_HAS_RTTI if (*lhs_runtime_type_id == *rhs_runtime_type_id) return; #endif diff --git a/absl/flags/internal/flag.h b/absl/flags/internal/flag.h index 124a2f1c..2d0a7e9c 100644 --- a/absl/flags/internal/flag.h +++ b/absl/flags/internal/flag.h @@ -163,7 +163,7 @@ inline ptrdiff_t ValueOffset(FlagOpFn op) { // Returns an address of RTTI's typeid(T). template <typename T> inline const std::type_info* GenRuntimeTypeId() { -#if defined(ABSL_FLAGS_INTERNAL_HAS_RTTI) +#ifdef ABSL_INTERNAL_HAS_RTTI return &typeid(T); #else return nullptr; |