https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114103
--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> --- This additional change should fix that: --- a/libstdc++-v3/src/c++20/tzdb.cc +++ b/libstdc++-v3/src/c++20/tzdb.cc @@ -643,6 +643,7 @@ namespace std::chrono void unlock() { infos_mutex.unlock(); } }; +#if __cpp_lib_atomic_lock_free_type_aliases #if defined __GTHREADS && __cpp_lib_atomic_wait // Atomic count of unexpanded ZoneInfo objects in the infos vector. // Concurrent access is allowed when all objects have been expanded. @@ -704,6 +705,7 @@ namespace std::chrono #endif // __GTHREADS && __cpp_lib_atomic_wait RulesCounter<atomic_signed_lock_free> rules_counter; +#endif // __cpp_lib_atomic_lock_free_type_aliases #else // TZDB_DISABLED _Impl(weak_ptr<tzdb_list::_Node>) { } struct {