https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99427
--- Comment #1 from Alexander Lelyakin <alexander.lelyakin at googlemail dot
com> ---
There is a shorter sequence:
----
/usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header string_view
/usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header deque
/usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header string
/usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header fstream
/usr/local/bin/g++ -std=c++20 -fmodules-ts -x c++-system-header
condition_variable
----
In file included from /usr/local/include/c++/11.0.1/semaphore:35,
from /usr/local/include/c++/11.0.1/stop_token:37,
from /usr/local/include/c++/11.0.1/condition_variable:47:
/usr/local/include/c++/11.0.1/bits/semaphore_base.h: In instantiation of
‘struct std::__atomic_semaphore<int>’:
/usr/local/include/c++/11.0.1/bits/semaphore_base.h:292:45: required from
here
/usr/local/include/c++/11.0.1/bits/semaphore_base.h:172:23: error: non-constant
condition for static assertion
171 | static_assert(__gnu_cxx::__int_traits<_Tp>::__max
| ~~~~~
172 | <= __gnu_cxx::__int_traits<ptrdiff_t>::__max);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/c++/11.0.1/bits/semaphore_base.h:172:23: error: the value of
‘__gnu_cxx::__numeric_traits_integer<long int>::__max’ is not usable in a
constant expression
In file included from /usr/local/include/c++/11.0.1/bits/stl_algobase.h:63,
from /usr/local/include/c++/11.0.1/bits/char_traits.h:39,
from /usr/local/include/c++/11.0.1/string_view:41,
of module /usr/local/include/c++/11.0.1/string_view, imported at
/usr/local/include/c++/11.0.1/bits/basic_string.h:48,
included from /usr/local/include/c++/11.0.1/string:55,
of module /usr/local/include/c++/11.0.1/string, imported at
/usr/local/include/c++/11.0.1/stdexcept:39,
included from /usr/local/include/c++/11.0.1/system_error:41,
from /usr/local/include/c++/11.0.1/bits/std_mutex.h:39,
from /usr/local/include/c++/11.0.1/condition_variable:40:
/usr/local/include/c++/11.0.1/ext/numeric_traits.h:75:27: note:
‘__gnu_cxx::__numeric_traits_integer<long int>::__max’ was not initialized with
a constant expression
75 | static const _Value __max = __is_signed
| ^~~~~
/usr/local/include/c++/11.0.1/condition_variable: warning: not writing module
‘/usr/local/include/c++/11.0.1/condition_variable’ due to errors
----
g++ (GCC) 11.0.1 20210324 (experimental)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.