https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114103
--- Comment #11 from dave.anglin at bell dot net --- On 2024-02-29 12:44 p.m., redi at gcc dot gnu.org wrote: > 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 { Now we get: libtool: compile: /home/dave/gnu/gcc/objdir64/./gcc/xgcc -shared-libgcc -B/home/dave/gnu/gcc/objdir64/./gcc -nostdinc++ -L/home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3/src -L/home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3/src/.libs -L/home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3/libsupc++/.libs -B/opt/gnu64/gcc/gcc-14/hppa64-hp-hpux11.11/bin/ -B/opt/gnu64/gcc/gcc-14/hppa64-hp-hpux11.11/lib/ -isystem /opt/gnu64/gcc/gcc-14/hppa64-hp-hpux11.11/include -isystem /opt/gnu64/gcc/gcc-14/hppa64-hp-hpux11.11/sys-include -fno-checking -I/home/dave/gnu/gcc/gcc/libstdc++-v3/../libgcc -I/home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3/include/hppa64-hp-hpux11.11 -I/home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3/include -I/home/dave/gnu/gcc/gcc/libstdc++-v3/libsupc++ -std=gnu++20 -D_GLIBCXX_SHARED -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=2 -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=tzdb.lo -fimplicit-templates -O2 -g -I. -c ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc -DPIC -D_GLIBCXX_SHARED -o tzdb.o ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc: In member function 'std::chrono::sys_info std::chrono::time_zone::_M_get_sys_info(std::chrono::sys_seconds) const': ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc:781:30: error: 'struct std::chrono::time_zone::_Impl' has no member named 'rules_counter'; did you mean 'RulesCounter'? 781 | lock_guard lock(_M_impl->rules_counter); | ^~~~~~~~~~~~~ | RulesCounter ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc:971:18: error: 'struct std::chrono::time_zone::_Impl' has no member named 'rules_counter'; did you mean 'RulesCounter'? 971 | _M_impl->rules_counter.decrement(); | ^~~~~~~~~~~~~ | RulesCounter ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc: In function 'const std::chrono::tzdb& std::chrono::reload_tzdb()': ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc:1490:24: error: 'struct std::chrono::time_zone::_Impl' has no member named 'rules_counter'; did you mean 'RulesCounter'? 1490 | impl.rules_counter.increment(); | ^~~~~~~~~~~~~ | RulesCounter