*: Add copyright notice.

2001-06-08  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2767
	libstdc++/2989
	libstdc++/2992
	* include/std/*: Add copyright notice.
	* include/c_std/bits/*: Use using statements instead of extern "C".
	* include/c_std/bits/std_cmath.h: Don't overload double versions
	of math functions with __buitin versions, use global version to
	prevent ambiguities. Remove define hacks.
	* include/c_std/bits/std_cwchar.h: Using declarations for "C"
	functions that have changed signatures and std::
	declarations. Remove define hacks.
	* include/c_std/bits/std_cwchar.h: Same, plus remove ambiguous
	__builtins in std::. Remove define hacks.
	* testsuite/17_intro/headers_c.cc: Add tests.
	* testsuite/17_intro/headers_c++.cc: Add test.

From-SVN: r43061
This commit is contained in:
Benjamin Kosnik 2001-06-08 23:22:26 +00:00 committed by Benjamin Kosnik
parent 86c9954991
commit de96ac4681
67 changed files with 1703 additions and 524 deletions

View file

@ -1,3 +1,21 @@
2001-06-08 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/2767
libstdc++/2989
libstdc++/2992
* include/std/*: Add copyright notice.
* include/c_std/bits/*: Use using statements instead of extern "C".
* include/c_std/bits/std_cmath.h: Don't overload double versions
of math functions with __buitin versions, use global version to
prevent ambiguities. Remove define hacks.
* include/c_std/bits/std_cwchar.h: Using declarations for "C"
functions that have changed signatures and std::
declarations. Remove define hacks.
* include/c_std/bits/std_cwchar.h: Same, plus remove ambiguous
__builtins in std::. Remove define hacks.
* testsuite/17_intro/headers_c.cc: Add tests.
* testsuite/17_intro/headers_c++.cc: Add test.
2001-06-07 Loren J. Rittle <ljrittle@acm.org> 2001-06-07 Loren J. Rittle <ljrittle@acm.org>
John David Anglin <dave@hiauly1.hia.nrc.ca> John David Anglin <dave@hiauly1.hia.nrc.ca>

View file

@ -34,7 +34,7 @@
// No include guards on this header... // No include guards on this header...
#pragma GCC system_header #pragma GCC system_header
#include <assert.h> #include_next <assert.h>

View file

@ -31,15 +31,13 @@
// ISO C++ 14882: <ccytpe> // ISO C++ 14882: <ccytpe>
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CCTYPE #ifndef _CPP_CCTYPE
#define _CPP_CCTYPE 1 #define _CPP_CCTYPE 1
#include <bits/c++config.h> #include <bits/c++config.h>
#pragma GCC system_header #pragma GCC system_header
#include <ctype.h> #include_next <ctype.h>
// Get rid of those macros defined in <ctype.h> in lieu of real functions. // Get rid of those macros defined in <ctype.h> in lieu of real functions.
#undef isalnum #undef isalnum
@ -59,32 +57,20 @@
namespace std namespace std
{ {
extern "C" int isalnum(int __c); using ::isalnum;
extern "C" int isalpha(int __c); using ::isalpha;
extern "C" int isblank(int __c); using ::isblank;
extern "C" int iscntrl(int __c); using ::iscntrl;
extern "C" int isdigit(int __c); using ::isdigit;
extern "C" int isgraph(int __c); using ::isgraph;
extern "C" int islower(int __c); using ::islower;
extern "C" int isprint(int __c); using ::isprint;
extern "C" int ispunct(int __c); using ::ispunct;
extern "C" int isspace(int __c); using ::isspace;
extern "C" int isupper(int __c); using ::isupper;
extern "C" int isxdigit(int __c); using ::isxdigit;
extern "C" int tolower(int __c); using ::tolower;
extern "C" int toupper(int __c); using ::toupper;
} }
#endif #endif

View file

@ -31,13 +31,11 @@
// ISO C++ 14882: 19.3 Error numbers // ISO C++ 14882: 19.3 Error numbers
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CERRNO #ifndef _CPP_CERRNO
#define _CPP_CERRNO 1 #define _CPP_CERRNO 1
#pragma GCC system_header #pragma GCC system_header
#include <errno.h> #include_next <errno.h>
// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998 // Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
#ifndef errno #ifndef errno

View file

@ -31,13 +31,10 @@
// ISO C++ 14882: 18.2.2 Implementation properties: C library // ISO C++ 14882: 18.2.2 Implementation properties: C library
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CFLOAT #ifndef _CPP_CFLOAT
#define _CPP_CFLOAT 1 #define _CPP_CFLOAT 1
#pragma GCC system_header #pragma GCC system_header
#include <float.h> #include_next <float.h>
#endif #endif

View file

@ -31,17 +31,10 @@
// ISO C++ 14882: 18.2.2 Implementation properties: C library // ISO C++ 14882: 18.2.2 Implementation properties: C library
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CLIMITS #ifndef _CPP_CLIMITS
#define _CPP_CLIMITS 1 #define _CPP_CLIMITS 1
#pragma GCC system_header #pragma GCC system_header
#include <limits.h> #include_next <limits.h>
#endif #endif

View file

@ -31,15 +31,13 @@
// ISO C++ 14882: 18.2.2 Implementation properties: C library // ISO C++ 14882: 18.2.2 Implementation properties: C library
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CLOCALE #ifndef _CPP_CLOCALE
#define _CPP_CLOCALE 1 #define _CPP_CLOCALE 1
#include <bits/c++config.h> #include <bits/c++config.h>
#pragma GCC system_header #pragma GCC system_header
#include <locale.h> #include_next <locale.h>
// Get rid of those macros defined in <locale.h> in lieu of real functions. // Get rid of those macros defined in <locale.h> in lieu of real functions.
#undef setlocale #undef setlocale
@ -48,11 +46,8 @@
namespace std namespace std
{ {
using ::lconv; using ::lconv;
extern "C" char* setlocale(int, const char*); using ::setlocale;
extern "C" struct lconv* localeconv(void); using ::localeconv;
} }
#endif #endif

View file

@ -31,26 +31,13 @@
// ISO C++ 14882: 26.5 C library // ISO C++ 14882: 26.5 C library
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CMATH #ifndef _CPP_CMATH
#define _CPP_CMATH 1 #define _CPP_CMATH 1
#include <bits/c++config.h> #include <bits/c++config.h>
#include <bits/std_cstdlib.h>
#pragma GCC system_header #pragma GCC system_header
#include_next <math.h>
// Need to mangle these "C" functions. Ideally, we could like to do the
// same for the remaining of the "C" functions but they do not have
// builtin implementations. So, they are still of nuisance.
#define abs __glibcpp_abs
#define cos __glibcpp_cos
#define fabs __glibcpp_fabs
#define sin __glibcpp_sin
#define sqrt __glibcpp_sqrt
#include <math.h>
// Get rid of those macros defined in <math.h> in lieu of real functions. // Get rid of those macros defined in <math.h> in lieu of real functions.
#undef abs #undef abs
@ -91,7 +78,6 @@ namespace std
return __x < _Tp() ? -__x : __x; return __x < _Tp() ? -__x : __x;
} }
// abs.
inline float inline float
abs(float __x) abs(float __x)
{ return __builtin_fabsf(__x); } { return __builtin_fabsf(__x); }
@ -104,8 +90,6 @@ namespace std
abs(long double __x) abs(long double __x)
{ return __builtin_fabsl(__x); } { return __builtin_fabsl(__x); }
// acos.
#if _GLIBCPP_HAVE_ACOSF #if _GLIBCPP_HAVE_ACOSF
inline float inline float
acos(float __x) { return ::acosf(__x); } acos(float __x) { return ::acosf(__x); }
@ -114,7 +98,7 @@ namespace std
acos(float __x) { return ::acos(static_cast<double>(__x)); } acos(float __x) { return ::acos(static_cast<double>(__x)); }
#endif #endif
extern "C" double acos(double __x); using ::acos;
#if _GLIBCPP_HAVE_ACOSL #if _GLIBCPP_HAVE_ACOSL
inline long double inline long double
@ -124,8 +108,6 @@ namespace std
acos(long double __x) { return ::acos(static_cast<double>(__x)); } acos(long double __x) { return ::acos(static_cast<double>(__x)); }
#endif #endif
// asin.
#if _GLIBCPP_HAVE_ASINF #if _GLIBCPP_HAVE_ASINF
inline float inline float
asin(float __x) { return ::asinf(__x); } asin(float __x) { return ::asinf(__x); }
@ -134,7 +116,7 @@ namespace std
asin(float __x) { return ::asin(static_cast<double>(__x)); } asin(float __x) { return ::asin(static_cast<double>(__x)); }
#endif #endif
extern "C" double asin(double __x); using ::asin;
#if _GLIBCPP_HAVE_ASINL #if _GLIBCPP_HAVE_ASINL
inline long double inline long double
@ -144,8 +126,6 @@ namespace std
asin(long double __x) { return ::asin(static_cast<double>(__x)); } asin(long double __x) { return ::asin(static_cast<double>(__x)); }
#endif #endif
// atan.
#if _GLIBCPP_HAVE_ATANF #if _GLIBCPP_HAVE_ATANF
inline float inline float
atan(float __x) { return ::atanf(__x); } atan(float __x) { return ::atanf(__x); }
@ -154,7 +134,7 @@ namespace std
atan(float __x) { return ::atan(static_cast<double>(__x)); } atan(float __x) { return ::atan(static_cast<double>(__x)); }
#endif #endif
extern "C" double atan(double __x); using ::atan;
#if _GLIBCPP_HAVE_ATANL #if _GLIBCPP_HAVE_ATANL
inline long double inline long double
@ -164,8 +144,6 @@ namespace std
atan(long double __x) { return ::atan(static_cast<double>(__x)); } atan(long double __x) { return ::atan(static_cast<double>(__x)); }
#endif #endif
// atan2.
#if _GLIBCPP_HAVE_ATAN2F #if _GLIBCPP_HAVE_ATAN2F
inline float inline float
atan2(float __y, float __x) { return ::atan2f(__y, __x); } atan2(float __y, float __x) { return ::atan2f(__y, __x); }
@ -175,7 +153,7 @@ namespace std
{ return ::atan2(static_cast<double>(__y), static_cast<double>(__x)); } { return ::atan2(static_cast<double>(__y), static_cast<double>(__x)); }
#endif #endif
extern "C" double atan2(double __y, double __x); using ::atan2;
#if _GLIBCPP_HAVE_ATAN2L #if _GLIBCPP_HAVE_ATAN2L
inline long double inline long double
@ -186,8 +164,6 @@ namespace std
{ return ::atan2(static_cast<double>(__y), static_cast<double>(__x)); } { return ::atan2(static_cast<double>(__y), static_cast<double>(__x)); }
#endif #endif
// ceil.
#if _GLIBCPP_HAVE_CEILF #if _GLIBCPP_HAVE_CEILF
inline float inline float
ceil(float __x) { return ::ceilf(__x); } ceil(float __x) { return ::ceilf(__x); }
@ -196,7 +172,7 @@ namespace std
ceil(float __x) { return ::ceil(static_cast<double>(__x)); } ceil(float __x) { return ::ceil(static_cast<double>(__x)); }
#endif #endif
extern "C" double ceil(double __x); using ::ceil;
#if _GLIBCPP_HAVE_CEILL #if _GLIBCPP_HAVE_CEILL
inline long double inline long double
@ -206,22 +182,16 @@ namespace std
ceil(long double __x) { return ::ceil(static_cast<double>(__x)); } ceil(long double __x) { return ::ceil(static_cast<double>(__x)); }
#endif #endif
// cos.
inline float inline float
cos(float __x) cos(float __x)
{ return __builtin_cosf(__x); } { return __builtin_cosf(__x); }
inline double using ::cos;
cos(double __x)
{ return __builtin_cos(__x); }
inline long double inline long double
cos(long double __x) cos(long double __x)
{ return __builtin_cosl(__x); } { return __builtin_cosl(__x); }
// cosh.
#if _GLIBCPP_HAVE_COSHF #if _GLIBCPP_HAVE_COSHF
inline float inline float
cosh(float __x) { return ::coshf(__x); } cosh(float __x) { return ::coshf(__x); }
@ -230,7 +200,7 @@ namespace std
cosh(float __x) { return ::cosh(static_cast<double>(__x)); } cosh(float __x) { return ::cosh(static_cast<double>(__x)); }
#endif #endif
extern "C" double cosh(double __x); using ::cosh;
#if _GLIBCPP_HAVE_COSHL #if _GLIBCPP_HAVE_COSHL
inline long double inline long double
@ -240,8 +210,6 @@ namespace std
cosh(long double __x) { return ::cosh(static_cast<double>(__x)); } cosh(long double __x) { return ::cosh(static_cast<double>(__x)); }
#endif #endif
// exp.
#if _GLIBCPP_HAVE_EXPF #if _GLIBCPP_HAVE_EXPF
inline float inline float
exp(float __x) { return ::expf(__x); } exp(float __x) { return ::expf(__x); }
@ -250,7 +218,7 @@ namespace std
exp(float __x) { return ::exp(static_cast<double>(__x)); } exp(float __x) { return ::exp(static_cast<double>(__x)); }
#endif #endif
extern "C" double exp(double __x); using ::exp;
#if _GLIBCPP_HAVE_EXPL #if _GLIBCPP_HAVE_EXPL
inline long double inline long double
@ -260,22 +228,16 @@ namespace std
exp(long double __x) { return ::exp(static_cast<double>(__x)); } exp(long double __x) { return ::exp(static_cast<double>(__x)); }
#endif #endif
// fabs.
inline float inline float
fabs(float __x) fabs(float __x)
{ return __builtin_fabsf(__x); } { return __builtin_fabsf(__x); }
inline double using ::fabs;
fabs(double __x)
{ return __builtin_fabs(__x); }
inline long double inline long double
fabs(long double __x) fabs(long double __x)
{ return __builtin_fabsl(__x); } { return __builtin_fabsl(__x); }
// floor.
#if _GLIBCPP_HAVE_FLOORF #if _GLIBCPP_HAVE_FLOORF
inline float inline float
floor(float __x) { return ::floorf(__x); } floor(float __x) { return ::floorf(__x); }
@ -284,7 +246,7 @@ namespace std
floor(float __x) { return ::floor(static_cast<double>(__x)); } floor(float __x) { return ::floor(static_cast<double>(__x)); }
#endif #endif
extern "C" double floor(double __x); using ::floor;
#if _GLIBCPP_HAVE_FLOORL #if _GLIBCPP_HAVE_FLOORL
inline long double inline long double
@ -294,8 +256,6 @@ namespace std
floor(long double __x) { return ::floor(static_cast<double>(__x)); } floor(long double __x) { return ::floor(static_cast<double>(__x)); }
#endif #endif
// fmod.
#if _GLIBCPP_HAVE_FMODF #if _GLIBCPP_HAVE_FMODF
inline float inline float
fmod(float __x, float __y) { return ::fmodf(__x, __y); } fmod(float __x, float __y) { return ::fmodf(__x, __y); }
@ -305,7 +265,7 @@ namespace std
{ return ::fmod(static_cast<double>(__x), static_cast<double>(__y)); } { return ::fmod(static_cast<double>(__x), static_cast<double>(__y)); }
#endif #endif
extern "C" double fmod(double __x, double __y); using ::fmod;
#if _GLIBCPP_HAVE_FMODL #if _GLIBCPP_HAVE_FMODL
inline long double inline long double
@ -316,8 +276,6 @@ namespace std
{ return ::fmod(static_cast<double>(__x), static_cast<double>(__y)); } { return ::fmod(static_cast<double>(__x), static_cast<double>(__y)); }
#endif #endif
// frexp.
#if _GLIBCPP_HAVE_FREXPF #if _GLIBCPP_HAVE_FREXPF
inline float inline float
frexp(float __x, int* __exp) { return ::frexpf(__x, __exp); } frexp(float __x, int* __exp) { return ::frexpf(__x, __exp); }
@ -326,7 +284,7 @@ namespace std
frexp(float __x, int* __exp) { return ::frexp(__x, __exp); } frexp(float __x, int* __exp) { return ::frexp(__x, __exp); }
#endif #endif
extern "C" double frexp(double __x, int* __exp); using ::frexp;
#if _GLIBCPP_HAVE_FREXPL #if _GLIBCPP_HAVE_FREXPL
inline long double inline long double
@ -337,8 +295,6 @@ namespace std
{ return ::frexp(static_cast<double>(__x), __exp); } { return ::frexp(static_cast<double>(__x), __exp); }
#endif #endif
// ldexp.
#if _GLIBCPP_HAVE_LDEXPF #if _GLIBCPP_HAVE_LDEXPF
inline float inline float
ldexp(float __x, int __exp) { return ::ldexpf(__x, __exp); } ldexp(float __x, int __exp) { return ::ldexpf(__x, __exp); }
@ -348,7 +304,7 @@ namespace std
{ return ::ldexp(static_cast<double>(__x), __exp); } { return ::ldexp(static_cast<double>(__x), __exp); }
#endif #endif
extern "C" double ldexp(double __x, int __exp); using ::ldexp;
#if _GLIBCPP_HAVE_LDEXPL #if _GLIBCPP_HAVE_LDEXPL
inline long double inline long double
@ -359,8 +315,6 @@ namespace std
{ return ::ldexp(static_cast<double>(__x), __exp); } { return ::ldexp(static_cast<double>(__x), __exp); }
#endif #endif
// log.
#if _GLIBCPP_HAVE_LOGF #if _GLIBCPP_HAVE_LOGF
inline float inline float
log(float __x) { return ::logf(__x); } log(float __x) { return ::logf(__x); }
@ -369,7 +323,7 @@ namespace std
{ return ::log(static_cast<double>(__x)); } { return ::log(static_cast<double>(__x)); }
#endif #endif
extern "C" double log(double __x); using ::log;
#if _GLIBCPP_HAVE_LOGL #if _GLIBCPP_HAVE_LOGL
inline long double inline long double
@ -379,8 +333,6 @@ namespace std
log(long double __x) { return ::log(static_cast<double>(__x)); } log(long double __x) { return ::log(static_cast<double>(__x)); }
#endif #endif
// log10.
#if _GLIBCPP_HAVE_LOG10F #if _GLIBCPP_HAVE_LOG10F
inline float inline float
log10(float __x) { return ::log10f(__x); } log10(float __x) { return ::log10f(__x); }
@ -389,7 +341,7 @@ namespace std
log10(float __x) { return ::log10(static_cast<double>(__x)); } log10(float __x) { return ::log10(static_cast<double>(__x)); }
#endif #endif
extern "C" double log10(double __x); using ::log10;
#if _GLIBCPP_HAVE_LOG10L #if _GLIBCPP_HAVE_LOG10L
inline long double inline long double
@ -399,8 +351,6 @@ namespace std
log10(long double __x) { return ::log10(static_cast<double>(__x)); } log10(long double __x) { return ::log10(static_cast<double>(__x)); }
#endif #endif
// modf.
#if _GLIBCPP_HAVE_MODFF #if _GLIBCPP_HAVE_MODFF
inline float inline float
modf(float __x, float* __iptr) { return ::modff(__x, __iptr); } modf(float __x, float* __iptr) { return ::modff(__x, __iptr); }
@ -415,7 +365,7 @@ namespace std
} }
#endif #endif
extern "C" double modf(double __x, double* __iptr); using ::modf;
#if _GLIBCPP_HAVE_MODFL #if _GLIBCPP_HAVE_MODFL
inline long double inline long double
@ -431,8 +381,6 @@ namespace std
} }
#endif #endif
// pow.
template<typename _Tp> template<typename _Tp>
inline _Tp inline _Tp
__pow_helper(_Tp __x, int __n) __pow_helper(_Tp __x, int __n)
@ -451,7 +399,7 @@ namespace std
{ return ::pow(static_cast<double>(__x), static_cast<double>(__y)); } { return ::pow(static_cast<double>(__x), static_cast<double>(__y)); }
#endif #endif
extern "C" double pow(double __x, double __y); using ::pow;
#if _GLIBCPP_HAVE_POWL #if _GLIBCPP_HAVE_POWL
inline long double inline long double
@ -464,38 +412,26 @@ namespace std
inline float inline float
pow(float __x, int __n) pow(float __x, int __n)
{ { return __pow_helper(__x, __n); }
return __pow_helper(__x, __n);
}
inline double inline double
pow(double __x, int __i) pow(double __x, int __i)
{ { return __pow_helper(__x, __i); }
return __pow_helper(__x, __i);
}
inline long double inline long double
pow(long double __x, int __n) pow(long double __x, int __n)
{ { return __pow_helper(__x, __n); }
return __pow_helper(__x, __n);
}
// sin.
inline float inline float
sin(float __x) sin(float __x)
{ return __builtin_sinf(__x); } { return __builtin_sinf(__x); }
inline double using ::sin;
sin(double __x)
{ return __builtin_sin(__x); }
inline long double inline long double
sin(long double __x) sin(long double __x)
{ return __builtin_sinl(__x); } { return __builtin_sinl(__x); }
// sinh.
#if _GLIBCPP_HAVE_SINHF #if _GLIBCPP_HAVE_SINHF
inline float inline float
sinh(float __x) { return ::sinhf(__x); } sinh(float __x) { return ::sinhf(__x); }
@ -504,7 +440,7 @@ namespace std
sinh(float __x) { return ::sinh(static_cast<double>(__x)); } sinh(float __x) { return ::sinh(static_cast<double>(__x)); }
#endif #endif
extern "C" double sinh(double __x); using ::sinh;
#if _GLIBCPP_HAVE_SINHL #if _GLIBCPP_HAVE_SINHL
inline long double inline long double
@ -514,22 +450,16 @@ namespace std
sinh(long double __x) { return ::sinh(static_cast<double>(__x)); } sinh(long double __x) { return ::sinh(static_cast<double>(__x)); }
#endif #endif
// sqrt.
inline float inline float
sqrt(float __x) sqrt(float __x)
{ return __builtin_sqrtf(__x); } { return __builtin_sqrtf(__x); }
inline double using ::sqrt;
sqrt(double __x)
{ return __builtin_fsqrt(__x); }
inline long double inline long double
sqrt(long double __x) sqrt(long double __x)
{ return __builtin_sqrtl(__x); } { return __builtin_sqrtl(__x); }
// tan.
#if _GLIBCPP_HAVE_TANF #if _GLIBCPP_HAVE_TANF
inline float inline float
tan(float __x) { return ::tanf(__x); } tan(float __x) { return ::tanf(__x); }
@ -538,7 +468,7 @@ namespace std
tan(float __x) { return ::tan(static_cast<double>(__x)); } tan(float __x) { return ::tan(static_cast<double>(__x)); }
#endif #endif
extern "C" double tan(double __x); using ::tan;
#if _GLIBCPP_HAVE_TANL #if _GLIBCPP_HAVE_TANL
inline long double inline long double
@ -548,8 +478,6 @@ namespace std
tan(long double __x) { return ::tan(static_cast<double>(__x)); } tan(long double __x) { return ::tan(static_cast<double>(__x)); }
#endif #endif
// tanh.
#if _GLIBCPP_HAVE_TANHF #if _GLIBCPP_HAVE_TANHF
inline float inline float
tanh(float __x) { return ::tanhf(__x); } tanh(float __x) { return ::tanhf(__x); }
@ -558,7 +486,7 @@ namespace std
tanh(float __x) { return ::tanh(static_cast<double>(__x)); } tanh(float __x) { return ::tanh(static_cast<double>(__x)); }
#endif #endif
extern "C" double tanh(double __x); using ::tanh;
#if _GLIBCPP_HAVE_TANHL #if _GLIBCPP_HAVE_TANHL
inline long double inline long double

View file

@ -31,13 +31,11 @@
// ISO C++ 14882: 20.4.6 C library // ISO C++ 14882: 20.4.6 C library
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CSETJMP #ifndef _CPP_CSETJMP
#define _CPP_CSETJMP 1 #define _CPP_CSETJMP 1
#pragma GCC system_header #pragma GCC system_header
#include <setjmp.h> #include_next <setjmp.h>
// Get rid of those macros defined in <setjmp.h> in lieu of real functions. // Get rid of those macros defined in <setjmp.h> in lieu of real functions.
#undef longjmp #undef longjmp
@ -50,7 +48,7 @@
namespace std namespace std
{ {
using ::jmp_buf; using ::jmp_buf;
extern "C" void longjmp(jmp_buf, int); using ::longjmp;
} }
#endif #endif

View file

@ -31,13 +31,11 @@
// ISO C++ 14882: 20.4.6 C library // ISO C++ 14882: 20.4.6 C library
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CSIGNAL #ifndef _CPP_CSIGNAL
#define _CPP_CSIGNAL 1 #define _CPP_CSIGNAL 1
#pragma GCC system_header #pragma GCC system_header
#include <signal.h> #include_next <signal.h>
// Get rid of those macros defined in <signal.h> in lieu of real functions. // Get rid of those macros defined in <signal.h> in lieu of real functions.
#undef raise #undef raise
@ -45,8 +43,8 @@
namespace std namespace std
{ {
using ::sig_atomic_t; using ::sig_atomic_t;
extern "C" void (*signal(int, void (*__func)(int)))(int); using ::signal;
extern "C" int raise(int); using ::raise;
} }
#endif #endif

View file

@ -31,13 +31,11 @@
// ISO C++ 14882: 20.4.6 C library // ISO C++ 14882: 20.4.6 C library
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CSTDARG #ifndef _CPP_CSTDARG
#define _CPP_CSTDARG 1 #define _CPP_CSTDARG 1
#pragma GCC system_header #pragma GCC system_header
#include <stdarg.h> #include_next <stdarg.h>
// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998 // Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
#ifndef va_end #ifndef va_end

View file

@ -31,13 +31,11 @@
// ISO C++ 14882: 18.1 Types // ISO C++ 14882: 18.1 Types
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CSTDDEF #ifndef _CPP_CSTDDEF
#define _CPP_CSTDDEF 1 #define _CPP_CSTDDEF 1
#pragma GCC system_header #pragma GCC system_header
#include <stddef.h> #include_next <stddef.h>
namespace std namespace std
{ {

View file

@ -31,8 +31,6 @@
// ISO C++ 14882: 27.8.2 C Library files // ISO C++ 14882: 27.8.2 C Library files
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CSTDIO #ifndef _CPP_CSTDIO
#define _CPP_CSTDIO 1 #define _CPP_CSTDIO 1
@ -41,7 +39,7 @@
#include <bits/std_cstddef.h> #include <bits/std_cstddef.h>
#pragma GCC system_header #pragma GCC system_header
#include <stdio.h> #include_next <stdio.h>
// Get rid of those macros defined in <stdio.h> in lieu of real functions. // Get rid of those macros defined in <stdio.h> in lieu of real functions.
#undef remove #undef remove
@ -96,60 +94,52 @@ namespace std
using ::FILE; using ::FILE;
using ::fpos_t; using ::fpos_t;
extern "C" int remove(const char*); using ::remove;
extern "C" int rename(const char*, const char*); using ::rename;
extern "C" FILE* tmpfile(void); using ::tmpfile;
extern "C" char* tmpnam(char*); using ::tmpnam;
extern "C" int fclose(FILE*); using ::fclose;
extern "C" int fflush(FILE*); using ::fflush;
extern "C" FILE* fopen(const char*, const char*); using ::fopen;
extern "C" FILE* freopen(const char*, const char*, FILE*); using ::freopen;
extern "C" void setbuf(FILE*, char*); using ::setbuf;
extern "C" int setvbuf(FILE*, char*, int, size_t); using ::setvbuf;
extern "C" int fprintf(FILE*, const char*, ...); using ::fprintf;
extern "C" int fscanf(FILE*, const char*, ...); using ::fscanf;
extern "C" int printf(const char*, ...); using ::printf;
extern "C" int scanf(const char*, ...); using ::scanf;
extern "C" int snprintf(char *, size_t, const char*, ...); using ::snprintf;
extern "C" int sprintf(char *, const char*, ...); using ::sprintf;
extern "C" int sscanf(const char*, const char*, ...); using ::sscanf;
extern "C" int vfprintf(FILE*, const char*, va_list); using ::vfprintf;
extern "C" int vfscanf(FILE*, const char*, va_list); using ::vfscanf;
extern "C" int vprintf(const char*, va_list); using ::vprintf;
extern "C" int vscanf(const char*, va_list); using ::vscanf;
extern "C" int vsnprintf(char*, size_t, const char*, va_list); using ::vsnprintf;
extern "C" int vsprintf(char*, const char*, va_list); using ::vsprintf;
extern "C" int vsscanf(const char*, const char*, va_list); using ::vsscanf;
extern "C" int fgetc(FILE *); using ::fgetc;
extern "C" char *fgets(char*, int, FILE*); using ::fgets;
extern "C" int fputc(int, FILE*); using ::fputc;
extern "C" int fputs(const char*, FILE*); using ::fputs;
extern "C" int getc(FILE*); using ::getc;
extern "C" int getchar(void); using ::getchar;
extern "C" char *gets(char*); using ::gets;
extern "C" int putc(int, FILE*); using ::putc;
extern "C" int putchar(int); using ::putchar;
extern "C" int puts(const char*); using ::puts;
extern "C" int ungetc(int, FILE*); using ::ungetc;
extern "C" size_t fread(void*, size_t, size_t, FILE*); using ::fread;
extern "C" size_t fwrite(const void*, size_t, size_t, FILE*); using ::fwrite;
extern "C" int fgetpos(FILE*, fpos_t*); using ::fgetpos;
extern "C" int fseek(FILE*, long int, int); using ::fseek;
extern "C" int fsetpos(FILE*, const fpos_t*); using ::fsetpos;
extern "C" long int ftell(FILE*); using ::ftell;
extern "C" void rewind(FILE*); using ::rewind;
extern "C" void clearerr(FILE*); using ::clearerr;
extern "C" int feof(FILE*); using ::feof;
extern "C" int ferror(FILE*); using ::ferror;
extern "C" void perror(const char*); using ::perror;
} }
#endif #endif

View file

@ -31,16 +31,13 @@
// ISO C++ 14882: 20.4.6 C library // ISO C++ 14882: 20.4.6 C library
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CSTDLIB #ifndef _CPP_CSTDLIB
#define _CPP_CSTDLIB 1 #define _CPP_CSTDLIB 1
#include <bits/c++config.h> #include <bits/c++config.h>
#include <bits/std_cstddef.h>
#pragma GCC system_header #pragma GCC system_header
#include <stdlib.h> #include_next <stdlib.h>
// Get rid of those macros defined in <stdlib.h> in lieu of real functions. // Get rid of those macros defined in <stdlib.h> in lieu of real functions.
#undef atof #undef atof
@ -82,47 +79,47 @@
namespace std namespace std
{ {
using ::size_t; // cstddef
using ::div_t; using ::div_t;
using ::ldiv_t; using ::ldiv_t;
extern "C" double atof(const char*); using ::atof;
extern "C" int atoi(const char*); using ::atoi;
extern "C" long int atol(const char*); using ::atol;
extern "C" double strtod(const char*, char**); using ::strtod;
extern "C" float strtof(const char*, char**); using ::strtof;
extern "C" long int strtol(const char*, char**, int); using ::strtol;
extern "C" unsigned long int strtoul(const char*, char**, int); using ::strtoul;
extern "C" int rand(void); using ::rand;
extern "C" void srand(unsigned int); using ::srand;
extern "C" void* calloc(size_t, size_t); using ::calloc;
extern "C" void free(void*); using ::free;
extern "C" void* malloc(size_t); using ::malloc;
extern "C" void* realloc(void*, size_t); using ::realloc;
extern "C" void abort(void); using ::abort;
extern "C" int atexit(void (*func)(void)); using ::atexit;
extern "C" void exit(int); using ::exit;
extern "C" void _Exit(int); using ::_Exit;
extern "C" char*getenv(const char*); using ::getenv;
extern "C" int system(const char*); using ::system;
extern "C" void* bsearch(const void*, const void*, size_t, size_t, using ::bsearch;
int (*comp)(const void *, const void *)); using ::qsort;
extern "C" void qsort(void*, size_t, size_t, using ::abs;
int (*comp)(const void *, const void *)); using ::labs;
extern "C" int abs(int); using ::div;
extern "C" long int labs(long int); using ::ldiv;
extern "C" div_t div(int, int); using ::mblen;
extern "C" ldiv_t ldiv(long int, long int); using ::mbtowc;
extern "C" int mblen(const char*, size_t); using ::wctomb;
extern "C" int mbtowc(wchar_t*, const char*, size_t); using ::mbstowcs;
extern "C" int wctomb(char*, wchar_t); using ::wcstombs;
extern "C" size_t mbstowcs(wchar_t*, const char*, size_t);
extern "C" size_t wcstombs(char*, const wchar_t*, size_t);
inline long inline long
abs(long __i) { return ::labs(__i); } abs(long __i) { return labs(__i); }
inline ldiv_t inline ldiv_t
div(long __i, long __j) { return ::ldiv(__i, __j); } div(long __i, long __j) { return ldiv(__i, __j); }
} // namespace std } // namespace std
#if _GLIBCPP_USE_C99 #if _GLIBCPP_USE_C99
@ -144,12 +141,12 @@ namespace __gnu_cxx
lldiv(long long __n, long long __d) lldiv(long long __n, long long __d)
{ lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
extern "C" long long int atoll(const char*); using ::atoll;
extern "C" long long int strtoll(const char*, char**, int); using ::strtoll;
extern "C" unsigned long long int strtoull(const char*, char**, int); using ::strtoull;
#ifdef _GLIBCPP_HAVE_STRTOLD #ifdef _GLIBCPP_HAVE_STRTOLD
extern "C" long double strtold(const char*, char**); using ::strtold;
#endif #endif
} // namespace __gnu_cxx } // namespace __gnu_cxx
@ -157,7 +154,7 @@ namespace std
{ {
using __gnu_cxx::lldiv_t; using __gnu_cxx::lldiv_t;
using __gnu_cxx::abs; using __gnu_cxx::abs;
//using __gnu_cxx::llabs; // XXX ??? using __gnu_cxx::llabs;
using __gnu_cxx::div; using __gnu_cxx::div;
using __gnu_cxx::lldiv; using __gnu_cxx::lldiv;
using __gnu_cxx::atoll; using __gnu_cxx::atoll;

View file

@ -31,41 +31,11 @@
// ISO C++ 14882: 20.4.6 C library // ISO C++ 14882: 20.4.6 C library
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CSTRING #ifndef _CPP_CSTRING
#define _CPP_CSTRING 1 #define _CPP_CSTRING 1
#include <bits/c++config.h>
#include <bits/std_cstddef.h>
// Need to mangle these "C" functions because C++ modifies their signature.
#define memcpy __glibcpp_memcpy
#define memmove __glibcpp_memmove
#define strcpy __glibcpp_strcpy
#define strncpy __glibcpp_strncpy
#define strcat __glibcpp_strcat
#define strncat __glibcpp_strncat
#define memcmp __glibcpp_memcmp
#define strcmp __glibcpp_strcmp
#define strcoll __glibcpp_strcoll
#define strncmp __glibcpp_strncmp
#define strxfrm __glibcpp_strxfrm
#define memchr __glibcpp_memchr
#define strchr __glibcpp_strchr
#define strcspn __glibcpp_strcspn
#define strpbrk __glibcpp_strpbrk
#define strrchr __glibcpp_strrchr
#define strspn __glibcpp_strspn
#define strstr __glibcpp_strstr
#define strtok __glibcpp_strtok
#define memset __glibcpp_memset
#define strerror __glibcpp_strerror
#define strlen __glibcpp_strlen
#pragma GCC system_header #pragma GCC system_header
#include <string.h> #include_next <string.h>
// Get rid of those macros defined in <string.h> in lieu of real functions. // Get rid of those macros defined in <string.h> in lieu of real functions.
#undef memcpy #undef memcpy
@ -93,114 +63,55 @@
namespace std namespace std
{ {
inline void* using ::size_t; // cstddef
memcpy(void* __p1, const void* __p2, size_t __n)
{ return __builtin_memcpy(__p1, __p2, __n); }
extern "C" void* memmove(void*, const void*, size_t); using ::memcpy;
using ::memmove;
using ::strcpy;
using ::strncpy;
using ::strcat;
using ::strncat;
using ::memcmp;
using ::strcmp;
using ::strcoll;
using ::strncmp;
using ::strxfrm;
using ::strcspn;
using ::strspn;
using ::strtok;
using ::memset;
using ::strerror;
using ::strlen;
inline char* using ::memchr;
strcpy(char* __s1, const char* __s2)
{ return __builtin_strcpy(__s1, __s2); }
inline char*
strncpy(char* __s1, const char* __s2, size_t __n)
{ return __builtin_strncpy(__s1, __s2, __n); }
inline char*
strcat(char* __s1, const char* __s2)
{ return __builtin_strcat(__s1, __s2); }
inline char*
strncat(char* __s1, const char* __s2, size_t __n)
{ return __builtin_strncat(__s1, __s2, __n); }
inline int
memcmp(const void* __p1, const void* __p2, size_t __n)
{ return __builtin_memcmp(__p1, __p2, __n); }
inline int
strcmp(const char* __s1, const char* __s2)
{ return __builtin_strcmp(__s1, __s2); }
extern "C" int strcoll(const char*, const char*);
inline int
strncmp(const char* __s1, const char* __s2, size_t __n)
{ return __builtin_strncmp(__s1, __s2, __n); }
extern "C" size_t strxfrm(char*, const char*, size_t);
extern "C" const void* memchr(const void*, int, size_t);
inline void* inline void*
memchr(void* __p, int __c, size_t __n) memchr(void* __p, int __c, size_t __n)
{ { return memchr(const_cast<const void*>(__p), __c, __n); }
return const_cast<void*>(memchr(const_cast<const void*>(__p), __c, __n));
}
inline const char* using ::strchr;
strchr(const char* __s1, int __n)
{ return const_cast<const char*>(__builtin_strchr(__s1, __n)); }
inline char* inline char*
strchr(char* __s1, int __n) strchr(char* __s1, int __n)
{ { return __builtin_strchr(const_cast<const char*>(__s1), __n); }
return
const_cast<char*>(__builtin_strchr(const_cast<const char*>(__s1), __n));
}
inline size_t using ::strpbrk;
strcspn(const char* __s1, const char* __s2)
{ return __builtin_strcspn(__s1, __s2); }
inline const char*
strpbrk(const char* __s1, const char* __s2)
{ return const_cast<char*>(__builtin_strpbrk(__s1, __s2)); }
inline char* inline char*
strpbrk(char* __s1, const char* __s2) strpbrk(char* __s1, const char* __s2)
{ { return __builtin_strpbrk(const_cast<const char*>(__s1), __s2); }
return const_cast<char*>
(__builtin_strpbrk(const_cast<const char*>(__s1), __s2));
}
inline const char* using ::strrchr;
strrchr(const char* __s1, int __n)
{ return const_cast<char*>(__builtin_strrchr(__s1, __n)); }
inline char* inline char*
strrchr(char* __s1, int __n) strrchr(char* __s1, int __n)
{ return __builtin_strrchr(const_cast<const char*>(__s1), __n); } { return __builtin_strrchr(const_cast<const char*>(__s1), __n); }
inline size_t using ::strstr;
strspn(const char* __s1, const char* __s2)
{ return __builtin_strspn(__s1, __s2); }
inline const char*
strstr(const char* __s1, const char* __s2)
{ return const_cast<char*>(__builtin_strstr (__s1, __s2)); }
inline char* inline char*
strstr(char* __s1, const char* __s2) strstr(char* __s1, const char* __s2)
{ { return __builtin_strstr(const_cast<const char*>(__s1), __s2); }
return (const_cast<char*>
(__builtin_strstr(const_cast<const char*>(__s1), __s2)));
}
extern "C" char* strtok(char*, const char*);
inline void*
memset(void* __p, int __c, size_t __n)
{ return __builtin_memset(__p, __c, __n); }
extern "C" char* strerror(int);
inline size_t
strlen(const char* __s)
{ return __builtin_strlen(__s); }
} }
#endif #endif

View file

@ -31,16 +31,11 @@
// ISO C++ 14882: 20.5 Date and time // ISO C++ 14882: 20.5 Date and time
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CTIME #ifndef _CPP_CTIME
#define _CPP_CTIME 1 #define _CPP_CTIME 1
#include <bits/c++config.h>
#include <bits/std_cstddef.h>
#pragma GCC system_header #pragma GCC system_header
#include <time.h> #include_next <time.h>
// Get rid of those macros defined in <time.h> in lieu of real functions. // Get rid of those macros defined in <time.h> in lieu of real functions.
#undef clock #undef clock
@ -55,19 +50,21 @@
namespace std namespace std
{ {
using ::size_t; // cstddef
using ::clock_t; using ::clock_t;
using ::time_t; using ::time_t;
using ::tm; using ::tm;
extern "C" clock_t clock(void); using ::clock;
extern "C" double difftime(time_t, time_t); using ::difftime;
extern "C" time_t mktime(struct tm*); using ::mktime;
extern "C" time_t time(time_t*); using ::time;
extern "C" char* asctime(const struct tm*); using ::asctime;
extern "C" char* ctime(const time_t*); using ::ctime;
extern "C" struct tm* gmtime(const time_t*); using ::gmtime;
extern "C" struct tm* localtime(const time_t*); using ::localtime;
extern "C" size_t strftime(char*, size_t, const char*, const struct tm*); using ::strftime;
} }
#endif #endif

View file

@ -31,26 +31,14 @@
// ISO C++ 14882: ??? // ISO C++ 14882: ???
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CWCHAR #ifndef _CPP_CWCHAR
#define _CPP_CWCHAR 1 #define _CPP_CWCHAR 1
#include <bits/c++config.h> #include <bits/c++config.h>
#include <bits/std_cstddef.h>
#include <bits/std_cstdio.h>
#include <bits/std_cstdarg.h>
#if _GLIBCPP_HAVE_WCHAR_H #if _GLIBCPP_HAVE_WCHAR_H
// Need to mangle these "C" functions because C++ modifies their signature.
#define wcschr __glibcpp_wcschr
#define wcsbrk __glibcpp_wcspbrk
#define wcsrchr __glibcpp_wcsrchr
#define wcsstr __glibcpp_wcsstr
#define wmemchr __glibcpp_wmemchr
#pragma GCC system_header #pragma GCC system_header
#include <wchar.h> #include_next <wchar.h>
#endif #endif
// Need to do a bit of trickery here with mbstate_t as char_traits // Need to do a bit of trickery here with mbstate_t as char_traits
@ -71,6 +59,22 @@ namespace std
} }
// Get rid of those macros defined in <wchar.h> in lieu of real functions. // Get rid of those macros defined in <wchar.h> in lieu of real functions.
#undef btowc
#undef wctob
#undef fgetwc
#undef fgetwc
#undef fgetws
#undef fputwc
#undef fputws
#undef fwide
#undef fwprintf
#undef fwscanf
#undef swprintf
#undef swscanf
#undef vfwprintf
#undef vfwscanf
#undef vswprintf
#undef vswscanf
#undef vwprintf #undef vwprintf
#undef vwscanf #undef vwscanf
#undef wprintf #undef wprintf
@ -98,118 +102,119 @@ namespace std
#undef wcscoll #undef wcscoll
#undef wcsncmp #undef wcsncmp
#undef wcsxfrm #undef wcsxfrm
#undef wcschr
#undef wcscspn #undef wcscspn
#undef wcslen #undef wcslen
#undef wcspbrk
#undef wcsrchr
#undef wcsspn #undef wcsspn
#undef wcsstr
#undef wcstok #undef wcstok
#undef wmemchr
#undef wmemcmp #undef wmemcmp
#undef wmemcpy #undef wmemcpy
#undef wmemmove #undef wmemmove
#undef wmemset #undef wmemset
#undef wcsftime #undef wcsftime
#undef wcstold
#undef wcstoll #undef wcschr
#undef wcstoull #undef wcspbrk
#undef wcsrchr
#undef wcsstr
#undef wmemchr
#if _GLIBCPP_USE_WCHAR_T #if _GLIBCPP_USE_WCHAR_T
namespace std namespace std
{ {
using ::size_t; // cstddef
using ::wint_t; using ::wint_t;
extern "C" wint_t btowc(int); using ::btowc;
extern "C" int wctob(wint_t); using ::wctob;
extern "C" wint_t fgetwc(FILE*); using ::fgetwc;
extern "C" wchar_t* fgetws(wchar_t*, int, FILE*); using ::fgetwc;
extern "C" wint_t fputwc(wchar_t, FILE*); using ::fgetws;
extern "C" int fputws(const wchar_t*, FILE*); using ::fputwc;
extern "C" int fwide(FILE*, int); using ::fputws;
extern "C" int fwprintf(FILE*, const wchar_t*, ...); using ::fwide;
extern "C" int fwscanf(FILE*, const wchar_t*, ...); using ::fwprintf;
extern "C" int swprintf(wchar_t*, size_t, const wchar_t*, ...); using ::fwscanf;
extern "C" int swscanf(const wchar_t*, const wchar_t*, ...); using ::swprintf;
extern "C" int vfwprintf(FILE*, const wchar_t*, va_list); using ::swscanf;
extern "C" int vfwscanf(FILE*, const wchar_t*, va_list); using ::vfwprintf;
extern "C" int vswprintf(wchar_t*, size_t, const wchar_t*, va_list); using ::vfwscanf;
extern "C" int vswscanf(const wchar_t*, const wchar_t*, va_list); using ::vswprintf;
extern "C" int vwprintf(const wchar_t*, va_list); using ::vswscanf;
extern "C" int vwscanf(const wchar_t*, va_list); using ::vwprintf;
extern "C" int wprintf(const wchar_t*, ...); using ::vwscanf;
extern "C" int wscanf(const wchar_t*, ...); using ::wprintf;
extern "C" wint_t getwc(FILE* stream); using ::wscanf;
extern "C" wint_t getwchar(void); using ::getwc;
extern "C" int mbsinit(const mbstate_t*); using ::getwchar;
extern "C" size_t mbrlen(const char*, size_t, mbstate_t*); using ::mbsinit;
extern "C" size_t mbrtowc(wchar_t*, const char*, size_t, mbstate_t*); using ::mbrlen;
extern "C" size_t mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*); using ::mbrtowc;
extern "C" size_t wcsrtombs(char*, const wchar_t **, size_t, mbstate_t*); using ::mbsrtowcs;
extern "C" wint_t putwc(wchar_t, FILE*); using ::wcsrtombs;
extern "C" wint_t putwchar(wchar_t); using ::putwc;
extern "C" wint_t ungetwc(wint_t, FILE*); using ::putwchar;
extern "C" size_t wcrtomb(char*, wchar_t, mbstate_t*); using ::ungetwc;
extern "C" double wcstod(const wchar_t*, wchar_t**); using ::wcrtomb;
extern "C" float wcstof(const wchar_t*, wchar_t**); using ::wcstod;
extern "C" long int wcstol(const wchar_t*, wchar_t**, int); using ::wcstof;
extern "C" unsigned long int wcstoul(const wchar_t*, wchar_t**, int); using ::wcstol;
extern "C" wchar_t* wcscpy(wchar_t* s1, const wchar_t*); using ::wcstoul;
extern "C" wchar_t* wcsncpy(wchar_t*, const wchar_t*, size_t); using ::wcscpy;
extern "C" wchar_t* wcscat(wchar_t*, const wchar_t*); using ::wcsncpy;
extern "C" wchar_t* wcsncat(wchar_t*, const wchar_t*, size_t); using ::wcscat;
extern "C" int wcscmp(const wchar_t*, const wchar_t*); using ::wcsncat;
extern "C" int wcscoll(const wchar_t*, const wchar_t*); using ::wcscmp;
extern "C" int wcsncmp(const wchar_t*, const wchar_t*, size_t); using ::wcscoll;
extern "C" size_t wcsxfrm(wchar_t*, const wchar_t*, size_t); using ::wcsncmp;
extern "C" const wchar_t* wcschr(const wchar_t*, wchar_t); using ::wcsxfrm;
using ::wcscspn;
using ::wcslen;
using ::wcsspn;
using ::wcstok;
using ::wmemcmp;
using ::wmemcpy;
using ::wmemmove;
using ::wmemset;
using ::wcsftime;
using ::wcschr;
inline wchar_t* inline wchar_t*
wcschr(wchar_t* __p, wchar_t __c) wcschr(wchar_t* __p, wchar_t __c)
{ { return wcschr(const_cast<const wchar_t*>(__p), __c); }
return const_cast<wchar_t*>(wcschr(const_cast<const wchar_t*>(__p), __c));
} using ::wcspbrk;
extern "C" size_t wcscspn(const wchar_t*, const wchar_t*);
extern "C" size_t wcslen(const wchar_t*);
extern "C" const wchar_t* wcspbrk(const wchar_t*, const wchar_t*);
inline wchar_t* inline wchar_t*
wcspbrk(wchar_t* __s1, wchar_t* __s2) wcspbrk(wchar_t* __s1, wchar_t* __s2)
{ { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
return const_cast<wchar_t*>(wcspbrk(const_cast<const wchar_t*>(__s1), __s2));
} using ::wcsrchr;
extern "C" const wchar_t* wcsrchr(const wchar_t*, wchar_t);
inline wchar_t* inline wchar_t*
wcsrchr(wchar_t* __p, wchar_t __c) wcsrchr(wchar_t* __p, wchar_t __c)
{ { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
return const_cast<wchar_t*>(wcsrchr(const_cast<const wchar_t*>(__p), __c));
} using ::wcsstr;
extern "C" size_t wcsspn(const wchar_t*, const wchar_t*);
extern "C" const wchar_t* wcsstr(const wchar_t*, const wchar_t*);
inline wchar_t* inline wchar_t*
wcsstr(wchar_t* __s1, wchar_t* __s2) wcsstr(wchar_t* __s1, wchar_t* __s2)
{ { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
return const_cast<wchar_t*>(wcsstr(const_cast<const wchar_t*>(__s1), __s2));
} using ::wmemchr;
extern "C" wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**);
extern "C" const wchar_t* wmemchr(const wchar_t*, wchar_t, size_t);
inline wchar_t* inline wchar_t*
wmemchr(wchar_t* __p, wchar_t __c, size_t __n) wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
{ { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
return const_cast<wchar_t*>(wmemchr(const_cast<const wchar_t*>(__p), __c, __n));
}
extern "C" int wmemcmp(const wchar_t*, const wchar_t*, size_t);
extern "C" wchar_t* wmemcpy(wchar_t*, const wchar_t*, size_t);
extern "C" wchar_t* wmemmove(wchar_t*, const wchar_t*, size_t);
extern "C" wchar_t* wmemset(wchar_t*, wchar_t, size_t);
extern "C" size_t wcsftime(wchar_t*, size_t, const wchar_t*, const struct tm*);
} }
#if _GLIBCPP_USE_C99 #if _GLIBCPP_USE_C99
namespace __gnu_cxx namespace __gnu_cxx
{ {
extern "C" long double wcstold(const wchar_t*, wchar_t**); using ::wcstold;
extern "C" long long int wcstoll(const wchar_t*, wchar_t**, int); using ::wcstoll;
extern "C" unsigned long long int wcstoull(const wchar_t*, wchar_t**, int); using ::wcstoull;
} }
namespace std namespace std

View file

@ -31,15 +31,11 @@
// ISO C++ 14882: <cwctype> // ISO C++ 14882: <cwctype>
// //
// Note: This is not a conforming implementation.
#ifndef _CPP_CWCTYPE #ifndef _CPP_CWCTYPE
#define _CPP_CWCTYPE 1 #define _CPP_CWCTYPE 1
#include <bits/std_cwchar.h>
#pragma GCC system_header #pragma GCC system_header
#include <wctype.h> #include_next <wctype.h>
// Get rid of those macros defined in <wctype.h> in lieu of real functions. // Get rid of those macros defined in <wctype.h> in lieu of real functions.
#undef iswalnum #undef iswalnum
@ -63,34 +59,29 @@
namespace std namespace std
{ {
using ::wint_t; // cwchar
using ::wctype_t; using ::wctype_t;
using ::wctrans_t; using ::wctrans_t;
extern "C" int iswalnum(wint_t); using ::iswalnum;
extern "C" int iswalpha(wint_t); using ::iswalpha;
extern "C" int iswblank(wint_t); using ::iswblank;
extern "C" int iswcntrl(wint_t); using ::iswcntrl;
extern "C" int iswdigit(wint_t); using ::iswdigit;
extern "C" int iswgraph(wint_t); using ::iswgraph;
extern "C" int iswlower(wint_t); using ::iswlower;
extern "C" int iswprint(wint_t); using ::iswprint;
extern "C" int iswpunct(wint_t); using ::iswprint;
extern "C" int iswspace(wint_t); using ::iswpunct;
extern "C" int iswupper(wint_t); using ::iswspace;
extern "C" int iswxdigit(wint_t); using ::iswupper;
extern "C" int iswctype(wint_t, wctype_t); using ::iswxdigit;
extern "C" wctype_t wctype(const char *); using ::iswctype;
extern "C" wint_t towlower(wint_t); using ::towlower;
extern "C" wint_t towupper(wint_t); using ::towupper;
extern "C" wint_t towctrans(wint_t, wctrans_t); using ::towctrans;
extern "C" wctrans_t wctrans(const char*); using ::wctrans;
} }
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_ALGORITHM #ifndef _CPP_ALGORITHM
#include <bits/std_algorithm.h> #include <bits/std_algorithm.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_BITSET #ifndef _CPP_BITSET
#include <bits/std_bitset.h> #include <bits/std_bitset.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
// This one should not have include guards. // This one should not have include guards.
#include <bits/std_cassert.h> #include <bits/std_cassert.h>

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CCTYPE #ifndef _CPP_CCTYPE
#include <bits/std_cctype.h> #include <bits/std_cctype.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CERRNO #ifndef _CPP_CERRNO
#include <bits/std_cerrno.h> #include <bits/std_cerrno.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CFLOAT #ifndef _CPP_CFLOAT
#include <bits/std_cfloat.h> #include <bits/std_cfloat.h>
#endif #endif

View file

@ -0,0 +1,28 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CLIMITS #ifndef _CPP_CLIMITS
#include <bits/std_climits.h> #include <bits/std_climits.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CLOCALE #ifndef _CPP_CLOCALE
#include <bits/std_clocale.h> #include <bits/std_clocale.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CMATH #ifndef _CPP_CMATH
#include <bits/std_cmath.h> #include <bits/std_cmath.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_COMPLEX #ifndef _CPP_COMPLEX
#include <bits/std_complex.h> #include <bits/std_complex.h>
#endif #endif

View file

@ -1,3 +1,31 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CSETJMP #ifndef _CPP_CSETJMP
#include <bits/std_csetjmp.h> #include <bits/std_csetjmp.h>

View file

@ -1,3 +1,31 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CSIGNAL #ifndef _CPP_CSIGNAL
#include <bits/std_csignal.h> #include <bits/std_csignal.h>

View file

@ -1,3 +1,31 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CSTDARG #ifndef _CPP_CSTDARG
#include <bits/std_cstdarg.h> #include <bits/std_cstdarg.h>

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CSTDDEF #ifndef _CPP_CSTDDEF
#include <bits/std_cstddef.h> #include <bits/std_cstddef.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CSTDIO #ifndef _CPP_CSTDIO
#include <bits/std_cstdio.h> #include <bits/std_cstdio.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CSTDLIB #ifndef _CPP_CSTDLIB
#include <bits/std_cstdlib.h> #include <bits/std_cstdlib.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CSTRING #ifndef _CPP_CSTRING
#include <bits/std_cstring.h> #include <bits/std_cstring.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CTIME #ifndef _CPP_CTIME
#include <bits/std_ctime.h> #include <bits/std_ctime.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CWCHAR #ifndef _CPP_CWCHAR
#include <bits/std_cwchar.h> #include <bits/std_cwchar.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_CWCTYPE #ifndef _CPP_CWCTYPE
#include <bits/std_cwctype.h> #include <bits/std_cwctype.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_DEQUE #ifndef _CPP_DEQUE
#include <bits/std_deque.h> #include <bits/std_deque.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_FSTREAM #ifndef _CPP_FSTREAM
#include <bits/std_fstream.h> #include <bits/std_fstream.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_FUNCTIONAL #ifndef _CPP_FUNCTIONAL
#include <bits/std_functional.h> #include <bits/std_functional.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_IOMANIP #ifndef _CPP_IOMANIP
#include <bits/std_iomanip.h> #include <bits/std_iomanip.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_IOS #ifndef _CPP_IOS
#include <bits/std_ios.h> #include <bits/std_ios.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_IOSFWD #ifndef _CPP_IOSFWD
#include <bits/std_iosfwd.h> #include <bits/std_iosfwd.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_IOSTREAM #ifndef _CPP_IOSTREAM
#include <bits/std_iostream.h> #include <bits/std_iostream.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_ISTREAM #ifndef _CPP_ISTREAM
#include <bits/std_istream.h> #include <bits/std_istream.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_ITERATOR #ifndef _CPP_ITERATOR
#include <bits/std_iterator.h> #include <bits/std_iterator.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_LIMITS #ifndef _CPP_LIMITS
#include <bits/std_limits.h> #include <bits/std_limits.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_LIST #ifndef _CPP_LIST
#include <bits/std_list.h> #include <bits/std_list.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_LOCALE #ifndef _CPP_LOCALE
#include <bits/std_locale.h> #include <bits/std_locale.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_MAP #ifndef _CPP_MAP
#include <bits/std_map.h> #include <bits/std_map.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_MEMORY #ifndef _CPP_MEMORY
#include <bits/std_memory.h> #include <bits/std_memory.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_NUMERIC #ifndef _CPP_NUMERIC
#include <bits/std_numeric.h> #include <bits/std_numeric.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_OSTREAM #ifndef _CPP_OSTREAM
#include <bits/std_ostream.h> #include <bits/std_ostream.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_QUEUE #ifndef _CPP_QUEUE
#include <bits/std_queue.h> #include <bits/std_queue.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_SET #ifndef _CPP_SET
#include <bits/std_set.h> #include <bits/std_set.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_SSTREAM #ifndef _CPP_SSTREAM
#include <bits/std_sstream.h> #include <bits/std_sstream.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_STACK #ifndef _CPP_STACK
#include <bits/std_stack.h> #include <bits/std_stack.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_STDEXCEPT #ifndef _CPP_STDEXCEPT
#include <bits/std_stdexcept.h> #include <bits/std_stdexcept.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_STREAMBUF #ifndef _CPP_STREAMBUF
#include <bits/std_streambuf.h> #include <bits/std_streambuf.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_STRING #ifndef _CPP_STRING
#include <bits/std_string.h> #include <bits/std_string.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_UTILITY #ifndef _CPP_UTILITY
#include <bits/std_utility.h> #include <bits/std_utility.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_VALARRAY #ifndef _CPP_VALARRAY
#include <bits/std_valarray.h> #include <bits/std_valarray.h>
#endif #endif

View file

@ -1,3 +1,32 @@
// -*- C++ -*- std header.
// Copyright (C) 2001 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _CPP_VECTOR #ifndef _CPP_VECTOR
#include <bits/std_vector.h> #include <bits/std_vector.h>
#endif #endif

View file

@ -67,4 +67,18 @@
#include <wctype.h> #include <wctype.h>
#endif #endif
// libstdc++/2992
namespace bar
{
int foo(const char *x)
{ return strlen(x); }
};
int main() { return 0; } int main() { return 0; }

View file

@ -67,4 +67,12 @@
#include <cwctype> #include <cwctype>
#endif #endif
// libstdc++/2992
namespace bar
{
int foo(const char *x)
{ return strlen(x); }
};
int main() { return 0; } int main() { return 0; }