From 607642b6c2e4e7f7c3953c2748a7d5ac2958f78b Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Thu, 12 Oct 2000 12:45:58 +0000 Subject: [PATCH] Makefile.am: Use it. 2000-10-11 Benjamin Kosnik * libsupc++/Makefile.am: Use it. * libio/Makefile.am: Use it. * libmath/Makefile.am: Use it. * src/Makefile.am: Use it. * Makefile.am (AM_MAKEFLAGS): Remove includes. * acinclude.m4 (GLIBCPP_EXPORT_INCLUES): Move include macros here. (GLIBCPP_EXPORT_FLAGS): Move CXX flag setting here. * configure.in: Use it. * mkcheck.in (SRC_DIR): Use C_INCLUDE_DIR. * src/Makefile.am (CXXCOMPILE): Remove. * src/Makefile.in: Regenerate. * libsupc++/Makefile.am (CXXCOMPILE): Same here. * libsupc++/Makefile.in: Regenerate. * include/c_std/*: Merge with shadow. * include/c_std/bits/*: Same. From-SVN: r36851 --- libstdc++-v3/include/c_std/bits/std_cassert.h | 23 -- libstdc++-v3/include/c_std/bits/std_cctype.h | 43 +-- libstdc++-v3/include/c_std/bits/std_cerrno.h | 28 +- libstdc++-v3/include/c_std/bits/std_cfloat.h | 27 +- libstdc++-v3/include/c_std/bits/std_climits.h | 27 +- libstdc++-v3/include/c_std/bits/std_clocale.h | 30 +- libstdc++-v3/include/c_std/bits/std_cmath.h | 260 +----------------- libstdc++-v3/include/c_std/bits/std_csetjmp.h | 29 +- libstdc++-v3/include/c_std/bits/std_csignal.h | 35 +-- libstdc++-v3/include/c_std/bits/std_cstdarg.h | 22 +- libstdc++-v3/include/c_std/bits/std_cstddef.h | 38 +-- libstdc++-v3/include/c_std/bits/std_cstdio.h | 73 +---- libstdc++-v3/include/c_std/bits/std_cstdlib.h | 60 ---- libstdc++-v3/include/c_std/bits/std_cstring.h | 43 +-- libstdc++-v3/include/c_std/bits/std_ctime.h | 47 +--- libstdc++-v3/include/c_std/bits/std_cwchar.h | 103 +------ libstdc++-v3/include/c_std/bits/std_cwctype.h | 48 +--- 17 files changed, 69 insertions(+), 867 deletions(-) diff --git a/libstdc++-v3/include/c_std/bits/std_cassert.h b/libstdc++-v3/include/c_std/bits/std_cassert.h index 26c084555b3..7017de99b27 100644 --- a/libstdc++-v3/include/c_std/bits/std_cassert.h +++ b/libstdc++-v3/include/c_std/bits/std_cassert.h @@ -34,39 +34,16 @@ #ifndef _CPP_CASSERT #define _CPP_CASSERT 1 -#ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _ASSERT_NEED_C_LEGACY_ -#endif - namespace _C_legacy { extern "C" { # define _IN_C_LEGACY_ # pragma GCC system_header # include_next } - } // namespace _C_legacy - #undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - -#ifdef _ASSERT_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _ASSERT_NEED_C_LEGACY_ -#endif /* _ASSERT_NEED_C_LEGACY_ */ - #endif - - diff --git a/libstdc++-v3/include/c_std/bits/std_cctype.h b/libstdc++-v3/include/c_std/bits/std_cctype.h index ee7c140cd6d..d164d9c198e 100644 --- a/libstdc++-v3/include/c_std/bits/std_cctype.h +++ b/libstdc++-v3/include/c_std/bits/std_cctype.h @@ -33,19 +33,11 @@ #ifndef _CPP_CCTYPE #define _CPP_CCTYPE 1 -# ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _CTYPE_NEED_C_LEGACY_ -# endif - namespace _C_legacy { extern "C" { -# define _IN_C_LEGACY_ -# pragma GCC system_header -# include_next +# define _IN_C_LEGACY_ +# pragma GCC system_header +# include_next } inline int @@ -146,29 +138,8 @@ namespace std { # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - using std::isalnum; - using std::isalpha; - using std::iscntrl; - using std::isdigit; - using std::isgraph; - using std::islower; - using std::isprint; - using std::ispunct; - using std::isspace; - using std::isupper; - using std::isxdigit; - using std::tolower; - using std::toupper; - -# ifdef _CTYPE_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _CTYPE_NEED_C_LEGACY_ -# endif /* _CTYPE_NEED_C_LEGACY_ */ - -#endif /*_CPP_CCTYPE*/ +#endif + + + diff --git a/libstdc++-v3/include/c_std/bits/std_cerrno.h b/libstdc++-v3/include/c_std/bits/std_cerrno.h index 5a5a2533e94..fb7a73fe64d 100644 --- a/libstdc++-v3/include/c_std/bits/std_cerrno.h +++ b/libstdc++-v3/include/c_std/bits/std_cerrno.h @@ -33,19 +33,11 @@ #ifndef _CPP_CERRNO #define _CPP_CERRNO 1 -# ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _ERRNO_NEED_C_LEGACY_ -# endif - namespace _C_legacy { extern "C" { -# define _IN_C_LEGACY_ -# pragma GCC system_header -# include_next +# define _IN_C_LEGACY_ +# pragma GCC system_header +# include_next } // inline int& @@ -62,17 +54,5 @@ namespace std { # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - using std::errno; - -# ifdef _ERRNO_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _ERRNO_NEED_C_LEGACY_ -# endif /* _ERRNO_NEED_C_LEGACY_ */ - -#endif /*_CPP_CERRNO*/ +#endif diff --git a/libstdc++-v3/include/c_std/bits/std_cfloat.h b/libstdc++-v3/include/c_std/bits/std_cfloat.h index 6bf6db2e16e..d8885e69c44 100644 --- a/libstdc++-v3/include/c_std/bits/std_cfloat.h +++ b/libstdc++-v3/include/c_std/bits/std_cfloat.h @@ -34,36 +34,17 @@ #ifndef _CPP_CFLOAT #define _CPP_CFLOAT 1 -# ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _FLOAT_NEED_C_LEGACY_ -# endif - namespace _C_legacy { extern "C" { -# define _IN_C_LEGACY_ -# pragma GCC system_header -# include_next +# define _IN_C_LEGACY_ +# pragma GCC system_header +# include_next } } // namespace _C_legacy # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - -# ifdef _FLOAT_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _FLOAT_NEED_C_LEGACY_ -# endif /* _FLOAT_NEED_C_LEGACY_ */ - -#endif /*_CPP_CFLOAT*/ +#endif diff --git a/libstdc++-v3/include/c_std/bits/std_climits.h b/libstdc++-v3/include/c_std/bits/std_climits.h index de4a05b2959..d0db90521b0 100644 --- a/libstdc++-v3/include/c_std/bits/std_climits.h +++ b/libstdc++-v3/include/c_std/bits/std_climits.h @@ -34,36 +34,17 @@ #ifndef _CPP_CLIMITS #define _CPP_CLIMTIS 1 -# ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _LIMITS_NEED_C_LEGACY_ -# endif - namespace _C_legacy { extern "C" { -# define _IN_C_LEGACY_ -# pragma GCC system_header -# include_next +# define _IN_C_LEGACY_ +# pragma GCC system_header +# include_next } } // namespace _C_legacy # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - -# ifdef _LIMITS_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _LIMITS_NEED_C_LEGACY_ -# endif /* _LIMITS_NEED_C_LEGACY_ */ - -#endif /*_CPP_CLIMITS*/ +#endif diff --git a/libstdc++-v3/include/c_std/bits/std_clocale.h b/libstdc++-v3/include/c_std/bits/std_clocale.h index b41d284023d..86d600e262e 100644 --- a/libstdc++-v3/include/c_std/bits/std_clocale.h +++ b/libstdc++-v3/include/c_std/bits/std_clocale.h @@ -36,19 +36,11 @@ # include -# ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _LOCALE_NEED_C_LEGACY_ -#endif - namespace _C_legacy { extern "C" { -# define _IN_C_LEGACY_ -# pragma GCC system_header -# include_next +# define _IN_C_LEGACY_ +# pragma GCC system_header +# include_next } typedef lconv _CPP_lconv_capture; @@ -70,21 +62,7 @@ namespace std { # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - using std::lconv; - using std::setlocale; - using std::localeconv; - -# ifdef _LOCALE_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _LOCALE_NEED_C_LEGACY_ -# endif /* _LOCALE_NEED_C_LEGACY_ */ - -#endif /*_CPP_CLOCALE*/ +#endif diff --git a/libstdc++-v3/include/c_std/bits/std_cmath.h b/libstdc++-v3/include/c_std/bits/std_cmath.h index b0d93319648..6113417eae5 100644 --- a/libstdc++-v3/include/c_std/bits/std_cmath.h +++ b/libstdc++-v3/include/c_std/bits/std_cmath.h @@ -34,21 +34,13 @@ #ifndef _CPP_CMATH #define _CPP_CMATH 1 -# ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _MATH_NEED_C_LEGACY_ -# endif - # include namespace _C_legacy { extern "C" { -# define _IN_C_LEGACY_ -# pragma GCC system_header -# include_next +# define _IN_C_LEGACY_ +# pragma GCC system_header +# include_next } #if _GLIBCPP_HAVE_ACOSF @@ -543,6 +535,9 @@ namespace _C_legacy { inline long double _CPP_tanh_capture(long double __x) { return tanh(static_cast(__x)); } #endif + + namespace _C_shadow { } + } // namespace _C_legacy # undef abs @@ -802,252 +797,11 @@ namespace std { inline long double tanh(long double __x) { return _C_legacy::_CPP_tanh_capture(__x); } - - // From ISO/IEC 9899:1999 - inline float - absf(float __x) { return _C_legacy::_CPP_fabs_capture(__x); } - - inline float - acosf(float __x) { return _C_legacy::_CPP_acos_capture(__x); } - - inline float - asinf(float __x) { return _C_legacy::_CPP_asin_capture(__x); } - - inline float - atanf(float __x) { return _C_legacy::_CPP_atan_capture(__x); } - - inline float - atan2f(float __y, float __x) - { return _C_legacy::_CPP_atan2_capture(__y, __x); } - - inline float - ceilf(float __x) { return _C_legacy::_CPP_ceil_capture(__x); } - - inline float - cosf(float __x) { return _C_legacy::_CPP_cos_capture(__x); } - - inline float - coshf(float __x) { return _C_legacy::_CPP_cosh_capture(__x); } - - inline float - expf(float __x) { return _C_legacy::_CPP_exp_capture(__x); } - - inline float - fabsf(float __x) { return _C_legacy::_CPP_fabs_capture(__x); } - - inline float - floorf(float __x) { return _C_legacy::_CPP_floor_capture(__x); } - - inline float - fmodf(float __x, float __y) - { return _C_legacy::_CPP_fmod_capture(__x, __y); } - - inline float - frexpf(float __x, int* __exp) - { return _C_legacy::_CPP_frexp_capture(__x, __exp); } - - inline float - ldexpf(float __x, int __exp) - { return _C_legacy::_CPP_ldexp_capture(__x, __exp); } - - inline float - logf(float __x) { return _C_legacy::_CPP_log_capture(__x); } - - inline float - log10f(float __x) { return _C_legacy::_CPP_log10_capture(__x); } - - inline float - modff(float __x, float* __iptr) - { return _C_legacy::_CPP_modf_capture(__x, __iptr); } - - inline float - powf(float __x, float __y) { return _C_legacy::_CPP_pow_capture(__x, __y); } - - float - powf(float, int); - - inline float - sinf(float __x) { return _C_legacy::_CPP_sin_capture(__x); } - - inline float - sinhf(float __x) { return _C_legacy::_CPP_sinh_capture(__x); } - - inline float - sqrtf(float __x) { return _C_legacy::_CPP_sqrt_capture(__x); } - - inline float - tanf(float __x) { return _C_legacy::_CPP_tan_capture(__x); } - - inline float - tanhf(float __x) { return _C_legacy::_CPP_tanh_capture(__x); } - - // From ISO/IEC 9899:1999 - inline long double - absl(long double __x) { return _C_legacy::_CPP_fabs_capture(__x); } - - inline long double - acosl(long double __x) { return _C_legacy::_CPP_acos_capture(__x); } - - inline long double - asinl(long double __x) { return _C_legacy::_CPP_asin_capture(__x); } - - inline long double - atanl(long double __x) { return _C_legacy::_CPP_atan_capture(__x); } - - inline long double - atan2l(long double __y, long double __x) - { return _C_legacy::_CPP_atan2_capture(__y, __x); } - - inline long double - ceill(long double __x) { return _C_legacy::_CPP_ceil_capture(__x); } - - inline long double - cosl(long double __x) { return _C_legacy::_CPP_cos_capture(__x); } - - inline long double - coshl(long double __x) { return _C_legacy::_CPP_cosh_capture(__x); } - - inline long double - expl(long double __x) { return _C_legacy::_CPP_exp_capture(__x); } - - inline long double - fabsl(long double __x) { return _C_legacy::_CPP_fabs_capture(__x); } - - inline long double - floorl(long double __x) { return _C_legacy::_CPP_floor_capture(__x); } - - inline long double - fmodl(long double __x, long double __y) - { return _C_legacy::_CPP_fmod_capture(__x, __y); } - - inline long double - frexpl(long double __x, int* __exp) - { return _C_legacy::_CPP_frexp_capture(__x, __exp); } - - inline long double - ldexpl(long double __x, int __exp) - { return _C_legacy::_CPP_ldexp_capture(__x, __exp); } - - inline long double - logl(long double __x) { return _C_legacy::_CPP_log_capture(__x); } - - inline long double - log10l(long double __x) { return _C_legacy::_CPP_log10_capture(__x); } - - inline long double - modfl(long double __x, long double* __iptr) - { return _C_legacy::_CPP_modf_capture(__x, __iptr); } - - inline long double - powl(long double __x, long double __y) - { return _C_legacy::_CPP_pow_capture(__x, __y); } - - long double - powl(long double, int); - - inline long double - sinl(long double __x) { return _C_legacy::_CPP_sin_capture(__x); } - - inline long double - sinhl(long double __x) { return _C_legacy::_CPP_sinh_capture(__x); } - - inline long double - sqrtl(long double __x) { return _C_legacy::_CPP_sqrt_capture(__x); } - - inline long double - tanl(long double __x) { return _C_legacy::_CPP_tan_capture(__x); } - - inline long double - tanhl(long double __x) { return _C_legacy::_CPP_tanh_capture(__x); } } // namespace std # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - using std::abs; - using std::acos; - using std::asin; - using std::atan; - using std::atan2; - using std::cos; - using std::sin; - using std::tan; - using std::cosh; - using std::sinh; - using std::tanh; - using std::exp; - using std::frexp; - using std::ldexp; - using std::log; - using std::log10; - using std::modf; - using std::pow; - using std::sqrt; - using std::ceil; - using std::fabs; - using std::floor; - using std::fmod; - - // From ISO/IEC 9899:1999 - using std::absf; - using std::acosf; - using std::asinf; - using std::atanf; - using std::atan2f; - using std::cosf; - using std::sinf; - using std::tanf; - using std::coshf; - using std::sinhf; - using std::tanhf; - using std::expf; - using std::frexpf; - using std::ldexpf; - using std::logf; - using std::log10f; - using std::modff; - using std::powf; - using std::sqrtf; - using std::ceilf; - using std::fabsf; - using std::floorf; - using std::fmodf; - - // From ISO/IEC 9899:1999 - using std::absl; - using std::acosl; - using std::asinl; - using std::atanl; - using std::atan2l; - using std::cosl; - using std::sinl; - using std::tanl; - using std::coshl; - using std::sinhl; - using std::tanhl; - using std::expl; - using std::frexpl; - using std::ldexpl; - using std::logl; - using std::log10l; - using std::modfl; - using std::powl; - using std::sqrtl; - using std::ceill; - using std::fabsl; - using std::floorl; - using std::fmodl; - -# ifdef _MATH_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _MATH_NEED_C_LEGACY_ -# endif /* _MATH_NEED_C_LEGACY_ */ - -#endif /*_CPP_CMATH*/ +#endif diff --git a/libstdc++-v3/include/c_std/bits/std_csetjmp.h b/libstdc++-v3/include/c_std/bits/std_csetjmp.h index b32bf59e32e..21c03d519ed 100644 --- a/libstdc++-v3/include/c_std/bits/std_csetjmp.h +++ b/libstdc++-v3/include/c_std/bits/std_csetjmp.h @@ -34,19 +34,11 @@ #ifndef _CPP_CSETJMP #define _CPP_CSETJMP 1 -# ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _SETJMP_NEED_C_LEGACY_ -# endif - namespace _C_legacy { extern "C" { -# define _IN_C_LEGACY_ -# pragma GCC system_header -# include_next +# define _IN_C_LEGACY_ +# pragma GCC system_header +# include_next } inline int _CPP_setjmp_capture(jmp_buf __jb) { return setjmp(__jb); } @@ -65,20 +57,7 @@ namespace std { # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - using std::jmp_buf; - using std::longjmp; - -# ifdef _SETJMP_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _SETJMP_NEED_C_LEGACY_ -# endif /* _SETJMP_NEED_C_LEGACY_ */ - -#endif /*_CPP_CSETJUMP*/ +#endif diff --git a/libstdc++-v3/include/c_std/bits/std_csignal.h b/libstdc++-v3/include/c_std/bits/std_csignal.h index d529a152fc6..71f91260214 100644 --- a/libstdc++-v3/include/c_std/bits/std_csignal.h +++ b/libstdc++-v3/include/c_std/bits/std_csignal.h @@ -34,23 +34,15 @@ #ifndef _CPP_CSIGNAL #define _CPP_CSIGNAL 1 -# ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _SIGNAL_NEED_C_LEGACY_ -# endif - namespace _C_legacy { extern "C" { -# define _IN_C_LEGACY_ +# define _IN_C_LEGACY_ // XXX -# undef __need_sig_atomic_t -# undef __need_sigset_t +# undef __need_sig_atomic_t +# undef __need_sigset_t -# pragma GCC system_header -# include_next +# pragma GCC system_header +# include_next } } // namespace _C_legacy @@ -67,22 +59,7 @@ namespace std { # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - using std::sig_atomic_t; - - using std::raise; - using std::signal; - -# ifdef _SIGNAL_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _SIGNAL_NEED_C_LEGACY_ -# endif /* _SIGNAL_NEED_C_LEGACY_ */ - -#endif /*_CPP_CSIGNAL*/ +#endif diff --git a/libstdc++-v3/include/c_std/bits/std_cstdarg.h b/libstdc++-v3/include/c_std/bits/std_cstdarg.h index df3103a7e3f..eb1b7909e74 100644 --- a/libstdc++-v3/include/c_std/bits/std_cstdarg.h +++ b/libstdc++-v3/include/c_std/bits/std_cstdarg.h @@ -34,14 +34,6 @@ #ifndef _CPP_CSTDARG #define _CPP_CSTDARG 1 -#ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _STDARG_NEED_C_LEGACY_ -# endif - namespace _C_legacy { extern "C" { # define _IN_C_LEGACY_ @@ -58,17 +50,5 @@ namespace std { # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - using std::va_list; - -# ifdef _STDARG_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _STDARG_NEED_C_LEGACY_ -# endif /* _STDARG_NEED_C_LEGACY_ */ - -#endif /*_CPP_CSTDARG*/ +#endif diff --git a/libstdc++-v3/include/c_std/bits/std_cstddef.h b/libstdc++-v3/include/c_std/bits/std_cstddef.h index a0c1f2c0194..5ebcb61c808 100644 --- a/libstdc++-v3/include/c_std/bits/std_cstddef.h +++ b/libstdc++-v3/include/c_std/bits/std_cstddef.h @@ -34,28 +34,16 @@ #ifndef _CPP_CSTDDEF #define _CPP_CSTDDEF 1 -# ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _STDDEF_NEED_C_LEGACY_ -# endif - namespace _C_legacy { extern "C" { -# define _IN_C_LEGACY_ -# pragma GCC system_header - -//# define __need_ptrdiff_t -//# define __need_size_t -# include_next +# define _IN_C_LEGACY_ +# pragma GCC system_header +# include_next } } // namespace _C_legacy # undef ptrdiff_t # undef size_t -# undef wchar_t namespace std { using _C_legacy::ptrdiff_t; @@ -64,25 +52,7 @@ namespace std { # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - using std::ptrdiff_t; - using std::size_t; - - // 3.9.1 Fundamental Types - // p 5 - // wchar_t is a fundamental type - // using std::wchar_t; - -# ifdef _STDDEF_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _STDDEF_NEED_C_LEGACY_ -# endif /* _STDDEF_NEED_C_LEGACY_ */ - -#endif /*_CPP_CSTDDEF*/ +#endif diff --git a/libstdc++-v3/include/c_std/bits/std_cstdio.h b/libstdc++-v3/include/c_std/bits/std_cstdio.h index 2855c6f3c5d..db2761281d0 100644 --- a/libstdc++-v3/include/c_std/bits/std_cstdio.h +++ b/libstdc++-v3/include/c_std/bits/std_cstdio.h @@ -34,23 +34,15 @@ #ifndef _CPP_CSTDIO #define _CPP_CSTDIO 1 -# ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _STDIO_NEED_C_LEGACY_ -# endif - # include # include namespace _C_legacy { extern "C" { -# define _IN_C_LEGACY_ -# undef __need_FILE -# pragma GCC system_header -# include_next +# define _IN_C_LEGACY_ +# undef __need_FILE +# pragma GCC system_header +# include_next } typedef FILE _CPP_FILE_capture; @@ -287,60 +279,5 @@ namespace std { # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - using std::FILE; - using std::fpos_t; - - using std::remove; - using std::rename; - using std::tmpfile; - using std::tmpnam; - using std::fclose; - using std::fflush; - using std::fopen; - using std::freopen; - using std::setbuf; - using std::setvbuf; - using std::fprintf; - using std::fscanf; - using std::printf; - using std::scanf; - using std::sprintf; - using std::sscanf; - using std::vfprintf; - using std::vprintf; - using std::vsprintf; - using std::fgetc; - using std::fgets; - using std::fputc; - using std::fputs; - using std::getc; - using std::getchar; - using std::gets; - using std::putc; - using std::putchar; - using std::puts; - using std::ungetc; - using std::fread; - using std::fwrite; - using std::fgetpos; - using std::fseek; - using std::fsetpos; - using std::ftell; - using std::rewind; - using std::clearerr; - using std::feof; - using std::ferror; - using std::perror; - -# ifdef _STDIO_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _STDIO_NEED_C_LEGACY_ -# endif /* _STDIO_NEED_C_LEGACY_ */ - -#endif /*_CPP_CSTDIO*/ +#endif diff --git a/libstdc++-v3/include/c_std/bits/std_cstdlib.h b/libstdc++-v3/include/c_std/bits/std_cstdlib.h index 108eb61bb54..44a316ec40f 100644 --- a/libstdc++-v3/include/c_std/bits/std_cstdlib.h +++ b/libstdc++-v3/include/c_std/bits/std_cstdlib.h @@ -38,14 +38,6 @@ #ifndef _CPP_CSTDLIB #define _CPP_CSTDLIB 1 -# ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _STDLIB_NEED_C_LEGACY_ -# endif - # include # include @@ -194,58 +186,6 @@ namespace std { # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - using std::div_t; - using std::ldiv_t; -#ifdef _GLIBCPP_USE_LONG_LONG - using std::lldiv_t; #endif - using std::abort; - using std::abs; - using std::atexit; - using std::atof; - using std::atoi; - using std::atol; - using std::bsearch; - using std::calloc; - using std::div; - using std::exit; - using std::free; - using std::getenv; - using std::labs; - using std::ldiv; - using std::malloc; - using std::mblen; - using std::mbstowcs; - using std::mbtowc; - using std::qsort; - using std::rand; - using std::realloc; - using std::srand; - using std::strtod; - using std::strtol; - using std::strtoul; - using std::system; - using std::wcstombs; - using std::wctomb; - -#ifdef _GLIBCPP_USE_LONG_LONG - using std::strtoll; - using std::strtoull; - using std::strtof; - using std::strtold; -#endif - -# ifdef _STDLIB_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _STDLIB_NEED_C_LEGACY_ -# endif /* _STDLIB_NEED_C_LEGACY_ */ - -#endif /*_CPP_CSTDLIB*/ - diff --git a/libstdc++-v3/include/c_std/bits/std_cstring.h b/libstdc++-v3/include/c_std/bits/std_cstring.h index d5f98a49e6f..38b9e6b617d 100644 --- a/libstdc++-v3/include/c_std/bits/std_cstring.h +++ b/libstdc++-v3/include/c_std/bits/std_cstring.h @@ -34,14 +34,6 @@ #ifndef _CPP_CSTRING #define _CPP_CSTRING 1 -# ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _STRING_NEED_C_LEGACY_ -# endif - # if defined __GLIBC__ && __GLIBC__ >= 2 // We must not see the optimized string functions GNU libc defines. # define __NO_STRING_INLINES @@ -283,38 +275,5 @@ namespace std { # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - using std::memcpy; - using std::memmove; - using std::strcpy; - using std::strncpy; - using std::strcat; - using std::strncat; - using std::memcmp; - using std::strcmp; - using std::strcoll; - using std::strncmp; - using std::strxfrm; - using std::memchr; - using std::strchr; - using std::strcspn; - using std::strpbrk; - using std::strrchr; - using std::strspn; - using std::strstr; - using std::strtok; - using std::memset; - using std::strerror; - using std::strlen; - -# ifdef _STRING_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _STRING_NEED_C_LEGACY_ -# endif /* _STRING_NEED_C_LEGACY_ */ - -#endif /*_CPP_CSTRING*/ +#endif diff --git a/libstdc++-v3/include/c_std/bits/std_ctime.h b/libstdc++-v3/include/c_std/bits/std_ctime.h index fdcf5ae2657..44709f0238f 100644 --- a/libstdc++-v3/include/c_std/bits/std_ctime.h +++ b/libstdc++-v3/include/c_std/bits/std_ctime.h @@ -34,28 +34,20 @@ #ifndef _CPP_CTIME #define _CPP_CTIME 1 -# ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _TIME_NEED_C_LEGACY_ -# endif - # include namespace _C_legacy { extern "C" { -# define _IN_C_LEGACY_ -# pragma GCC system_header +# define _IN_C_LEGACY_ +# pragma GCC system_header // XXX // glibc 2.1.x time.h is on crack -# undef __need_time_t -# undef __need_clock_t -# undef __need_timespec +# undef __need_time_t +# undef __need_clock_t +# undef __need_timespec -# include_next +# include_next } typedef clock_t _CPP_clock_t_capture; @@ -111,30 +103,5 @@ namespace std { # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - using std::clock_t; - using std::time_t; - using std::tm; - - using std::clock; - using std::difftime; - using std::mktime; - using std::time; - using std::asctime; - using std::ctime; - using std::gmtime; - using std::localtime; - using std::strftime; - -# ifdef _TIME_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _TIME_NEED_C_LEGACY_ -# endif /* _TIME_NEED_C_LEGACY_ */ - -#endif /*_CPP_CTIME*/ - +#endif diff --git a/libstdc++-v3/include/c_std/bits/std_cwchar.h b/libstdc++-v3/include/c_std/bits/std_cwchar.h index 7cda9359738..db659f469f2 100644 --- a/libstdc++-v3/include/c_std/bits/std_cwchar.h +++ b/libstdc++-v3/include/c_std/bits/std_cwchar.h @@ -32,22 +32,13 @@ #ifndef _CPP_CWCHAR # define _CPP_CWCHAR 1 - -# ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ /* sub-included by a C header */ -# define _WCHAR_NEED_C_LEGACY_ -# endif - # include namespace _C_legacy { extern "C" { -# define _IN_C_LEGACY_ -# pragma GCC system_header -# include_next +# define _IN_C_LEGACY_ +# pragma GCC system_header +# include_next } #if 0 @@ -98,6 +89,7 @@ namespace _C_legacy { #endif } // namespace _C_legacy +# undef wchar_t # undef wint_t # undef mbstate_t @@ -162,7 +154,8 @@ namespace _C_legacy { # undef wcsrtombs namespace std { - using _C_legacy::wint_t; + + using _C_legacy::wint_t; using _C_legacy::mbstate_t; #if 0 @@ -274,92 +267,8 @@ namespace std { # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - using std::wint_t; - using std::mbstate_t; - -#if 0 - using std::fwprintf; - using std::fwscanf; - using std::swprintf; - using std::swscanf; - using std::vfwprintf; - using std::vfwscanf; - using std::vswprintf; - using std::vswscanf; - using std::vwprintf; - using std::vwscanf; - using std::wprintf; - using std::wscanf; - using std::fgetwc; - using std::fgetws; - using std::fputwc; - using std::fputws; - using std::fwide; - using std::getwc; - using std::getwchar; - using std::putwc; - using std::putwchar; - using std::ungetwc; -#endif - - using std::wcstod; - using std::wcstof; - using std::wcstold; - using std::wcstol; - using std::wcstoll; - using std::wcstoul; - using std::wcstoull; - using std::wcscpy; - using std::wcsncpy; - using std::wcscat; - using std::wcsncat; - -#if 0 - using std::wcsmp; #endif - using std::wcscoll; - using std::wcsncmp; - using std::wcsxfrm; - using std::wcschr; - using std::wcscspn; - using std::wcslen; - using std::wcspbrk; - using std::wcsrchr; - using std::wcsspn; - using std::wcsstr; - using std::wcstok; - using std::wmemchr; - using std::wmemcmp; - using std::wmemcpy; - using std::wmemmove; - using std::wmemset; - -#if 0 - using std::wcsftime; -#endif - - using std::btowc; - using std::wctob; - using std::mbsinit; - using std::mbrlen; - using std::mbrtowc; - using std::wcrtomb; - using std::mbsrtowcs; - using std::wcsrtombs; - -# ifdef _WCHAR_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _WCHAR_NEED_C_LEGACY_ -# endif /* _WCHAR_NEED_C_LEGACY_ */ - -#endif /*_CPP_CWCHAR*/ - diff --git a/libstdc++-v3/include/c_std/bits/std_cwctype.h b/libstdc++-v3/include/c_std/bits/std_cwctype.h index ecce6e87f99..1a6a64282fd 100644 --- a/libstdc++-v3/include/c_std/bits/std_cwctype.h +++ b/libstdc++-v3/include/c_std/bits/std_cwctype.h @@ -34,24 +34,17 @@ #ifndef _CPP_CWCTYPE #define _CPP_CWCTYPE 1 -# ifdef _IN_C_LEGACY_ /* sub-included by a C header */ - // get out of the "legacy" - } // close extern "C" - } // close namespace _C_legacy:: -# undef _IN_C_LEGACY_ -# define _CWCHAR_NEED_C_LEGACY_ -# endif - # include namespace _C_legacy { extern "C" { -# define _IN_C_LEGACY_ -# pragma GCC system_header -# include_next +# define _IN_C_LEGACY_ +# pragma GCC system_header +# include_next } } // namespace _C_legacy + # undef wctype_t # undef wctrans_t # undef iswalpha @@ -132,36 +125,5 @@ namespace std { # undef _IN_C_LEGACY_ - // Expose global C names, including non-standard ones, but shadow - // some names and types with the std:: C++ version. - using std::wint_t; - using std::wctype_t; - using std::wctrans_t; - using std::iswalpha; - using std::iswupper; - using std::iswlower; - using std::iswdigit; - using std::iswxdigit; - using std::iswalnum; - using std::iswspace; - using std::iswpunct; - using std::iswprint; - using std::iswgraph; - using std::iswcntrl; - using std::iswctype; - using std::towctrans; - using std::towlower; - using std::towupper; - using std::wctrans; - using std::wctype; - -# ifdef _CWCHAR_NEED_C_LEGACY_ - // dive back into the "swamp" - namespace _C_legacy { - extern "C" { -# define _IN_C_LEGACY_ -# undef _CWCHAR_NEED_C_LEGACY_ -# endif /* _CWCHAR_NEED_C_LEGACY_ */ - -#endif /*_CPP_CWCTYPE*/ +#endif -- 2.30.2