Export of internal Abseil changes
-- 803abc2dcad8b2354c988e9bf58dac4a17683832 by Gennadiy Rozental <rogeeff@google.com>: Avoid warning when RTTI is not enabled. PiperOrigin-RevId: 294247546 -- 5a7b0b4d07d1d6e56fbb0b0ffbf4f8fcab772dbf by Derek Mauro <dmauro@google.com>: Add a public Abseil FAQ PiperOrigin-RevId: 294226960 -- 6945c4a6df7d7679711fea31aacf4fba6ac7baa1 by Gennadiy Rozental <rogeeff@google.com>: Re-enable type mismatch check, which works in all the cases including shared libraries. We will use RTTI in case when our hand written approximation of it reports a type mismatch. This way we can ensure that if a flag is defined in one shared object and referenced in another we do not report spurious errors. PiperOrigin-RevId: 293905563 GitOrigin-RevId: 803abc2dcad8b2354c988e9bf58dac4a17683832 Change-Id: I1a23776d227ed2734c2e7183323786b7a95c3cc7
This commit is contained in:
parent
d95d156716
commit
bf78e97730
9 changed files with 229 additions and 71 deletions
|
|
@ -191,21 +191,6 @@ ABSL_MUST_USE_RESULT T GetFlag(const absl::Flag<T>& flag) {
|
|||
return flag.Get();
|
||||
}
|
||||
|
||||
#ifndef NDEBUG
|
||||
// We want to validate the type mismatch between type definition and
|
||||
// declaration. The lock-free implementation does not allow us to do it,
|
||||
// so in debug builds we always use the slower implementation, which always
|
||||
// validates the type.
|
||||
|
||||
// We currently need an external linkage for built-in types because shared
|
||||
// libraries have different addresses of flags_internal::FlagOps<T> which
|
||||
// might cause log spam when checking the same flag type.
|
||||
#define ABSL_FLAGS_INTERNAL_BUILT_IN_EXPORT(T) \
|
||||
ABSL_MUST_USE_RESULT T GetFlag(const absl::Flag<T>& flag);
|
||||
ABSL_FLAGS_INTERNAL_BUILTIN_TYPES(ABSL_FLAGS_INTERNAL_BUILT_IN_EXPORT)
|
||||
#undef ABSL_FLAGS_INTERNAL_BUILT_IN_EXPORT
|
||||
#endif
|
||||
|
||||
// SetFlag()
|
||||
//
|
||||
// Sets the value of an `absl::Flag` to the value `v`. Do not construct an
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue