https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114103
--- Comment #9 from dave.anglin at bell dot net --- On 2024-02-27 9:32 a.m., redi at gcc dot gnu.org wrote: > Patch posted: > https://gcc.gnu.org/pipermail/gcc-patches/2024-February/646619.html Caused build error: 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/li bstdc++-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/gnu6 4/gcc/gcc-14/hppa64-hp-hpux11.11/lib/ -isystem /opt/gnu64/gcc/gcc-14/hppa64-hp-h pux11.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:654:9: error: 'atomic_signed_lock_free' does not name a type 654 | atomic_signed_lock_free counter{0}; | ^~~~~~~~~~~~~~~~~~~~~~~ ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc:706:18: error: 'atomic_signed_lock_free' was not declared in this scope; did you mean 'atomic_is_lock_free'? 706 | RulesCounter<atomic_signed_lock_free> rules_counter; | ^~~~~~~~~~~~~~~~~~~~~~~ | atomic_is_lock_free ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc:706:41: error: template argument 1 is invalid 706 | RulesCounter<atomic_signed_lock_free> rules_counter; | ^ ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc: In member function 'void std::chrono::time_zone::_Impl::RulesCounter<_Tp>::increment()': ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc:658:11: error: 'counter' was not declared in this scope; did you mean 'count'? 658 | { counter.fetch_add(1, memory_order::relaxed); } | ^~~~~~~ | count ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc: In member function 'void std::chrono::time_zone::_Impl::RulesCounter<_Tp>::decrement()': ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc:668:17: error: 'counter' was not declared in this scope; did you mean 'count'? 668 | if (++counter == 0) | ^~~~~~~ | count ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc: In member function 'void std::chrono::time_zone::_Impl::RulesCounter<_Tp>::lock()': ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc:679:25: error: 'counter' was not declared in this scope; did you mean 'count'? 679 | for (auto c = counter.load(memory_order::relaxed); c != 0;) | ^~~~~~~ | count ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc: In member function 'void std::chrono::time_zone::_Impl::RulesCounter<_Tp>::unlock()': ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc:697:24: error: 'counter' was not declared in this scope; did you mean 'count'? 697 | if (auto c = counter.load(memory_order::relaxed); c < 0) | ^~~~~~~ | count ../../../../../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:969:32: error: request for member 'decrement' in '((const std::chrono::time_zone*)this)->std::chrono::time_zone::_M_impl.std::unique_ptr<std::chrono::time_zone::_Impl>::operator->()->std::chrono::time_zone::_Impl::rules_counter', which is of non-class type 'int' 969 | _M_impl->rules_counter.decrement(); | ^~~~~~~~~ ../../../../../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:1488:38: error: request for member 'increment' in 'impl.std::chrono::time_zone::_Impl::rules_counter', which is of non-class type 'int' 1488 | impl.rules_counter.increment(); | ^~~~~~~~~ In file included from /home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3/include/bits/atomic_wait.h:51, from /home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3/include/bits/atomic_base.h:42, from /home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3/include/atomic:50, from ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc:35: /home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3/include/bits/std_mutex.h: In instantiation of 'std::lock_guard<_Mutex>::lock_guard(mutex_type&) [with _Mutex = int; mutex_type = int]': ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc:779:43: required from here ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc:1488:38: error: 779 | lock_guard lock(_M_impl->rules_counter); ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc:1488:38: error: | ^ /home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3/include/bits/std_mutex.h:250:19: error: request for member 'lock' in '((std::lock_guard<int>*)this)->std::lock_guard<int>::_M_device', which is of non-class type 'std::lock_guard<int>::mutex_type' {aka 'int'} 250 | { _M_device.lock(); } | ~~~~~~~~~~^~~~ /home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3/include/bits/std_mutex.h: In instantiation of 'std::lock_guard<_Mutex>::~lock_guard() [with _Mutex = int]': ../../../../../gcc/libstdc++-v3/src/c++20/tzdb.cc:779:43: required from here /home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3/include/bits/std_mutex.h:250:19: error: 779 | lock_guard lock(_M_impl->rules_counter); /home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3/include/bits/std_mutex.h:250:19: error: | ^ /home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/libstdc++-v3/include/bits/std_mutex.h:257:19: error: request for member 'unlock' in '((std::lock_guard<int>*)this)->std::lock_guard<int>::_M_device', which is of non-class type 'std::lock_guard<int>::mutex_type' {aka 'int'} 257 | { _M_device.unlock(); } | ~~~~~~~~~~^~~~~~ make[6]: *** [Makefile:754: tzdb.lo] Error 1