aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@gcc.gnu.org>2000-10-12 12:45:58 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2000-10-12 12:45:58 +0000
commit607642b6c2e4e7f7c3953c2748a7d5ac2958f78b (patch)
tree031a616bb84310ad2d8ded059d0948c11dff81a7
parent1384173a1c1246fec61fafcf71639cf98fdbd4f3 (diff)
downloadgcc-607642b6c2e4e7f7c3953c2748a7d5ac2958f78b.zip
gcc-607642b6c2e4e7f7c3953c2748a7d5ac2958f78b.tar.gz
gcc-607642b6c2e4e7f7c3953c2748a7d5ac2958f78b.tar.bz2
Makefile.am: Use it.
2000-10-11 Benjamin Kosnik <bkoz@purist.soma.redhat.com> * 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
-rw-r--r--libstdc++-v3/include/c_std/bits/std_cassert.h23
-rw-r--r--libstdc++-v3/include/c_std/bits/std_cctype.h43
-rw-r--r--libstdc++-v3/include/c_std/bits/std_cerrno.h28
-rw-r--r--libstdc++-v3/include/c_std/bits/std_cfloat.h27
-rw-r--r--libstdc++-v3/include/c_std/bits/std_climits.h27
-rw-r--r--libstdc++-v3/include/c_std/bits/std_clocale.h30
-rw-r--r--libstdc++-v3/include/c_std/bits/std_cmath.h260
-rw-r--r--libstdc++-v3/include/c_std/bits/std_csetjmp.h29
-rw-r--r--libstdc++-v3/include/c_std/bits/std_csignal.h35
-rw-r--r--libstdc++-v3/include/c_std/bits/std_cstdarg.h22
-rw-r--r--libstdc++-v3/include/c_std/bits/std_cstddef.h38
-rw-r--r--libstdc++-v3/include/c_std/bits/std_cstdio.h73
-rw-r--r--libstdc++-v3/include/c_std/bits/std_cstdlib.h60
-rw-r--r--libstdc++-v3/include/c_std/bits/std_cstring.h43
-rw-r--r--libstdc++-v3/include/c_std/bits/std_ctime.h47
-rw-r--r--libstdc++-v3/include/c_std/bits/std_cwchar.h103
-rw-r--r--libstdc++-v3/include/c_std/bits/std_cwctype.h48
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 26c0845..7017de99 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 <assert.h>
}
-
} // 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 ee7c140..d164d9c 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 <ctype.h>
+# define _IN_C_LEGACY_
+# pragma GCC system_header
+# include_next <ctype.h>
}
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 5a5a253..fb7a73f 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 <errno.h>
+# define _IN_C_LEGACY_
+# pragma GCC system_header
+# include_next <errno.h>
}
// 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 6bf6db2..d8885e6 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 <float.h>
+# define _IN_C_LEGACY_
+# pragma GCC system_header
+# include_next <float.h>
}
} // 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 de4a05b..d0db905 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 <limits.h>
+# define _IN_C_LEGACY_
+# pragma GCC system_header
+# include_next <limits.h>
}
} // 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 b41d284..86d600e 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 <bits/std_cstddef.h>
-# 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 <locale.h>
+# define _IN_C_LEGACY_
+# pragma GCC system_header
+# include_next <locale.h>
}
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 b0d9331..6113417 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 <bits/c++config.h>
namespace _C_legacy {
extern "C" {
-# define _IN_C_LEGACY_
-# pragma GCC system_header
-# include_next <math.h>
+# define _IN_C_LEGACY_
+# pragma GCC system_header
+# include_next <math.h>
}
#if _GLIBCPP_HAVE_ACOSF
@@ -543,6 +535,9 @@ namespace _C_legacy {
inline long double
_CPP_tanh_capture(long double __x) { return tanh(static_cast<double>(__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 b32bf59..21c03d5 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 <setjmp.h>
+# define _IN_C_LEGACY_
+# pragma GCC system_header
+# include_next <setjmp.h>
}
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 d529a15..71f9126 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 <signal.h>
+# pragma GCC system_header
+# include_next <signal.h>
}
} // 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 df3103a..eb1b790 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 a0c1f2c..5ebcb61 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 <stddef.h>
+# define _IN_C_LEGACY_
+# pragma GCC system_header
+# include_next <stddef.h>
}
} // 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 2855c6f..db27612 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 <bits/std_cstddef.h>
# include <bits/std_cstdarg.h>
namespace _C_legacy {
extern "C" {
-# define _IN_C_LEGACY_
-# undef __need_FILE
-# pragma GCC system_header
-# include_next <stdio.h>
+# define _IN_C_LEGACY_
+# undef __need_FILE
+# pragma GCC system_header
+# include_next <stdio.h>
}
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 108eb61..44a316e 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 <bits/c++config.h>
# include <bits/std_cstddef.h>
@@ -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 d5f98a4..38b9e6b 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 fdcf5ae..44709f0 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 <bits/std_cstddef.h>
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 <time.h>
+# include_next <time.h>
}
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 7cda935..db659f4 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 <bits/std_cstdio.h>
namespace _C_legacy {
extern "C" {
-# define _IN_C_LEGACY_
-# pragma GCC system_header
-# include_next <wchar.h>
+# define _IN_C_LEGACY_
+# pragma GCC system_header
+# include_next <wchar.h>
}
#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 ecce6e8..1a6a642 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 <bits/std_cwchar.h>
namespace _C_legacy {
extern "C" {
-# define _IN_C_LEGACY_
-# pragma GCC system_header
-# include_next <wctype.h>
+# define _IN_C_LEGACY_
+# pragma GCC system_header
+# include_next <wctype.h>
}
} // 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