From 18f310b7d377ba5391fb3e81c10e3bba172be375 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Fri, 9 Nov 2007 15:54:33 +0000 Subject: [PATCH] re PR libstdc++/34032 (-std=c++0x causes undeclared symbols errors on cygwin) 2007-11-09 Paolo Carlini PR libstdc++/34032 * acinclude.m4 ([GLIBCXX_ENABLE_C99], [GLIBCXX_CHECK_C99_TR1]): Use -std=c++98 instead of the default -std=gnu++98. * configure: Regenerate. From-SVN: r130047 --- libstdc++-v3/ChangeLog | 7 +++++++ libstdc++-v3/acinclude.m4 | 14 ++++++++++++-- libstdc++-v3/configure | 16 +++++++++++++--- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 7abb3c2..baea4ac 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2007-11-09 Paolo Carlini + + PR libstdc++/34032 + * acinclude.m4 ([GLIBCXX_ENABLE_C99], [GLIBCXX_CHECK_C99_TR1]): + Use -std=c++98 instead of the default -std=gnu++98. + * configure: Regenerate. + 2007-11-08 Paolo Carlini * config/io/basic_file_stdio.cc (fopen_mode): Add modes missing diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index 2ca902f..b85a2a8 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -763,9 +763,13 @@ AC_DEFUN([GLIBCXX_ENABLE_C99], [ AC_LANG_SAVE AC_LANG_CPLUSPLUS - # Use -fno-exceptions so that the C driver can link these tests without - # hitting undefined references to personality routines. + # Use -std=c++98 because the default (-std=gnu++98) leaves __STRICT_ANSI__ + # undefined and fake C99 facilities - like pre-standard snprintf - may be + # spuriously enabled. + # Long term, -std=c++0x could be even better, could manage to explicitely + # request C99 facilities to the underlying C headers. ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -std=c++98" ac_save_LIBS="$LIBS" ac_save_gcc_no_link="$gcc_no_link" @@ -996,6 +1000,11 @@ AC_DEFUN([GLIBCXX_CHECK_C99_TR1], [ AC_LANG_SAVE AC_LANG_CPLUSPLUS + # Use -std=c++98 because the default (-std=gnu++98) leaves __STRICT_ANSI__ + # undefined and fake C99 facilities may be spuriously enabled. + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -std=c++98" + # Check for the existence of complex math functions used # by tr1/complex. AC_CHECK_HEADERS(complex.h, ac_has_complex_h=yes, ac_has_complex_h=no) @@ -1266,6 +1275,7 @@ AC_DEFUN([GLIBCXX_CHECK_C99_TR1], [ # Check for the existence of the header. AC_CHECK_HEADERS(stdbool.h) + CXXFLAGS="$ac_save_CXXFLAGS" AC_LANG_RESTORE ]) diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 96ca8bb..5e57fd6 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -15436,9 +15436,13 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - # Use -fno-exceptions so that the C driver can link these tests without - # hitting undefined references to personality routines. + # Use -std=c++98 because the default (-std=gnu++98) leaves __STRICT_ANSI__ + # undefined and fake C99 facilities - like pre-standard snprintf - may be + # spuriously enabled. + # Long term, -std=c++0x could be even better, could manage to explicitely + # request C99 facilities to the underlying C headers. ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -std=c++98" ac_save_LIBS="$LIBS" ac_save_gcc_no_link="$gcc_no_link" @@ -17778,7 +17782,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu # Fake what AC_TRY_COMPILE does. XXX Look at redoing this new-style. cat > conftest.$ac_ext << EOF -#line 17781 "configure" +#line 17785 "configure" int main() { // NB: _Atomic_word not necessarily int. @@ -39527,6 +39531,11 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + # Use -std=c++98 because the default (-std=gnu++98) leaves __STRICT_ANSI__ + # undefined and fake C99 facilities may be spuriously enabled. + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -std=c++98" + # Check for the existence of complex math functions used # by tr1/complex. @@ -40544,6 +40553,7 @@ fi done + CXXFLAGS="$ac_save_CXXFLAGS" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -- 2.7.4