From 4d771291f70dab571e7c18f9f5f8af4f27737244 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Thu, 9 Mar 2023 15:04:45 +0000 Subject: [PATCH] libstdc++: Fix preprocessor condition for inline variables Although variable templates are valid in C++14, inline ones aren't. These are only used in C++17 (or later) code, so they don't need to be defined for C++14. libstdc++-v3/ChangeLog: * include/bits/chrono.h (__is_duration_v, __is_time_point_v): Only define for C++17 and later. --- libstdc++-v3/include/bits/chrono.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libstdc++-v3/include/bits/chrono.h b/libstdc++-v3/include/bits/chrono.h index b2e4f4c..fb99fe5 100644 --- a/libstdc++-v3/include/bits/chrono.h +++ b/libstdc++-v3/include/bits/chrono.h @@ -244,7 +244,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using __disable_if_is_duration = typename enable_if::value, _Tp>::type; -#if __cpp_variable_templates +#if __cplusplus >= 201703L template inline constexpr bool __is_duration_v = false; template -- 2.7.4