https://gcc.gnu.org/g:4589ccbed5cad42296d4d1810b61e8dec0dadf79
commit r16-540-g4589ccbed5cad42296d4d1810b61e8dec0dadf79 Author: Thomas Schwinge <tschwi...@baylibre.com> Date: Mon May 12 10:35:11 2025 +0200 libstdc++: Rewrite atomic builtin checks: Fix up 'GLIBCXX_ENABLE_BACKTRACE' check with 'size_t' [PR119667] Fix-up for commit 86627faec10da53d7532805019e5296fcf15ac09 "libstdc++: Rewrite atomic builtin checks [PR70560]", which, for example, for x86_64-pc-linux-gnu lost '-DHAVE_ATOMIC_FUNCTIONS=1' from 'BACKTRACE_CPPFLAGS' due to: configure:53554: checking for atomic builtins for libbacktrace configure:53587: [...]/./gcc/xgcc -shared-libgcc -B[...]/./gcc -nostdinc++ -L[...]/x86_64-pc-linux-gnu/libstdc++-v3/src -L[...]/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -L[...]/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs -B/x86_64-pc-linux-gnu/bin/ -B/x86_64-pc-linux-gnu/lib/ -isystem /x86_64-pc-linux-gnu/include -isystem /x86_64-pc-linux-gnu/sys-include -o conftest -O0 conftest.cpp >&5 conftest.cpp: In function 'int main()': conftest.cpp:265:13: error: 'size_t' was not declared in this scope 265 | size_t s = 0; | ^~~~~~ conftest.cpp:1:1: note: 'size_t' is defined in header '<cstddef>'; this is probably fixable by adding '#include <cstddef>' 1 | /* confdefs.h */ conftest.cpp:273:31: error: 's' was not declared in this scope 273 | __atomic_store_n(&s, s, __ATOMIC_RELEASE); | ^ configure:53587: $? = 1 configure: failed program was: | /* confdefs.h */ [...] | int | main () | { |[...] | size_t s = 0; |[...] | // backtrace_atomic_store_size_t | __atomic_store_n(&s, s, __ATOMIC_RELEASE); |[...] | } configure:53595: result: no PR libstdc++/70560 PR libstdc++/119667 libstdc++-v3/ * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Use '__SIZE_TYPE__' instead of 'size_t'. * configure: Regenerate. Diff: --- libstdc++-v3/acinclude.m4 | 4 ++-- libstdc++-v3/configure | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index 204bed5b27be..d1ecb1ad9566 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -5304,7 +5304,7 @@ AC_DEFUN([GLIBCXX_ENABLE_BACKTRACE], [ [AC_TRY_LINK([], [ int i = 0; int* p = &i; - size_t s = 0; + __SIZE_TYPE__ s = 0; // backtrace_atomic_load_pointer void* vp = __atomic_load_n(&p, __ATOMIC_ACQUIRE); // backtrace_atomic_load_int @@ -5331,7 +5331,7 @@ int main() { int i = 0; int* p = &i; - size_t s = 0; + __SIZE_TYPE__ s = 0; // backtrace_atomic_load_pointer void* vp = __atomic_load_n(&p, __ATOMIC_ACQUIRE); // backtrace_atomic_load_int diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 0529ff5708f1..d6891e544cfe 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -53568,7 +53568,7 @@ main () int i = 0; int* p = &i; - size_t s = 0; + __SIZE_TYPE__ s = 0; // backtrace_atomic_load_pointer void* vp = __atomic_load_n(&p, __ATOMIC_ACQUIRE); // backtrace_atomic_load_int @@ -53607,7 +53607,7 @@ int main() { int i = 0; int* p = &i; - size_t s = 0; + __SIZE_TYPE__ s = 0; // backtrace_atomic_load_pointer void* vp = __atomic_load_n(&p, __ATOMIC_ACQUIRE); // backtrace_atomic_load_int