Am Di., 14. März 2023 um 11:32 Uhr schrieb Jonathan Wakely via Libstdc++ <libstd...@gcc.gnu.org>: > > Tested x86_64-linux. Pushed to trunk. > > -- >8 -- > > 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 b2e4f4c33a8..fb99fe5eed7 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<!__is_duration<_Tp>::value, _Tp>::type; > > -#if __cpp_variable_templates > +#if __cplusplus >= 201703L > template<typename _Tp> > inline constexpr bool __is_duration_v = false; > template<typename _Rep, typename _Period> > -- > 2.39.2
Apologies for the late response: What about changing the test to check for __cpp_inline_variables or combining it with __cpp_variable_templates instead? Thanks, - Daniel