Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 434988 Details for
Bug 577238
sys-devel/gcc-4.8 and above: uclibc/90_all_302-c99-snprintf.patch needs to be updated for c++11 std.
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
90_all_302_gcc-5.3-compat-c99.patch
90_all_302-gcc-5.3-compat-c99.patch (text/plain), 55.34 KB, created by
Anthony Basile
on 2016-05-22 17:31:50 UTC
(
hide
)
Description:
90_all_302_gcc-5.3-compat-c99.patch
Filename:
MIME Type:
Creator:
Anthony Basile
Created:
2016-05-22 17:31:50 UTC
Size:
55.34 KB
patch
obsolete
>Adopted from the upstream patch found at > >Bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393 >git commit: bdb62e6a5583c7e41c438d1c29789aee41f8d519 > >X-Gentoo-bug: 577238 >X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=577238 > >Signed-off-by: Anthony G. Basile <blueness@gentoo.org> > >diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in >index d605593..f04fe1a 100644 >--- a/libstdc++-v3/config.h.in >+++ b/libstdc++-v3/config.h.in >@@ -728,6 +728,44 @@ > /* Version number of package */ > #undef VERSION > >+/* Define if C99 functions in <complex.h> should be used in <complex> for >+ C++11. Using compiler builtins for these functions requires corresponding >+ C99 library functions to be present. */ >+#undef _GLIBCXX11_USE_C99_COMPLEX >+ >+/* Define if C99 functions or macros in <math.h> should be imported in <cmath> >+ in namespace std for C++11. */ >+#undef _GLIBCXX11_USE_C99_MATH >+ >+/* Define if C99 functions or macros in <stdio.h> should be imported in >+ <cstdio> in namespace std for C++11. */ >+#undef _GLIBCXX11_USE_C99_STDIO >+ >+/* Define if C99 functions or macros in <stdlib.h> should be imported in >+ <cstdlib> in namespace std for C++11. */ >+#undef _GLIBCXX11_USE_C99_STDLIB >+ >+/* Define if C99 functions or macros in <wchar.h> should be imported in >+ <cwchar> in namespace std for C++11. */ >+#undef _GLIBCXX11_USE_C99_WCHAR >+ >+/* Define if C99 functions in <complex.h> should be used in <complex> for >+ C++98. Using compiler builtins for these functions requires corresponding >+ C99 library functions to be present. */ >+#undef _GLIBCXX98_USE_C99_COMPLEX >+ >+/* Define if C99 functions or macros in <math.h> should be imported in <cmath> >+ in namespace std for C++98. */ >+#undef _GLIBCXX98_USE_C99_MATH >+ >+/* Define if C99 functions or macros in <stdio.h> should be imported in >+ <cstdio> in namespace std for C++98. */ >+#undef _GLIBCXX98_USE_C99_STDIO >+ >+/* Define if C99 functions or macros in <wchar.h> should be imported in >+ <cwchar> in namespace std for C++98. */ >+#undef _GLIBCXX98_USE_C99_WCHAR >+ > /* Define if the compiler supports C++11 atomics. */ > #undef _GLIBCXX_ATOMIC_BUILTINS > >@@ -787,11 +825,6 @@ > <stdio.h>, and <stdlib.h> can be used or exposed. */ > #undef _GLIBCXX_USE_C99 > >-/* Define if C99 functions in <complex.h> should be used in <complex>. Using >- compiler builtins for these functions requires corresponding C99 library >- functions to be present. */ >-#undef _GLIBCXX_USE_C99_COMPLEX >- > /* Define if C99 functions in <complex.h> should be used in <tr1/complex>. > Using compiler builtins for these functions requires corresponding C99 > library functions to be present. */ >@@ -813,10 +846,6 @@ > <tr1/cinttypes> in namespace std::tr1. */ > #undef _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 > >-/* Define if C99 functions or macros in <math.h> should be imported in <cmath> >- in namespace std. */ >-#undef _GLIBCXX_USE_C99_MATH >- > /* Define if C99 functions or macros in <math.h> should be imported in > <tr1/cmath> in namespace std::tr1. */ > #undef _GLIBCXX_USE_C99_MATH_TR1 >diff --git a/libstdc++-v3/config/locale/generic/c_locale.h b/libstdc++-v3/config/locale/generic/c_locale.h >index ee3ef86..fa7629f 100644 >--- a/libstdc++-v3/config/locale/generic/c_locale.h >+++ b/libstdc++-v3/config/locale/generic/c_locale.h >@@ -70,7 +70,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > __builtin_va_list __args; > __builtin_va_start(__args, __fmt); > >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDIO > const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); > #else > const int __ret = __builtin_vsprintf(__out, __fmt, __args); >diff --git a/libstdc++-v3/config/locale/gnu/c_locale.h b/libstdc++-v3/config/locale/gnu/c_locale.h >index a1dc3d2..f8ddfeb 100644 >--- a/libstdc++-v3/config/locale/gnu/c_locale.h >+++ b/libstdc++-v3/config/locale/gnu/c_locale.h >@@ -88,7 +88,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > __builtin_va_list __args; > __builtin_va_start(__args, __fmt); > >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDIO > const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); > #else > const int __ret = __builtin_vsprintf(__out, __fmt, __args); >diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure >index 8cd4c76..90fe960 100755 >--- a/libstdc++-v3/configure >+++ b/libstdc++-v3/configure >@@ -16640,11 +16640,9 @@ 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 - like pre-standard snprintf - may be >- # spuriously enabled. >- # Long term, -std=c++0x could be even better, could manage to explicitly >- # request C99 facilities to the underlying C headers. >+ # Use -std=c++98 (instead of -std=gnu++98) because leaving __STRICT_ANSI__ >+ # undefined may cause fake C99 facilities, like pre-standard snprintf, >+ # to be spuriously enabled. > ac_save_CXXFLAGS="$CXXFLAGS" > CXXFLAGS="$CXXFLAGS -std=c++98" > ac_save_LIBS="$LIBS" >@@ -16694,26 +16692,616 @@ fi > { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5 > $as_echo "$ac_cv_lib_m_sin" >&6; } > if test "x$ac_cv_lib_m_sin" = x""yes; then : >- > LIBS="$LIBS -lm" >+else >+ >+ # Use the default compile-only tests in GCC_TRY_COMPILE_OR_LINK >+ gcc_no_link=yes >+ >+fi > >+ fi >+ >+ # Check for the existence of <math.h> functions used if C99 is enabled. >+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <math.h> for C++98" >&5 >+$as_echo_n "checking for ISO C99 support in <math.h> for C++98... " >&6; } >+ if test "${glibcxx_cv_c99_math_cxx98+set}" = set; then : >+ $as_echo_n "(cached) " >&6 > else > >- # Use the default compile-only tests in GCC_TRY_COMPILE_OR_LINK >- gcc_no_link=yes >+ if test x$gcc_no_link = xyes; then >+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext >+/* end confdefs.h. */ >+#include <math.h> >+ volatile double d1, d2; >+ volatile int i; >+int >+main () >+{ >+i = fpclassify(d1); >+ i = isfinite(d1); >+ i = isinf(d1); >+ i = isnan(d1); >+ i = isnormal(d1); >+ i = signbit(d1); >+ i = isgreater(d1, d2); >+ i = isgreaterequal(d1, d2); >+ i = isless(d1, d2); >+ i = islessequal(d1, d2); >+ i = islessgreater(d1, d2); >+ i = islessgreater(d1, d2); >+ i = isunordered(d1, d2); >+ >+ ; >+ return 0; >+} >+_ACEOF >+if ac_fn_cxx_try_compile "$LINENO"; then : >+ glibcxx_cv_c99_math_cxx98=yes >+else >+ glibcxx_cv_c99_math_cxx98=no >+fi >+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >+else >+ if test x$gcc_no_link = xyes; then >+ as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 >+fi >+cat confdefs.h - <<_ACEOF >conftest.$ac_ext >+/* end confdefs.h. */ >+#include <math.h> >+ volatile double d1, d2; >+ volatile int i; >+int >+main () >+{ >+i = fpclassify(d1); >+ i = isfinite(d1); >+ i = isinf(d1); >+ i = isnan(d1); >+ i = isnormal(d1); >+ i = signbit(d1); >+ i = isgreater(d1, d2); >+ i = isgreaterequal(d1, d2); >+ i = isless(d1, d2); >+ i = islessequal(d1, d2); >+ i = islessgreater(d1, d2); >+ i = islessgreater(d1, d2); >+ i = isunordered(d1, d2); > >+ ; >+ return 0; >+} >+_ACEOF >+if ac_fn_cxx_try_link "$LINENO"; then : >+ glibcxx_cv_c99_math_cxx98=yes >+else >+ glibcxx_cv_c99_math_cxx98=no >+fi >+rm -f core conftest.err conftest.$ac_objext \ >+ conftest$ac_exeext conftest.$ac_ext > fi > >- fi >+fi > >- # Check for the existence of <math.h> functions used if C99 is enabled. >- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <math.h>" >&5 >-$as_echo_n "checking for ISO C99 support in <math.h>... " >&6; } >- if test "${glibcxx_cv_c99_math+set}" = set; then : >+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_math_cxx98" >&5 >+$as_echo "$glibcxx_cv_c99_math_cxx98" >&6; } >+ if test x"$glibcxx_cv_c99_math_cxx98" = x"yes"; then >+ >+$as_echo "#define _GLIBCXX98_USE_C99_MATH 1" >>confdefs.h >+ >+ fi >+ >+ # Check for the existence of <complex.h> complex math functions. >+ # This is necessary even though libstdc++ uses the builtin versions >+ # of these functions, because if the builtin cannot be used, a reference >+ # to the library function is emitted. >+ for ac_header in tgmath.h >+do : >+ ac_fn_cxx_check_header_mongrel "$LINENO" "tgmath.h" "ac_cv_header_tgmath_h" "$ac_includes_default" >+if test "x$ac_cv_header_tgmath_h" = x""yes; then : >+ cat >>confdefs.h <<_ACEOF >+#define HAVE_TGMATH_H 1 >+_ACEOF >+ ac_has_tgmath_h=yes >+else >+ ac_has_tgmath_h=no >+fi >+ >+done >+ >+ for ac_header in complex.h >+do : >+ ac_fn_cxx_check_header_mongrel "$LINENO" "complex.h" "ac_cv_header_complex_h" "$ac_includes_default" >+if test "x$ac_cv_header_complex_h" = x""yes; then : >+ cat >>confdefs.h <<_ACEOF >+#define HAVE_COMPLEX_H 1 >+_ACEOF >+ ac_has_complex_h=yes >+else >+ ac_has_complex_h=no >+fi >+ >+done >+ >+ if test x"$ac_has_complex_h" = x"yes"; then >+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <complex.h> for C++98" >&5 >+$as_echo_n "checking for ISO C99 support in <complex.h> for C++98... " >&6; } >+ if test "${glibcxx_cv_c99_complex_cxx98+set}" = set; then : > $as_echo_n "(cached) " >&6 > else > >+ if test x$gcc_no_link = xyes; then >+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext >+/* end confdefs.h. */ >+#include <complex.h> >+ typedef __complex__ float float_type; >+ typedef __complex__ double double_type; >+ typedef __complex__ long double ld_type; >+ volatile float_type tmpf; >+ volatile double_type tmpd; >+ volatile ld_type tmpld; >+ volatile float f; >+ volatile double d; >+ volatile long double ld; >+int >+main () >+{ >+f = cabsf(tmpf); >+ f = cargf(tmpf); >+ tmpf = ccosf(tmpf); >+ tmpf = ccoshf(tmpf); >+ tmpf = cexpf(tmpf); >+ tmpf = clogf(tmpf); >+ tmpf = csinf(tmpf); >+ tmpf = csinhf(tmpf); >+ tmpf = csqrtf(tmpf); >+ tmpf = ctanf(tmpf); >+ tmpf = ctanhf(tmpf); >+ tmpf = cpowf(tmpf, tmpf); >+ tmpf = cprojf(tmpf); >+ d = cabs(tmpd); >+ d = carg(tmpd); >+ tmpd = ccos(tmpd); >+ tmpd = ccosh(tmpd); >+ tmpd = cexp(tmpd); >+ tmpd = clog(tmpd); >+ tmpd = csin(tmpd); >+ tmpd = csinh(tmpd); >+ tmpd = csqrt(tmpd); >+ tmpd = ctan(tmpd); >+ tmpd = ctanh(tmpd); >+ tmpd = cpow(tmpd, tmpd); >+ tmpd = cproj(tmpd); >+ ld = cabsl(tmpld); >+ ld = cargl(tmpld); >+ tmpld = ccosl(tmpld); >+ tmpld = ccoshl(tmpld); >+ tmpld = cexpl(tmpld); >+ tmpld = clogl(tmpld); >+ tmpld = csinl(tmpld); >+ tmpld = csinhl(tmpld); >+ tmpld = csqrtl(tmpld); >+ tmpld = ctanl(tmpld); >+ tmpld = ctanhl(tmpld); >+ tmpld = cpowl(tmpld, tmpld); >+ tmpld = cprojl(tmpld); >+ >+ ; >+ return 0; >+} >+_ACEOF >+if ac_fn_cxx_try_compile "$LINENO"; then : >+ glibcxx_cv_c99_complex_cxx98=yes >+else >+ glibcxx_cv_c99_complex_cxx98=no >+fi >+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >+else > if test x$gcc_no_link = xyes; then >+ as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 >+fi >+cat confdefs.h - <<_ACEOF >conftest.$ac_ext >+/* end confdefs.h. */ >+#include <complex.h> >+ typedef __complex__ float float_type; >+ typedef __complex__ double double_type; >+ typedef __complex__ long double ld_type; >+ volatile float_type tmpf; >+ volatile double_type tmpd; >+ volatile ld_type tmpld; >+ volatile float f; >+ volatile double d; >+ volatile long double ld; >+int >+main () >+{ >+f = cabsf(tmpf); >+ f = cargf(tmpf); >+ tmpf = ccosf(tmpf); >+ tmpf = ccoshf(tmpf); >+ tmpf = cexpf(tmpf); >+ tmpf = clogf(tmpf); >+ tmpf = csinf(tmpf); >+ tmpf = csinhf(tmpf); >+ tmpf = csqrtf(tmpf); >+ tmpf = ctanf(tmpf); >+ tmpf = ctanhf(tmpf); >+ tmpf = cpowf(tmpf, tmpf); >+ tmpf = cprojf(tmpf); >+ d = cabs(tmpd); >+ d = carg(tmpd); >+ tmpd = ccos(tmpd); >+ tmpd = ccosh(tmpd); >+ tmpd = cexp(tmpd); >+ tmpd = clog(tmpd); >+ tmpd = csin(tmpd); >+ tmpd = csinh(tmpd); >+ tmpd = csqrt(tmpd); >+ tmpd = ctan(tmpd); >+ tmpd = ctanh(tmpd); >+ tmpd = cpow(tmpd, tmpd); >+ tmpd = cproj(tmpd); >+ ld = cabsl(tmpld); >+ ld = cargl(tmpld); >+ tmpld = ccosl(tmpld); >+ tmpld = ccoshl(tmpld); >+ tmpld = cexpl(tmpld); >+ tmpld = clogl(tmpld); >+ tmpld = csinl(tmpld); >+ tmpld = csinhl(tmpld); >+ tmpld = csqrtl(tmpld); >+ tmpld = ctanl(tmpld); >+ tmpld = ctanhl(tmpld); >+ tmpld = cpowl(tmpld, tmpld); >+ tmpld = cprojl(tmpld); >+ >+ ; >+ return 0; >+} >+_ACEOF >+if ac_fn_cxx_try_link "$LINENO"; then : >+ glibcxx_cv_c99_complex_cxx98=yes >+else >+ glibcxx_cv_c99_complex_cxx98=no >+fi >+rm -f core conftest.err conftest.$ac_objext \ >+ conftest$ac_exeext conftest.$ac_ext >+fi >+ >+fi >+ >+ fi >+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_complex_cxx98" >&5 >+$as_echo "$glibcxx_cv_c99_complex_cxx98" >&6; } >+ if test x"$glibcxx_cv_c99_complex_cxx98" = x"yes"; then >+ >+$as_echo "#define _GLIBCXX98_USE_C99_COMPLEX 1" >>confdefs.h >+ >+ fi >+ >+ # Check for the existence in <stdio.h> of vscanf, et. al. >+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <stdio.h> for C++98" >&5 >+$as_echo_n "checking for ISO C99 support in <stdio.h> for C++98... " >&6; } >+ if test "${glibcxx_cv_c99_stdio_cxx98+set}" = set; then : >+ $as_echo_n "(cached) " >&6 >+else >+ >+ if test x$gcc_no_link = xyes; then >+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext >+/* end confdefs.h. */ >+#include <stdio.h> >+ #include <stdarg.h> >+ void foo(char* fmt, ...) >+ { >+ va_list args; va_start(args, fmt); >+ vfscanf(stderr, "%i", args); >+ vscanf("%i", args); >+ vsnprintf(fmt, 0, "%i", args); >+ vsscanf(fmt, "%i", args); >+ snprintf(fmt, 0, "%i"); >+ } >+int >+main () >+{ >+ >+ ; >+ return 0; >+} >+_ACEOF >+if ac_fn_cxx_try_compile "$LINENO"; then : >+ glibcxx_cv_c99_stdio_cxx98=yes >+else >+ glibcxx_cv_c99_stdio_cxx98=no >+fi >+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >+else >+ if test x$gcc_no_link = xyes; then >+ as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 >+fi >+cat confdefs.h - <<_ACEOF >conftest.$ac_ext >+/* end confdefs.h. */ >+#include <stdio.h> >+ #include <stdarg.h> >+ void foo(char* fmt, ...) >+ { >+ va_list args; va_start(args, fmt); >+ vfscanf(stderr, "%i", args); >+ vscanf("%i", args); >+ vsnprintf(fmt, 0, "%i", args); >+ vsscanf(fmt, "%i", args); >+ snprintf(fmt, 0, "%i"); >+ } >+int >+main () >+{ >+ >+ ; >+ return 0; >+} >+_ACEOF >+if ac_fn_cxx_try_link "$LINENO"; then : >+ glibcxx_cv_c99_stdio_cxx98=yes >+else >+ glibcxx_cv_c99_stdio_cxx98=no >+fi >+rm -f core conftest.err conftest.$ac_objext \ >+ conftest$ac_exeext conftest.$ac_ext >+fi >+ >+fi >+ >+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_stdio_cxx98" >&5 >+$as_echo "$glibcxx_cv_c99_stdio_cxx98" >&6; } >+ if test x"$glibcxx_cv_c99_stdio_cxx98" = x"yes"; then >+ >+$as_echo "#define _GLIBCXX98_USE_C99_STDIO 1" >>confdefs.h >+ >+ fi >+ >+ # Check for the existence in <wchar.h> of wcstold, etc. >+ if test x"$ac_has_wchar_h" = xyes && >+ test x"$ac_has_wctype_h" = xyes; then >+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <wchar.h> for C++98" >&5 >+$as_echo_n "checking for ISO C99 support in <wchar.h> for C++98... " >&6; } >+ if test "${glibcxx_cv_c99_wchar_cxx98+set}" = set; then : >+ $as_echo_n "(cached) " >&6 >+else >+ >+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext >+/* end confdefs.h. */ >+#include <wchar.h> >+ namespace test >+ { >+ using ::wcstold; >+ using ::wcstoll; >+ using ::wcstoull; >+ } >+ >+int >+main () >+{ >+ >+ ; >+ return 0; >+} >+_ACEOF >+if ac_fn_cxx_try_compile "$LINENO"; then : >+ glibcxx_cv_c99_wchar_cxx98=yes >+else >+ glibcxx_cv_c99_wchar_cxx98=no >+fi >+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >+ >+fi >+ >+ >+ # Checks for wide character functions that may not be present. >+ # Injection of these is wrapped with guard macros. >+ # NB: only put functions here, instead of immediately above, if >+ # absolutely necessary. >+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext >+/* end confdefs.h. */ >+#include <wchar.h> >+ namespace test { using ::vfwscanf; } >+int >+main () >+{ >+ >+ ; >+ return 0; >+} >+_ACEOF >+if ac_fn_cxx_try_compile "$LINENO"; then : >+ >+$as_echo "#define HAVE_VFWSCANF 1" >>confdefs.h >+ >+fi >+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >+ >+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext >+/* end confdefs.h. */ >+#include <wchar.h> >+ namespace test { using ::vswscanf; } >+int >+main () >+{ >+ >+ ; >+ return 0; >+} >+_ACEOF >+if ac_fn_cxx_try_compile "$LINENO"; then : >+ >+$as_echo "#define HAVE_VSWSCANF 1" >>confdefs.h >+ >+fi >+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >+ >+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext >+/* end confdefs.h. */ >+#include <wchar.h> >+ namespace test { using ::vwscanf; } >+int >+main () >+{ >+ >+ ; >+ return 0; >+} >+_ACEOF >+if ac_fn_cxx_try_compile "$LINENO"; then : >+ >+$as_echo "#define HAVE_VWSCANF 1" >>confdefs.h >+ >+fi >+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >+ >+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext >+/* end confdefs.h. */ >+#include <wchar.h> >+ namespace test { using ::wcstof; } >+int >+main () >+{ >+ >+ ; >+ return 0; >+} >+_ACEOF >+if ac_fn_cxx_try_compile "$LINENO"; then : >+ >+$as_echo "#define HAVE_WCSTOF 1" >>confdefs.h >+ >+fi >+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >+ >+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext >+/* end confdefs.h. */ >+#include <wctype.h> >+int >+main () >+{ >+wint_t t; int i = iswblank(t); >+ ; >+ return 0; >+} >+_ACEOF >+if ac_fn_cxx_try_compile "$LINENO"; then : >+ >+$as_echo "#define HAVE_ISWBLANK 1" >>confdefs.h >+ >+fi >+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext >+ >+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_wchar_cxx98" >&5 >+$as_echo "$glibcxx_cv_c99_wchar_cxx98" >&6; } >+ if test x"$glibcxx_cv_c99_wchar_cxx98" = x"yes"; then >+ >+$as_echo "#define _GLIBCXX98_USE_C99_WCHAR 1" >>confdefs.h >+ >+ fi >+ fi >+ >+ # Option parsed, now set things appropriately. >+ if test x"$glibcxx_cv_c99_math_cxx98" = x"no" || >+ test x"$glibcxx_cv_c99_complex_cxx98" = x"no" || >+ test x"$glibcxx_cv_c99_stdio_cxx98" = x"no" || >+ test x"$glibcxx_cv_c99_stdlib_cxx98" = x"no" || >+ test x"$glibcxx_cv_c99_wchar_cxx98" = x"no"; then >+ enable_c99=no; >+ else >+ >+$as_echo "#define _GLIBCXX_USE_C99 1" >>confdefs.h >+ >+ fi >+ >+ gcc_no_link="$ac_save_gcc_no_link" >+ LIBS="$ac_save_LIBS" >+ CXXFLAGS="$ac_save_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 >+ >+ >+ >+ 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 >+ >+ >+ # Use -std=c++11 and test again for C99 library feature in C++11 mode. >+ # For the reasons given above we use -std=c++11 not -std=gnu++11. >+ ac_save_CXXFLAGS="$CXXFLAGS" >+ CXXFLAGS="$CXXFLAGS -std=c++11" >+ ac_save_LIBS="$LIBS" >+ ac_save_gcc_no_link="$gcc_no_link" >+ >+ if test x$gcc_no_link != xyes; then >+ # Use -fno-exceptions to that the C driver can link these tests without >+ # hitting undefined references to personality routines. >+ CXXFLAGS="$CXXFLAGS -fno-exceptions" >+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5 >+$as_echo_n "checking for sin in -lm... " >&6; } >+if test "${ac_cv_lib_m_sin+set}" = set; then : >+ $as_echo_n "(cached) " >&6 >+else >+ ac_check_lib_save_LIBS=$LIBS >+LIBS="-lm $LIBS" >+if test x$gcc_no_link = xyes; then >+ as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5 >+fi >+cat confdefs.h - <<_ACEOF >conftest.$ac_ext >+/* end confdefs.h. */ >+ >+/* Override any GCC internal prototype to avoid an error. >+ Use char because int might match the return type of a GCC >+ builtin and then its argument prototype would still apply. */ >+#ifdef __cplusplus >+extern "C" >+#endif >+char sin (); >+int >+main () >+{ >+return sin (); >+ ; >+ return 0; >+} >+_ACEOF >+if ac_fn_cxx_try_link "$LINENO"; then : >+ ac_cv_lib_m_sin=yes >+else >+ ac_cv_lib_m_sin=no >+fi >+rm -f core conftest.err conftest.$ac_objext \ >+ conftest$ac_exeext conftest.$ac_ext >+LIBS=$ac_check_lib_save_LIBS >+fi >+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5 >+$as_echo "$ac_cv_lib_m_sin" >&6; } >+if test "x$ac_cv_lib_m_sin" = x""yes; then : >+ LIBS="$LIBS -lm" >+else >+ >+ # Use the default compile-only tests in GCC_TRY_COMPILE_OR_LINK >+ gcc_no_link=yes >+ >+fi >+ >+ fi >+ >+ # Check for the existence of <math.h> functions used if C99 is enabled. >+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <math.h> for C++11" >&5 >+$as_echo_n "checking for ISO C99 support in <math.h> for C++11... " >&6; } >+ if test "${glibcxx_cv_c99_math_cxx11+set}" = set; then : >+ $as_echo_n "(cached) " >&6 >+else >+ >+ if test x$gcc_no_link = xyes; then > cat confdefs.h - <<_ACEOF >conftest.$ac_ext > /* end confdefs.h. */ > #include <math.h> >@@ -16741,9 +17329,9 @@ i = fpclassify(d1); > } > _ACEOF > if ac_fn_cxx_try_compile "$LINENO"; then : >- glibcxx_cv_c99_math=yes >+ glibcxx_cv_c99_math_cxx11=yes > else >- glibcxx_cv_c99_math=no >+ glibcxx_cv_c99_math_cxx11=no > fi > rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext > else >@@ -16777,9 +17365,9 @@ i = fpclassify(d1); > } > _ACEOF > if ac_fn_cxx_try_link "$LINENO"; then : >- glibcxx_cv_c99_math=yes >+ glibcxx_cv_c99_math_cxx11=yes > else >- glibcxx_cv_c99_math=no >+ glibcxx_cv_c99_math_cxx11=no > fi > rm -f core conftest.err conftest.$ac_objext \ > conftest$ac_exeext conftest.$ac_ext >@@ -16787,11 +17375,11 @@ fi > > fi > >- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_math" >&5 >-$as_echo "$glibcxx_cv_c99_math" >&6; } >- if test x"$glibcxx_cv_c99_math" = x"yes"; then >+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_math_cxx11" >&5 >+$as_echo "$glibcxx_cv_c99_math_cxx11" >&6; } >+ if test x"$glibcxx_cv_c99_math_cxx11" = x"yes"; then > >-$as_echo "#define _GLIBCXX_USE_C99_MATH 1" >>confdefs.h >+$as_echo "#define _GLIBCXX11_USE_C99_MATH 1" >>confdefs.h > > fi > >@@ -16827,11 +17415,14 @@ fi > > done > >- glibcxx_cv_c99_complex=no; > if test x"$ac_has_complex_h" = x"yes"; then >- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <complex.h>" >&5 >-$as_echo_n "checking for ISO C99 support in <complex.h>... " >&6; } >- if test x$gcc_no_link = xyes; then >+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <complex.h> for C++11" >&5 >+$as_echo_n "checking for ISO C99 support in <complex.h> for C++11... " >&6; } >+ if test "${glibcxx_cv_c99_complex_cxx11+set}" = set; then : >+ $as_echo_n "(cached) " >&6 >+else >+ >+ if test x$gcc_no_link = xyes; then > cat confdefs.h - <<_ACEOF >conftest.$ac_ext > /* end confdefs.h. */ > #include <complex.h> >@@ -16892,9 +17483,9 @@ f = cabsf(tmpf); > } > _ACEOF > if ac_fn_cxx_try_compile "$LINENO"; then : >- glibcxx_cv_c99_complex=yes >+ glibcxx_cv_c99_complex_cxx11=yes > else >- glibcxx_cv_c99_complex=no >+ glibcxx_cv_c99_complex_cxx11=no > fi > rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext > else >@@ -16961,26 +17552,29 @@ f = cabsf(tmpf); > } > _ACEOF > if ac_fn_cxx_try_link "$LINENO"; then : >- glibcxx_cv_c99_complex=yes >+ glibcxx_cv_c99_complex_cxx11=yes > else >- glibcxx_cv_c99_complex=no >+ glibcxx_cv_c99_complex_cxx11=no > fi > rm -f core conftest.err conftest.$ac_objext \ > conftest$ac_exeext conftest.$ac_ext > fi >+ >+fi >+ > fi >- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_complex" >&5 >-$as_echo "$glibcxx_cv_c99_complex" >&6; } >- if test x"$glibcxx_cv_c99_complex" = x"yes"; then >+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_complex_cxx11" >&5 >+$as_echo "$glibcxx_cv_c99_complex_cxx11" >&6; } >+ if test x"$glibcxx_cv_c99_complex_cxx11" = x"yes"; then > >-$as_echo "#define _GLIBCXX_USE_C99_COMPLEX 1" >>confdefs.h >+$as_echo "#define _GLIBCXX11_USE_C99_COMPLEX 1" >>confdefs.h > > fi > > # Check for the existence in <stdio.h> of vscanf, et. al. >- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <stdio.h>" >&5 >-$as_echo_n "checking for ISO C99 support in <stdio.h>... " >&6; } >- if test "${glibcxx_cv_c99_stdio+set}" = set; then : >+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <stdio.h> for C++11" >&5 >+$as_echo_n "checking for ISO C99 support in <stdio.h> for C++11... " >&6; } >+ if test "${glibcxx_cv_c99_stdio_cxx11+set}" = set; then : > $as_echo_n "(cached) " >&6 > else > >@@ -17007,9 +17601,9 @@ main () > } > _ACEOF > if ac_fn_cxx_try_compile "$LINENO"; then : >- glibcxx_cv_c99_stdio=yes >+ glibcxx_cv_c99_stdio_cxx11=yes > else >- glibcxx_cv_c99_stdio=no >+ glibcxx_cv_c99_stdio_cxx11=no > fi > rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext > else >@@ -17038,9 +17632,9 @@ main () > } > _ACEOF > if ac_fn_cxx_try_link "$LINENO"; then : >- glibcxx_cv_c99_stdio=yes >+ glibcxx_cv_c99_stdio_cxx11=yes > else >- glibcxx_cv_c99_stdio=no >+ glibcxx_cv_c99_stdio_cxx11=no > fi > rm -f core conftest.err conftest.$ac_objext \ > conftest$ac_exeext conftest.$ac_ext >@@ -17048,13 +17642,18 @@ fi > > fi > >- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_stdio" >&5 >-$as_echo "$glibcxx_cv_c99_stdio" >&6; } >+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_stdio_cxx11" >&5 >+$as_echo "$glibcxx_cv_c99_stdio_cxx11" >&6; } >+ if test x"$glibcxx_cv_c99_stdio_cxx11" = x"yes"; then >+ >+$as_echo "#define _GLIBCXX11_USE_C99_STDIO 1" >>confdefs.h >+ >+ fi > > # Check for the existence in <stdlib.h> of lldiv_t, et. al. >- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <stdlib.h>" >&5 >-$as_echo_n "checking for ISO C99 support in <stdlib.h>... " >&6; } >- if test "${glibcxx_cv_c99_stdlib+set}" = set; then : >+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <stdlib.h> for C++11" >&5 >+$as_echo_n "checking for ISO C99 support in <stdlib.h> for C++11... " >&6; } >+ if test "${glibcxx_cv_c99_stdlib_cxx11+set}" = set; then : > $as_echo_n "(cached) " >&6 > else > >@@ -17086,9 +17685,9 @@ char* tmp; > } > _ACEOF > if ac_fn_cxx_try_compile "$LINENO"; then : >- glibcxx_cv_c99_stdlib=yes >+ glibcxx_cv_c99_stdlib_cxx11=yes > else >- glibcxx_cv_c99_stdlib=no >+ glibcxx_cv_c99_stdlib_cxx11=no > fi > rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext > else >@@ -17122,9 +17721,9 @@ char* tmp; > } > _ACEOF > if ac_fn_cxx_try_link "$LINENO"; then : >- glibcxx_cv_c99_stdlib=yes >+ glibcxx_cv_c99_stdlib_cxx11=yes > else >- glibcxx_cv_c99_stdlib=no >+ glibcxx_cv_c99_stdlib_cxx11=no > fi > rm -f core conftest.err conftest.$ac_objext \ > conftest$ac_exeext conftest.$ac_ext >@@ -17132,16 +17731,24 @@ fi > > fi > >- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_stdlib" >&5 >-$as_echo "$glibcxx_cv_c99_stdlib" >&6; } >+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_stdlib_cxx11" >&5 >+$as_echo "$glibcxx_cv_c99_stdlib_cxx11" >&6; } >+ if test x"$glibcxx_cv_c99_stdlib_cxx11" = x"yes"; then >+ >+$as_echo "#define _GLIBCXX11_USE_C99_STDLIB 1" >>confdefs.h >+ >+ fi > > # Check for the existence in <wchar.h> of wcstold, etc. >- glibcxx_cv_c99_wchar=no; > if test x"$ac_has_wchar_h" = xyes && > test x"$ac_has_wctype_h" = xyes; then >- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <wchar.h>" >&5 >-$as_echo_n "checking for ISO C99 support in <wchar.h>... " >&6; } >- cat confdefs.h - <<_ACEOF >conftest.$ac_ext >+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ISO C99 support in <wchar.h> for C++11" >&5 >+$as_echo_n "checking for ISO C99 support in <wchar.h> for C++11... " >&6; } >+ if test "${glibcxx_cv_c99_wchar_cxx11+set}" = set; then : >+ $as_echo_n "(cached) " >&6 >+else >+ >+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext > /* end confdefs.h. */ > #include <wchar.h> > namespace test >@@ -17160,12 +17767,15 @@ main () > } > _ACEOF > if ac_fn_cxx_try_compile "$LINENO"; then : >- glibcxx_cv_c99_wchar=yes >+ glibcxx_cv_c99_wchar_cxx11=yes > else >- glibcxx_cv_c99_wchar=no >+ glibcxx_cv_c99_wchar_cxx11=no > fi > rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext > >+fi >+ >+ > # Checks for wide character functions that may not be present. > # Injection of these is wrapped with guard macros. > # NB: only put functions here, instead of immediately above, if >@@ -17173,7 +17783,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext > cat confdefs.h - <<_ACEOF >conftest.$ac_ext > /* end confdefs.h. */ > #include <wchar.h> >- namespace test { using ::vfwscanf; } >+ namespace test { using ::vfwscanf; } > int > main () > { >@@ -17264,21 +17874,13 @@ $as_echo "#define HAVE_ISWBLANK 1" >>confdefs.h > fi > rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext > >- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_wchar" >&5 >-$as_echo "$glibcxx_cv_c99_wchar" >&6; } >- fi >+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_c99_wchar_cxx11" >&5 >+$as_echo "$glibcxx_cv_c99_wchar_cxx11" >&6; } >+ if test x"$glibcxx_cv_c99_wchar_cxx11" = x"yes"; then > >- # Option parsed, now set things appropriately. >- if test x"$glibcxx_cv_c99_math" = x"no" || >- test x"$glibcxx_cv_c99_complex" = x"no" || >- test x"$glibcxx_cv_c99_stdio" = x"no" || >- test x"$glibcxx_cv_c99_stdlib" = x"no" || >- test x"$glibcxx_cv_c99_wchar" = x"no"; then >- enable_c99=no; >- else >- >-$as_echo "#define _GLIBCXX_USE_C99 1" >>confdefs.h >+$as_echo "#define _GLIBCXX11_USE_C99_WCHAR 1" >>confdefs.h > >+ fi > fi > > gcc_no_link="$ac_save_gcc_no_link" >diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h >index 19222d1..2e367bc 100644 >--- a/libstdc++-v3/include/bits/basic_string.h >+++ b/libstdc++-v3/include/bits/basic_string.h >@@ -5246,7 +5246,7 @@ _GLIBCXX_END_NAMESPACE_CXX11 > _GLIBCXX_END_NAMESPACE_VERSION > } // namespace > >-#if __cplusplus >= 201103L && defined(_GLIBCXX_USE_C99) >+#if __cplusplus >= 201103L > > #include <ext/string_conversions.h> > >@@ -5255,6 +5255,7 @@ namespace std _GLIBCXX_VISIBILITY(default) > _GLIBCXX_BEGIN_NAMESPACE_VERSION > _GLIBCXX_BEGIN_NAMESPACE_CXX11 > >+#if _GLIBCXX_USE_C99_STDLIB > // 21.4 Numeric Conversions [string.conversions]. > inline int > stoi(const string& __str, size_t* __idx = 0, int __base = 10) >@@ -5293,7 +5294,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 > inline long double > stold(const string& __str, size_t* __idx = 0) > { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } >+#endif // _GLIBCXX_USE_C99_STDLIB > >+#if _GLIBCXX_USE_C99_STDIO > // NB: (v)snprintf vs sprintf. > > // DR 1261. >@@ -5357,8 +5360,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 > return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n, > "%Lf", __val); > } >+#endif // _GLIBCXX_USE_C99_STDIO > >-#ifdef _GLIBCXX_USE_WCHAR_T >+#if defined(_GLIBCXX_USE_WCHAR_T) && defined(_GLIBCXX_USE_C99_WCHAR) > inline int > stoi(const wstring& __str, size_t* __idx = 0, int __base = 10) > { return __gnu_cxx::__stoa<long, int>(&std::wcstol, "stoi", __str.c_str(), >@@ -5460,13 +5464,13 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 > L"%Lf", __val); > } > #endif // _GLIBCXX_HAVE_BROKEN_VSWPRINTF >-#endif >+#endif // _GLIBCXX_USE_WCHAR_T && _GLIBCXX_USE_C99_WCHAR > > _GLIBCXX_END_NAMESPACE_CXX11 > _GLIBCXX_END_NAMESPACE_VERSION > } // namespace > >-#endif /* C++11 && _GLIBCXX_USE_C99 ... */ >+#endif /* C++11 */ > > #if __cplusplus >= 201103L > >diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config >index ae3065f..f538273 100644 >--- a/libstdc++-v3/include/bits/c++config >+++ b/libstdc++-v3/include/bits/c++config >@@ -518,4 +518,40 @@ namespace std > #undef min > #undef max > >+// N.B. these _GLIBCXX_USE_C99_XXX macros are defined unconditionally >+// so they should be tested with #if not with #ifdef. >+#if __cplusplus >= 201103L >+# ifndef _GLIBCXX_USE_C99_MATH >+# define _GLIBCXX_USE_C99_MATH _GLIBCXX11_USE_C99_MATH >+# endif >+# ifndef _GLIBCXX_USE_C99_COMPLEX >+# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX11_USE_C99_COMPLEX >+# endif >+# ifndef _GLIBCXX_USE_C99_STDIO >+# define _GLIBCXX_USE_C99_STDIO _GLIBCXX11_USE_C99_STDIO >+# endif >+# ifndef _GLIBCXX_USE_C99_STDLIB >+# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX11_USE_C99_STDLIB >+# endif >+# ifndef _GLIBCXX_USE_C99_WCHAR >+# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX11_USE_C99_WCHAR >+# endif >+#else >+# ifndef _GLIBCXX_USE_C99_MATH >+# define _GLIBCXX_USE_C99_MATH _GLIBCXX98_USE_C99_MATH >+# endif >+# ifndef _GLIBCXX_USE_C99_COMPLEX >+# define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX98_USE_C99_COMPLEX >+# endif >+# ifndef _GLIBCXX_USE_C99_STDIO >+# define _GLIBCXX_USE_C99_STDIO _GLIBCXX98_USE_C99_STDIO >+# endif >+# ifndef _GLIBCXX_USE_C99_STDLIB >+# define _GLIBCXX_USE_C99_STDLIB _GLIBCXX98_USE_C99_STDLIB >+# endif >+# ifndef _GLIBCXX_USE_C99_WCHAR >+# define _GLIBCXX_USE_C99_WCHAR _GLIBCXX98_USE_C99_WCHAR >+# endif >+#endif >+ > // End of prewritten config; the settings discovered at configure time follow. >diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc >index bd58771..2db2d83 100644 >--- a/libstdc++-v3/include/bits/locale_facets.tcc >+++ b/libstdc++-v3/include/bits/locale_facets.tcc >@@ -959,13 +959,13 @@ _GLIBCXX_BEGIN_NAMESPACE_LDBL > } > > // The following code uses vsnprintf (or vsprintf(), when >- // _GLIBCXX_USE_C99 is not defined) to convert floating point values >- // for insertion into a stream. An optimization would be to replace >- // them with code that works directly on a wide buffer and then use >- // __pad to do the padding. It would be good to replace them anyway >- // to gain back the efficiency that C++ provides by knowing up front >- // the type of the values to insert. Also, sprintf is dangerous >- // since may lead to accidental buffer overruns. This >+ // _GLIBCXX_USE_C99_STDIO is not defined) to convert floating point >+ // values for insertion into a stream. An optimization would be to >+ // replace them with code that works directly on a wide buffer and >+ // then use __pad to do the padding. It would be good to replace >+ // them anyway to gain back the efficiency that C++ provides by >+ // knowing up front the type of the values to insert. Also, sprintf >+ // is dangerous since may lead to accidental buffer overruns. This > // implementation follows the C++ standard fairly directly as > // outlined in 22.2.2.2 [lib.locale.num.put] > template<typename _CharT, typename _OutIter> >@@ -992,7 +992,7 @@ _GLIBCXX_BEGIN_NAMESPACE_LDBL > char __fbuf[16]; > __num_base::_S_format_float(__io, __fbuf, __mod); > >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDIO > // Precision is always used except for hexfloat format. > const bool __use_prec = > (__io.flags() & ios_base::floatfield) != ios_base::floatfield; >diff --git a/libstdc++-v3/include/bits/locale_facets_nonio.tcc b/libstdc++-v3/include/bits/locale_facets_nonio.tcc >index 188d07b..892e73c 100644 >--- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc >+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc >@@ -578,7 +578,7 @@ _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 > { > const locale __loc = __io.getloc(); > const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc); >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDIO > // First try a buffer perhaps big enough. > int __cs_size = 64; > char* __cs = static_cast<char*>(__builtin_alloca(__cs_size)); >@@ -751,7 +751,7 @@ _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 > case 'S': > // Seconds. [tm_sec] > // [00, 60] in C99 (one leap-second), [00, 61] in C89. >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99 > __beg = _M_extract_num(__beg, __end, __tm->tm_sec, 0, 60, 2, > #else > __beg = _M_extract_num(__beg, __end, __tm->tm_sec, 0, 61, 2, >diff --git a/libstdc++-v3/include/c_compatibility/math.h b/libstdc++-v3/include/c_compatibility/math.h >index d6acb6d..7729896 100644 >--- a/libstdc++-v3/include/c_compatibility/math.h >+++ b/libstdc++-v3/include/c_compatibility/math.h >@@ -56,7 +56,7 @@ using std::fabs; > using std::floor; > using std::fmod; > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_MATH > using std::fpclassify; > using std::isfinite; > using std::isinf; >diff --git a/libstdc++-v3/include/c_compatibility/wchar.h b/libstdc++-v3/include/c_compatibility/wchar.h >index 06b5d47..3bc12d0 100644 >--- a/libstdc++-v3/include/c_compatibility/wchar.h >+++ b/libstdc++-v3/include/c_compatibility/wchar.h >@@ -103,7 +103,7 @@ using std::wmemmove; > using std::wmemset; > using std::wcsftime; > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_WCHAR > using std::wcstold; > using std::wcstoll; > using std::wcstoull; >diff --git a/libstdc++-v3/include/c_global/cstdio b/libstdc++-v3/include/c_global/cstdio >index d1c958b..486cee9 100644 >--- a/libstdc++-v3/include/c_global/cstdio >+++ b/libstdc++-v3/include/c_global/cstdio >@@ -146,7 +146,7 @@ namespace std > using ::vsprintf; > } // namespace > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDIO > > #undef snprintf > #undef vfscanf >@@ -189,6 +189,6 @@ namespace std > using ::__gnu_cxx::vsscanf; > } // namespace std > >-#endif // _GLIBCXX_USE_C99 >+#endif // _GLIBCXX_USE_C99_STDIO > > #endif >diff --git a/libstdc++-v3/include/c_global/cstdlib b/libstdc++-v3/include/c_global/cstdlib >index 7e9bb30..a2f44fc 100644 >--- a/libstdc++-v3/include/c_global/cstdlib >+++ b/libstdc++-v3/include/c_global/cstdlib >@@ -195,7 +195,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > _GLIBCXX_END_NAMESPACE_VERSION > } // namespace > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDLIB > > #undef _Exit > #undef llabs >@@ -266,7 +266,7 @@ namespace std > using ::__gnu_cxx::strtold; > } // namespace std > >-#endif // _GLIBCXX_USE_C99 >+#endif // _GLIBCXX_USE_C99_STDLIB > > #endif // !_GLIBCXX_HOSTED > >diff --git a/libstdc++-v3/include/c_global/cwchar b/libstdc++-v3/include/c_global/cwchar >index dddb409..1571463 100644 >--- a/libstdc++-v3/include/c_global/cwchar >+++ b/libstdc++-v3/include/c_global/cwchar >@@ -232,7 +232,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > _GLIBCXX_END_NAMESPACE_VERSION > } // namespace > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_WCHAR > > #undef wcstold > #undef wcstoll >@@ -289,7 +289,7 @@ namespace std > using std::vwscanf; > #endif > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_WCHAR > using std::wcstold; > using std::wcstoll; > using std::wcstoull; >diff --git a/libstdc++-v3/include/c_std/cstdio b/libstdc++-v3/include/c_std/cstdio >index 37f01ca..b7860f9 100644 >--- a/libstdc++-v3/include/c_std/cstdio >+++ b/libstdc++-v3/include/c_std/cstdio >@@ -144,7 +144,7 @@ namespace std > using ::vsprintf; > } // namespace std > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDIO > > #undef snprintf > #undef vfscanf >diff --git a/libstdc++-v3/include/c_std/cstdlib b/libstdc++-v3/include/c_std/cstdlib >index 0bd7058..7b69884 100644 >--- a/libstdc++-v3/include/c_std/cstdlib >+++ b/libstdc++-v3/include/c_std/cstdlib >@@ -192,7 +192,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > _GLIBCXX_END_NAMESPACE_VERSION > } // namespace > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDLIB > > #undef _Exit > #undef llabs >@@ -263,7 +263,7 @@ namespace std > using ::__gnu_cxx::strtold; > } // namespace std > >-#endif // _GLIBCXX_USE_C99 >+#endif // _GLIBCXX_USE_C99_STDLIB > > #endif // !_GLIBCXX_HOSTED > >diff --git a/libstdc++-v3/include/c_std/cwchar b/libstdc++-v3/include/c_std/cwchar >index aa1b2fa..5aade7f 100644 >--- a/libstdc++-v3/include/c_std/cwchar >+++ b/libstdc++-v3/include/c_std/cwchar >@@ -228,7 +228,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > _GLIBCXX_END_NAMESPACE_VERSION > } // namespace > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_WCHAR > > #undef wcstold > #undef wcstoll >diff --git a/libstdc++-v3/include/ext/vstring.h b/libstdc++-v3/include/ext/vstring.h >index 63349dd..4a928ee 100644 >--- a/libstdc++-v3/include/ext/vstring.h >+++ b/libstdc++-v3/include/ext/vstring.h >@@ -2680,7 +2680,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > _GLIBCXX_END_NAMESPACE_VERSION > } // namespace > >-#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99)) >+#if __cplusplus >= 201103L > > #include <ext/string_conversions.h> > >@@ -2688,6 +2688,7 @@ namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) > { > _GLIBCXX_BEGIN_NAMESPACE_VERSION > >+#if _GLIBCXX_USE_C99_STDLIB > // 21.4 Numeric Conversions [string.conversions]. > inline int > stoi(const __vstring& __str, std::size_t* __idx = 0, int __base = 10) >@@ -2726,7 +2727,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > inline long double > stold(const __vstring& __str, std::size_t* __idx = 0) > { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } >+#endif // _GLIBCXX_USE_C99_STDLIB > >+#if _GLIBCXX_USE_C99_STDIO > // NB: (v)snprintf vs sprintf. > > // DR 1261. >@@ -2789,8 +2792,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > return __gnu_cxx::__to_xstring<__vstring>(&std::vsnprintf, __n, > "%Lf", __val); > } >+#endif // _GLIBCXX_USE_C99_STDIO > >-#ifdef _GLIBCXX_USE_WCHAR_T >+#if defined(_GLIBCXX_USE_WCHAR_T) && defined(_GLIBCXX_USE_C99_WCHAR) > inline int > stoi(const __wvstring& __str, std::size_t* __idx = 0, int __base = 10) > { return __gnu_cxx::__stoa<long, int>(&std::wcstol, "stoi", __str.c_str(), >@@ -2890,8 +2894,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > return __gnu_cxx::__to_xstring<__wvstring>(&std::vswprintf, __n, > L"%Lf", __val); > } >-#endif >-#endif >+#endif // _GLIBCXX_HAVE_BROKEN_VSWPRINTF >+#endif // _GLIBCXX_USE_WCHAR_T && _GLIBCXX_USE_C99_WCHAR > > _GLIBCXX_END_NAMESPACE_VERSION > } // namespace >diff --git a/libstdc++-v3/include/std/complex b/libstdc++-v3/include/std/complex >index 585683c..566129d 100644 >--- a/libstdc++-v3/include/std/complex >+++ b/libstdc++-v3/include/std/complex >@@ -992,7 +992,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > complex<_Tp> > pow(const complex<_Tp>& __x, const _Tp& __y) > { >-#ifndef _GLIBCXX_USE_C99_COMPLEX >+#if ! _GLIBCXX_USE_C99_COMPLEX > if (__x == _Tp()) > return _Tp(); > #endif >@@ -1828,7 +1828,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > arg(_Tp __x) > { > typedef typename __gnu_cxx::__promote<_Tp>::__type __type; >-#if (_GLIBCXX_USE_C99_MATH && !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC) >+#if (_GLIBCXX11_USE_C99_MATH && !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC) > return std::signbit(__x) ? __type(3.1415926535897932384626433832795029L) > : __type(); > #else >diff --git a/libstdc++-v3/include/tr1/cstdio b/libstdc++-v3/include/tr1/cstdio >index 7681823..b8fc04f 100644 >--- a/libstdc++-v3/include/tr1/cstdio >+++ b/libstdc++-v3/include/tr1/cstdio >@@ -33,7 +33,7 @@ > > #include <cstdio> > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDIO > > namespace std _GLIBCXX_VISIBILITY(default) > { >diff --git a/libstdc++-v3/include/tr1/cstdlib b/libstdc++-v3/include/tr1/cstdlib >index c3c65eb..35a9133 100644 >--- a/libstdc++-v3/include/tr1/cstdlib >+++ b/libstdc++-v3/include/tr1/cstdlib >@@ -35,7 +35,7 @@ > > #if _GLIBCXX_HOSTED > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDLIB > > namespace std _GLIBCXX_VISIBILITY(default) > { >@@ -65,7 +65,7 @@ namespace tr1 > } > } > >-#endif // _GLIBCXX_USE_C99 >+#endif // _GLIBCXX_USE_C99_STDLIB > > #endif // _GLIBCXX_HOSTED > >diff --git a/libstdc++-v3/include/tr1/cwchar b/libstdc++-v3/include/tr1/cwchar >index 10772ee..0db2262 100644 >--- a/libstdc++-v3/include/tr1/cwchar >+++ b/libstdc++-v3/include/tr1/cwchar >@@ -52,7 +52,7 @@ namespace tr1 > using std::vwscanf; > #endif > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_WCHAR > using std::wcstold; > using std::wcstoll; > using std::wcstoull; >diff --git a/libstdc++-v3/include/tr1/stdlib.h b/libstdc++-v3/include/tr1/stdlib.h >index 310c7bc..5e826d6 100644 >--- a/libstdc++-v3/include/tr1/stdlib.h >+++ b/libstdc++-v3/include/tr1/stdlib.h >@@ -33,7 +33,7 @@ > > #if _GLIBCXX_HOSTED > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDLIB > > using std::tr1::atoll; > using std::tr1::strtoll; >diff --git a/libstdc++-v3/src/c++98/locale_facets.cc b/libstdc++-v3/src/c++98/locale_facets.cc >index 071f79e..28b6f3a 100644 >--- a/libstdc++-v3/src/c++98/locale_facets.cc >+++ b/libstdc++-v3/src/c++98/locale_facets.cc >@@ -72,7 +72,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > > ios_base::fmtflags __fltfield = __flags & ios_base::floatfield; > >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDIO > // Precision is always used except for hexfloat format. > if (__fltfield != (ios_base::fixed | ios_base::scientific)) > #endif >@@ -89,7 +89,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > *__fptr++ = 'f'; > else if (__fltfield == ios_base::scientific) > *__fptr++ = (__flags & ios_base::uppercase) ? 'E' : 'e'; >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDIO > else if (__fltfield == (ios_base::fixed | ios_base::scientific)) > *__fptr++ = (__flags & ios_base::uppercase) ? 'A' : 'a'; > #endif >diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc >index 5f0a4bf..1a53c06 100644 >--- a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc >+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-terminate.cc >@@ -23,7 +23,7 @@ > #include <exception> > #include <stdlib.h> > >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDLIB > void terminate() { _Exit(0); } > > void f() noexcept >@@ -39,7 +39,7 @@ void f() noexcept > > int main() > { >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDLIB > f(); > #endif > return 0; >diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc >index ed3930a..3f8e08d 100644 >--- a/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc >+++ b/libstdc++-v3/testsuite/18_support/exception_ptr/60612-unexpected.cc >@@ -23,7 +23,7 @@ > #include <exception> > #include <stdlib.h> > >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDLIB > void unexpected() { _Exit(0); } > > void f() throw() >@@ -39,7 +39,7 @@ void f() throw() > > int main() > { >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDLIB > f(); > #endif > } >diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc >index c270d76..ea284cc 100644 >--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc >+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc >@@ -29,7 +29,7 @@ > void > test01() > { >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_WCHAR > > bool test __attribute__((unused)) = false; > using namespace std; >diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc >index 2bb7aea..fd54d57 100644 >--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc >+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc >@@ -29,7 +29,7 @@ > void > test01() > { >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_WCHAR > > bool test __attribute__((unused)) = false; > using namespace std; >diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoi.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoi.cc >index 24aceb6..8cd0ea1 100644 >--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoi.cc >+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoi.cc >@@ -29,7 +29,7 @@ > void > test01() > { >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_WCHAR > > bool test __attribute__((unused)) = false; > using namespace std; >diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stol.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stol.cc >index bc50156..9be3f39 100644 >--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stol.cc >+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stol.cc >@@ -29,7 +29,7 @@ > void > test01() > { >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_WCHAR > > bool test __attribute__((unused)) = false; > using namespace std; >diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc >index 1461adb..7d9e414 100644 >--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc >+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc >@@ -29,7 +29,7 @@ > void > test01() > { >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_WCHAR > > bool test __attribute__((unused)) = false; > using namespace std; >diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoll.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoll.cc >index cc91c24..2927da3 100644 >--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoll.cc >+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoll.cc >@@ -29,7 +29,7 @@ > void > test01() > { >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_WCHAR > > bool test __attribute__((unused)) = false; > using namespace std; >diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoul.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoul.cc >index 6c26c2b..256cee5 100644 >--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoul.cc >+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoul.cc >@@ -29,7 +29,7 @@ > void > test01() > { >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_WCHAR > > bool test __attribute__((unused)) = false; > using namespace std; >diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoull.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoull.cc >index 91b6479..e102c6a 100644 >--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoull.cc >+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoull.cc >@@ -29,7 +29,7 @@ > void > test01() > { >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_WCHAR > > bool test __attribute__((unused)) = false; > using namespace std; >diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc >index e36c30e..467bd9f 100644 >--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc >+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc >@@ -27,7 +27,7 @@ > void > test01() > { >-#ifdef _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_WCHAR > > bool test __attribute__((unused)) = true; > using namespace std; >diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/13943.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/13943.cc >index 33f8000..50c6b32 100644 >--- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/13943.cc >+++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/13943.cc >@@ -19,7 +19,7 @@ > #include <cstdlib> > #include <testsuite_hooks.h> > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDLIB > // libstdc++/13943 > void test01() > { >@@ -36,7 +36,7 @@ void test01() > > int main() > { >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDLIB > test01(); > #endif > return 0; >diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc >index 0511043..bfcbe9a 100644 >--- a/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc >+++ b/libstdc++-v3/testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc >@@ -24,10 +24,10 @@ > > void test01() > { >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDLIB > > typedef std::lldiv_t my_lldiv_t; >- >+ > #endif > } > >diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp >index 8322fac..d6f224a 100644 >--- a/libstdc++-v3/testsuite/lib/libstdc++.exp >+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp >@@ -1602,7 +1602,7 @@ proc check_v3_target_string_conversions { } { > > set f [open $src "w"] > puts $f "#include <bits/c++config.h>" >- puts $f "#if !defined(_GLIBCXX_USE_C99) || defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF)" >+ puts $f "#if !(_GLIBCXX_USE_C99_STDIO && _GLIBCXX_USE_C99_STDLIB && _GLIBCXX_USE_C99_WCHAR) || defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF)" > puts $f "# error No string conversions" > puts $f "#endif" > close $f >diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/templates.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/templates.cc >index b75fda2..ac8933c 100644 >--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/templates.cc >+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/templates.cc >@@ -23,7 +23,7 @@ > > #include <tr1/cmath> > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_MATH > #if !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC > > template<typename T> >diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc >index 0c913e0..5a9eb6c 100644 >--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc >+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc >@@ -30,7 +30,7 @@ void test01(int dummy, ...) > std::va_list ap; > va_start(ap, dummy); > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDIO > > char* s = 0; > const char* cs = 0; >diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc >index cfa748d..dfa08ef 100644 >--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc >+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/functions.cc >@@ -27,7 +27,7 @@ > > void test01() > { >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDLIB > > long long i = 0; > const char* s = 0; >diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc >index 002b6a5..1252463 100644 >--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc >+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc >@@ -27,10 +27,10 @@ > > void test01() > { >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_STDLIB > > typedef std::tr1::lldiv_t my_lldiv_t; >- >+ > #endif > } > >diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc >index b964661..c745b19 100644 >--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc >+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc >@@ -67,7 +67,7 @@ void test01(int dummy, ...) > ret3 = ret3; // Suppress unused warning. > #endif > >-#if _GLIBCXX_USE_C99 >+#if _GLIBCXX_USE_C99_WCHAR > > const wchar_t* nptr2 = 0; > wchar_t** endptr2 = 0;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 577238
:
428072
|
428080
|
428082
|
428084
|
434986
| 434988