From 9eff97861b88999428d1254f95c83d94a2e95944 Mon Sep 17 00:00:00 2001 From: Derek Mauro Date: Thu, 9 Jun 2022 07:49:38 -0700 Subject: Fix C++17 constexpr storage deprecation warnings This change introduces the symbol ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL to guard redundant declarations of static constexpr data members that are needed prior to C++17. This change also introduces the symbol ABSL_INTERNAL_CPLUSPLUS_LANG, which is supposed to be set to the same value as __cplusplus, except it uses _MSVC_LANG on MSVC so that the value is correct on MSVC. Neither of these new symbols should be used outside of Abseil. Fixes #1191 PiperOrigin-RevId: 453923908 Change-Id: I1316c52c19fa0c168b93cced0c817e4cb7c9c862 --- absl/base/internal/cycleclock.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'absl/base/internal/cycleclock.cc') diff --git a/absl/base/internal/cycleclock.cc b/absl/base/internal/cycleclock.cc index f6e64242..902e3f5e 100644 --- a/absl/base/internal/cycleclock.cc +++ b/absl/base/internal/cycleclock.cc @@ -26,6 +26,7 @@ #include // NOLINT(build/c++11) #include "absl/base/attributes.h" +#include "absl/base/config.h" #include "absl/base/internal/unscaledcycleclock.h" namespace absl { @@ -34,8 +35,10 @@ namespace base_internal { #if ABSL_USE_UNSCALED_CYCLECLOCK +#ifdef ABSL_INTERNAL_NEED_REDUNDANT_CONSTEXPR_DECL constexpr int32_t CycleClock::kShift; constexpr double CycleClock::kFrequencyScale; +#endif ABSL_CONST_INIT std::atomic CycleClock::cycle_clock_source_{nullptr}; -- cgit v1.2.3