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.