https://bugs.kde.org/show_bug.cgi?id=443817
--- Comment #3 from alexfa...@yahoo.com --- So I take out the code piece for libatomic detection to test directly. It compiles with no error (which is meant to fail). unmatch2 /tmp # cat test.cpp #include <atomic> std::atomic<int> x; int main() { return std::atomic_is_lock_free(&x); } unmatch2 /tmp # gcc -Wall test.cpp test.cpp: In function ‘int main()’: test.cpp:4:10: warning: unused variable ‘i’ [-Wunused-variable] 4 | uint64_t i = x.load(std::memory_order_relaxed); | ^ test.cpp:5:6: warning: unused variable ‘b’ [-Wunused-variable] 5 | bool b = x.is_lock_free(); | ^ " I found this piece works from https://github.com/WebKit/WebKit/blob/87d88025bf5a3089e68b4466a12dd1cb2584d557/Source/cmake/WebKitCompilerFlags.cmake#L282 unmatch2 /tmp # cat test2.cpp #include <atomic> int main() { std::atomic<bool> y (false); std::atomic<uint64_t> x (0); bool expected = true; bool j = y.compare_exchange_weak(expected,false); x++; return 0; } unmatch2 /tmp # gcc test2.cpp /usr/lib/gcc/riscv64-unknown-linux-gnu/11.2.0/../../../../riscv64-unknown-linux-gnu/bin/ld: /tmp/.private/root/cc45pcng.o: in function `.L0 ': test2.cpp:(.text._ZNSt6atomicIbE21compare_exchange_weakERbbSt12memory_order[_ZNSt6atomicIbE21compare_exchange_weakERbbSt12memory_order]+0xb2): undefined reference to `__atomic_compare_exchange_1' collect2: error: ld returned 1 exit status My gcc version Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/riscv64-unknown-linux-gnu/11.2.0/lto-wrapper Target: riscv64-unknown-linux-gnu Configured with: /var/tmp/portage/sys-devel/gcc-11.2.0/work/gcc-11.2.0/configure --host=riscv64-unknown-linux-gnu -- build=riscv64-unknown-linux-gnu --prefix=/usr --bindir=/usr/riscv64-unknown-linux-gnu/gcc-bin/11.2.0 --includedir=/u sr/lib/gcc/riscv64-unknown-linux-gnu/11.2.0/include --datadir=/usr/share/gcc-data/riscv64-unknown-linux-gnu/11.2.0 - -mandir=/usr/share/gcc-data/riscv64-unknown-linux-gnu/11.2.0/man --infodir=/usr/share/gcc-data/riscv64-unknown-linux -gnu/11.2.0/info --with-gxx-include-dir=/usr/lib/gcc/riscv64-unknown-linux-gnu/11.2.0/include/g++-v11 --with-python- dir=/share/gcc-data/riscv64-unknown-linux-gnu/11.2.0/python --enable-languages=c,c++,fortran --enable-obsolete --ena ble-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-except ions --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 11.2.0 p1' --disable -esp --enable-libstdcxx-time --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --dis able-multilib --disable-fixed-point --with-abi=lp64d --enable-libgomp --disable-libssp --disable-libada --disable-sy stemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --withou t-zstd --enable-lto --withou t-isl --disable-libsanitizer --enable-default-pie --enable-default-ssp Thread model: posix Supported LTO compression algorithms: zlib gcc version 11.2.0 (Gentoo 11.2.0 p1) -- You are receiving this mail because: You are watching all bug changes.