26 lines
1.3 KiB
Diff
26 lines
1.3 KiB
Diff
From: Andreas Pehrson <apehrson@mozilla.com>
|
|
Date: Thu, 3 Nov 2022 07:37:00 +0000
|
|
Subject: Bug 1833541 - Correctly check for std::launder support in abseil.
|
|
r=webrtc-reviewers,ng
|
|
|
|
Sent upstream at https://github.com/abseil/abseil-cpp/pull/1448
|
|
|
|
Differential Revision: https://phabricator.services.mozilla.com/D178274
|
|
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/d976369464663a9147b82c82436afcaab1f61aec
|
|
---
|
|
abseil-cpp/absl/functional/internal/any_invocable.h | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/abseil-cpp/absl/functional/internal/any_invocable.h b/abseil-cpp/absl/functional/internal/any_invocable.h
|
|
index c2d8cd4727a..366d94c4fe1 100644
|
|
--- a/abseil-cpp/absl/functional/internal/any_invocable.h
|
|
+++ b/abseil-cpp/absl/functional/internal/any_invocable.h
|
|
@@ -205,7 +205,7 @@ union TypeErasedState {
|
|
template <class T>
|
|
T& ObjectInLocalStorage(TypeErasedState* const state) {
|
|
// We launder here because the storage may be reused with the same type.
|
|
-#if defined(__cpp_lib_launder) && __cpp_lib_launder >= 201606L
|
|
+#if ABSL_INTERNAL_CPLUSPLUS_LANG >= 201703L && __cpp_lib_launder >= 201606L
|
|
return *std::launder(reinterpret_cast<T*>(&state->storage));
|
|
#elif ABSL_HAVE_BUILTIN(__builtin_launder)
|
|
return *__builtin_launder(reinterpret_cast<T*>(&state->storage));
|