Source code

Revision control

Copy as Markdown

Other Tools

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
---
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));