aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2025-05-07 10:44:49 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2025-05-07 10:47:45 +0100
commit83ef989ee189902ca1d434feb0f3dd50519e92cb (patch)
treea1b9cd8a62320ad528a57bd22f91d5c151e920db
parentb8c4b6aa8e0521770c6f9fd48dd13dd85e3a2fc9 (diff)
downloadgcc-83ef989ee189902ca1d434feb0f3dd50519e92cb.zip
gcc-83ef989ee189902ca1d434feb0f3dd50519e92cb.tar.gz
gcc-83ef989ee189902ca1d434feb0f3dd50519e92cb.tar.bz2
libstdc++: Remove use of undefined GLIBCXX_LANG_{PUSH,POP} [PR120147]
Commit r16-427-g86627faec10da5 was using the new GLIBCXX_LANG_PUSH and GLIBCXX_LANG_POP macros from a change that I haven't pushed yet, resulting in changes to CXXFLAGS not being restored after the GLIBCXX_ENABLE_BACKTRACE checks. libstdc++-v3/ChangeLog: PR libstdc++/120147 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Restore use of AC_LANG_CPLUSPLUS. * configure: Regenerate.
-rw-r--r--libstdc++-v3/acinclude.m46
-rwxr-xr-xlibstdc++-v3/configure20
2 files changed, 20 insertions, 6 deletions
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 0fc74d0..204bed5b 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -5290,7 +5290,8 @@ AC_DEFUN([GLIBCXX_ENABLE_BACKTRACE], [
BACKTRACE_CPPFLAGS="-D_GNU_SOURCE"
- GLIBCXX_LANG_PUSH
+ AC_LANG_CPLUSPLUS
+ old_CXXFLAGS="$CXXFLAGS"
# libbacktrace's own configure.ac only tests atomics for int,
# but the code actually uses atomics for size_t and pointers as well.
@@ -5356,7 +5357,8 @@ EOF
rm -f conftest*
fi
- GLIBCXX_LANG_POP
+ CXXFLAGS="$old_CXXFLAGS"
+ AC_LANG_RESTORE
if test "$glibcxx_cv_libbacktrace_atomics" = yes; then
BACKTRACE_CPPFLAGS="$BACKTRACE_CPPFLAGS -DHAVE_ATOMIC_FUNCTIONS=1"
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 3fd03b8..0529ff5 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -53537,7 +53537,13 @@ fi
BACKTRACE_CPPFLAGS="-D_GNU_SOURCE"
- GLIBCXX_LANG_PUSH
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ old_CXXFLAGS="$CXXFLAGS"
# libbacktrace's own configure.ac only tests atomics for int,
# but the code actually uses atomics for size_t and pointers as well.
@@ -53578,7 +53584,7 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_cxx_try_link "$LINENO"; then :
glibcxx_cv_libbacktrace_atomics=yes
else
glibcxx_cv_libbacktrace_atomics=no
@@ -53595,7 +53601,7 @@ $as_echo "$glibcxx_cv_libbacktrace_atomics" >&6; }
CXXFLAGS='-O0 -S'
cat > conftest.$ac_ext << EOF
-#line 53598 "configure"
+#line 53604 "configure"
#include <stddef.h>
int main()
{
@@ -53633,7 +53639,13 @@ $as_echo "$glibcxx_cv_libbacktrace_atomics" >&6; }
rm -f conftest*
fi
- GLIBCXX_LANG_POP
+ CXXFLAGS="$old_CXXFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
if test "$glibcxx_cv_libbacktrace_atomics" = yes; then
BACKTRACE_CPPFLAGS="$BACKTRACE_CPPFLAGS -DHAVE_ATOMIC_FUNCTIONS=1"