From: Andreas Pehrson 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 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(&state->storage)); #elif ABSL_HAVE_BUILTIN(__builtin_launder) return *__builtin_launder(reinterpret_cast(&state->storage));