2001-06-08 Benjamin Kosnik <bkoz@redhat.com>
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 Jun 2001 23:22:26 +0000 (23:22 +0000)
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 Jun 2001 23:22:26 +0000 (23:22 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43061 138bc75d-0d04-0410-961f-82ee72b054a4

67 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/c_std/bits/std_cassert.h
libstdc++-v3/include/c_std/bits/std_cctype.h
libstdc++-v3/include/c_std/bits/std_cerrno.h
libstdc++-v3/include/c_std/bits/std_cfloat.h
libstdc++-v3/include/c_std/bits/std_climits.h
libstdc++-v3/include/c_std/bits/std_clocale.h
libstdc++-v3/include/c_std/bits/std_cmath.h
libstdc++-v3/include/c_std/bits/std_csetjmp.h
libstdc++-v3/include/c_std/bits/std_csignal.h
libstdc++-v3/include/c_std/bits/std_cstdarg.h
libstdc++-v3/include/c_std/bits/std_cstddef.h
libstdc++-v3/include/c_std/bits/std_cstdio.h
libstdc++-v3/include/c_std/bits/std_cstdlib.h
libstdc++-v3/include/c_std/bits/std_cstring.h
libstdc++-v3/include/c_std/bits/std_ctime.h
libstdc++-v3/include/c_std/bits/std_cwchar.h
libstdc++-v3/include/c_std/bits/std_cwctype.h
libstdc++-v3/include/std/algorithm
libstdc++-v3/include/std/bitset
libstdc++-v3/include/std/cassert
libstdc++-v3/include/std/cctype
libstdc++-v3/include/std/cerrno
libstdc++-v3/include/std/cfloat
libstdc++-v3/include/std/ciso646
libstdc++-v3/include/std/climits
libstdc++-v3/include/std/clocale
libstdc++-v3/include/std/cmath
libstdc++-v3/include/std/complex
libstdc++-v3/include/std/csetjmp
libstdc++-v3/include/std/csignal
libstdc++-v3/include/std/cstdarg
libstdc++-v3/include/std/cstddef
libstdc++-v3/include/std/cstdio
libstdc++-v3/include/std/cstdlib
libstdc++-v3/include/std/cstring
libstdc++-v3/include/std/ctime
libstdc++-v3/include/std/cwchar
libstdc++-v3/include/std/cwctype
libstdc++-v3/include/std/deque
libstdc++-v3/include/std/fstream
libstdc++-v3/include/std/functional
libstdc++-v3/include/std/iomanip
libstdc++-v3/include/std/ios
libstdc++-v3/include/std/iosfwd
libstdc++-v3/include/std/iostream
libstdc++-v3/include/std/istream
libstdc++-v3/include/std/iterator
libstdc++-v3/include/std/limits
libstdc++-v3/include/std/list
libstdc++-v3/include/std/locale
libstdc++-v3/include/std/map
libstdc++-v3/include/std/memory
libstdc++-v3/include/std/numeric
libstdc++-v3/include/std/ostream
libstdc++-v3/include/std/queue
libstdc++-v3/include/std/set
libstdc++-v3/include/std/sstream
libstdc++-v3/include/std/stack
libstdc++-v3/include/std/stdexcept
libstdc++-v3/include/std/streambuf
libstdc++-v3/include/std/string
libstdc++-v3/include/std/utility
libstdc++-v3/include/std/valarray
libstdc++-v3/include/std/vector
libstdc++-v3/testsuite/17_intro/headers_c++.cc
libstdc++-v3/testsuite/17_intro/headers_c.cc

index 724b5b9..de33521 100644 (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>
            John David Anglin  <dave@hiauly1.hia.nrc.ca>
 
index b0e1f13..533f2e2 100644 (file)
@@ -34,7 +34,7 @@
 // No include guards on this header...
 
 #pragma GCC system_header
-#include <assert.h>
+#include_next <assert.h>
 
 
 
index e03a4fd..f03a93d 100644 (file)
 // ISO C++ 14882: <ccytpe>
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CCTYPE
 #define _CPP_CCTYPE 1
 
 #include <bits/c++config.h>
 
 #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.
 #undef isalnum
 
 namespace std
 {
-  extern "C" int isalnum(int __c);
-  extern "C" int isalpha(int __c);
-  extern "C" int isblank(int __c);
-  extern "C" int iscntrl(int __c);
-  extern "C" int isdigit(int __c);
-  extern "C" int isgraph(int __c);
-  extern "C" int islower(int __c);
-  extern "C" int isprint(int __c);
-  extern "C" int ispunct(int __c);
-  extern "C" int isspace(int __c);
-  extern "C" int isupper(int __c);
-  extern "C" int isxdigit(int __c);
-  extern "C" int tolower(int __c);
-  extern "C" int toupper(int __c);
+  using ::isalnum;
+  using ::isalpha;
+  using ::isblank;
+  using ::iscntrl;
+  using ::isdigit;
+  using ::isgraph;
+  using ::islower;
+  using ::isprint;
+  using ::ispunct;
+  using ::isspace;
+  using ::isupper;
+  using ::isxdigit;
+  using ::tolower;
+  using ::toupper;
 }
 
 #endif 
-
-
-
-
-
-
-
-
-
-
-
-
index 0d75f84..cb5a94f 100644 (file)
 // ISO C++ 14882: 19.3  Error numbers
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CERRNO
 #define _CPP_CERRNO 1
 
 #pragma GCC system_header
-#include <errno.h>
+#include_next <errno.h>
 
 // Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
 #ifndef errno
index e121c8d..0dfdd2e 100644 (file)
 // ISO C++ 14882: 18.2.2  Implementation properties: C library
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CFLOAT
 #define _CPP_CFLOAT 1
 
 #pragma GCC system_header
-#include <float.h>
+#include_next <float.h>
 
 #endif
-
index 87406e6..1eb8c0b 100644 (file)
 // ISO C++ 14882: 18.2.2  Implementation properties: C library
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CLIMITS
 #define _CPP_CLIMITS   1
 
 #pragma GCC system_header
-#include <limits.h>
+#include_next <limits.h>
 
 #endif
-
-
-
-
-
index 9fb5a1e..9a3da19 100644 (file)
 // ISO C++ 14882: 18.2.2  Implementation properties: C library
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CLOCALE
 #define _CPP_CLOCALE 1
 
 #include <bits/c++config.h>
 
 #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.
 #undef setlocale
 namespace std
 {
   using ::lconv;
-  extern "C" char* setlocale(int, const char*); 
-  extern "C" struct lconv* localeconv(void);
+  using ::setlocale;
+  using ::localeconv;
 }
 
 #endif
-
-
-
index 32a79d0..312e0a6 100644 (file)
 // ISO C++ 14882: 26.5  C library
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CMATH
 #define _CPP_CMATH 1
 
 #include <bits/c++config.h>
-#include <bits/std_cstdlib.h>
-#pragma GCC system_header
-
-// 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>
+#pragma GCC system_header
+#include_next <math.h>
 
 // Get rid of those macros defined in <math.h> in lieu of real functions.
 #undef abs
@@ -91,7 +78,6 @@ namespace std
       return __x < _Tp() ? -__x : __x;
     }
 
-  // abs.
   inline float
   abs(float __x)
   { return __builtin_fabsf(__x); }
@@ -104,8 +90,6 @@ namespace std
   abs(long double __x)
   { return __builtin_fabsl(__x); }
 
-
-  // acos.
 #if _GLIBCPP_HAVE_ACOSF
   inline float 
   acos(float __x) { return ::acosf(__x); }
@@ -114,7 +98,7 @@ namespace std
   acos(float __x) { return ::acos(static_cast<double>(__x)); }
 #endif
 
-  extern "C" double acos(double __x);
+  using ::acos;
   
 #if _GLIBCPP_HAVE_ACOSL
   inline long double 
@@ -124,8 +108,6 @@ namespace std
   acos(long double __x) { return ::acos(static_cast<double>(__x)); }
 #endif
 
-
-  // asin.
 #if _GLIBCPP_HAVE_ASINF
   inline float 
   asin(float __x) { return ::asinf(__x); }
@@ -134,7 +116,7 @@ namespace std
   asin(float __x) { return ::asin(static_cast<double>(__x)); }
 #endif
 
-  extern "C" double asin(double __x);
+  using ::asin;
 
 #if _GLIBCPP_HAVE_ASINL
   inline long double 
@@ -144,8 +126,6 @@ namespace std
   asin(long double __x) { return ::asin(static_cast<double>(__x)); }
 #endif
 
-
-  // atan.
 #if _GLIBCPP_HAVE_ATANF
   inline float 
   atan(float __x) { return ::atanf(__x); }
@@ -154,7 +134,7 @@ namespace std
   atan(float __x) { return ::atan(static_cast<double>(__x)); }
 #endif
 
-  extern "C" double atan(double __x);
+  using ::atan;
 
 #if _GLIBCPP_HAVE_ATANL
   inline long double 
@@ -164,8 +144,6 @@ namespace std
   atan(long double __x) { return ::atan(static_cast<double>(__x)); }
 #endif
 
-
-  // atan2.
 #if _GLIBCPP_HAVE_ATAN2F
   inline float 
   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)); }
 #endif
 
-  extern "C" double atan2(double __y, double __x);
+  using ::atan2;
 
 #if _GLIBCPP_HAVE_ATAN2L
   inline long double 
@@ -186,8 +164,6 @@ namespace std
   { return ::atan2(static_cast<double>(__y), static_cast<double>(__x)); }
 #endif
 
-
-  // ceil.
 #if _GLIBCPP_HAVE_CEILF
   inline float 
   ceil(float __x) { return ::ceilf(__x); }
@@ -196,7 +172,7 @@ namespace std
   ceil(float __x) { return ::ceil(static_cast<double>(__x)); }
 #endif
 
-  extern "C" double ceil(double __x);
+  using ::ceil;
 
 #if _GLIBCPP_HAVE_CEILL
   inline long double 
@@ -206,22 +182,16 @@ namespace std
   ceil(long double __x) { return ::ceil(static_cast<double>(__x)); }
 #endif
 
-
-  // cos.
   inline float
   cos(float __x)
   { return __builtin_cosf(__x); }
 
-  inline double
-  cos(double __x)
-  { return __builtin_cos(__x); }
+  using ::cos;
 
   inline long double
   cos(long double __x)
   { return __builtin_cosl(__x); }
 
-
-  // cosh.
 #if _GLIBCPP_HAVE_COSHF
   inline float 
   cosh(float __x) { return ::coshf(__x); }
@@ -230,7 +200,7 @@ namespace std
   cosh(float __x) { return ::cosh(static_cast<double>(__x)); }
 #endif
 
-  extern "C" double cosh(double __x);
+  using ::cosh;
 
 #if _GLIBCPP_HAVE_COSHL
   inline long double 
@@ -240,8 +210,6 @@ namespace std
   cosh(long double __x) { return ::cosh(static_cast<double>(__x)); }
 #endif
 
-
-  // exp.
 #if _GLIBCPP_HAVE_EXPF
   inline float 
   exp(float __x) { return ::expf(__x); }
@@ -250,7 +218,7 @@ namespace std
   exp(float __x) { return ::exp(static_cast<double>(__x)); }
 #endif
 
-  extern "C" double exp(double __x);
+  using ::exp;
 
 #if _GLIBCPP_HAVE_EXPL
   inline long double 
@@ -260,22 +228,16 @@ namespace std
   exp(long double __x) { return ::exp(static_cast<double>(__x)); }
 #endif
 
-
-  // fabs.
   inline float
   fabs(float __x)
   { return __builtin_fabsf(__x); }
 
-  inline double
-  fabs(double __x)
-  { return __builtin_fabs(__x); }
+  using ::fabs;
 
   inline long double
   fabs(long double __x)
   { return __builtin_fabsl(__x); }
 
-
-  // floor.
 #if _GLIBCPP_HAVE_FLOORF
   inline float 
   floor(float __x) { return ::floorf(__x); }
@@ -284,7 +246,7 @@ namespace std
   floor(float __x) { return ::floor(static_cast<double>(__x)); }
 #endif
 
-  extern "C" double floor(double __x);
+  using ::floor;
 
 #if _GLIBCPP_HAVE_FLOORL
   inline long double 
@@ -294,8 +256,6 @@ namespace std
   floor(long double __x) { return ::floor(static_cast<double>(__x)); }
 #endif
 
-
-  // fmod.
 #if _GLIBCPP_HAVE_FMODF
   inline float 
   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)); }
 #endif
 
-  extern "C" double fmod(double __x, double __y);
+  using ::fmod;
 
 #if _GLIBCPP_HAVE_FMODL
   inline long double 
@@ -316,8 +276,6 @@ namespace std
   { return ::fmod(static_cast<double>(__x), static_cast<double>(__y)); }
 #endif
 
-
-  // frexp.
 #if _GLIBCPP_HAVE_FREXPF
   inline float 
   frexp(float __x, int* __exp) { return ::frexpf(__x, __exp); }
@@ -326,7 +284,7 @@ namespace std
   frexp(float __x, int* __exp) { return ::frexp(__x, __exp); }
 #endif
 
-  extern "C" double frexp(double __x, int* __exp);
+  using ::frexp;
 
 #if _GLIBCPP_HAVE_FREXPL
   inline long double 
@@ -337,8 +295,6 @@ namespace std
   { return ::frexp(static_cast<double>(__x), __exp); }
 #endif
 
-
-  // ldexp.
 #if _GLIBCPP_HAVE_LDEXPF
   inline float 
   ldexp(float __x, int __exp) { return ::ldexpf(__x, __exp); }
@@ -348,7 +304,7 @@ namespace std
   { return ::ldexp(static_cast<double>(__x), __exp); }
 #endif
 
-  extern "C" double ldexp(double __x, int __exp);
+  using ::ldexp;
 
 #if _GLIBCPP_HAVE_LDEXPL
   inline long double 
@@ -359,8 +315,6 @@ namespace std
   { return ::ldexp(static_cast<double>(__x), __exp); }
 #endif
 
-
-  // log.
 #if _GLIBCPP_HAVE_LOGF
   inline float 
   log(float __x) { return ::logf(__x); }
@@ -369,7 +323,7 @@ namespace std
   { return ::log(static_cast<double>(__x)); }
 #endif
 
-  extern "C" double log(double __x);
+  using ::log;
 
 #if _GLIBCPP_HAVE_LOGL
   inline long double 
@@ -379,8 +333,6 @@ namespace std
   log(long double __x) { return ::log(static_cast<double>(__x)); }
 #endif
 
-
-  // log10.
 #if _GLIBCPP_HAVE_LOG10F
   inline float 
   log10(float __x) { return ::log10f(__x); }
@@ -389,7 +341,7 @@ namespace std
   log10(float __x) { return ::log10(static_cast<double>(__x)); }
 #endif
 
-  extern "C" double log10(double __x);
+  using ::log10;
 
 #if _GLIBCPP_HAVE_LOG10L
   inline long double 
@@ -399,8 +351,6 @@ namespace std
   log10(long double __x) { return ::log10(static_cast<double>(__x)); }
 #endif
 
-
-  // modf.
 #if _GLIBCPP_HAVE_MODFF
   inline float 
   modf(float __x, float* __iptr) { return ::modff(__x, __iptr); }
@@ -415,7 +365,7 @@ namespace std
   }
 #endif
 
-  extern "C" double modf(double __x, double* __iptr);
+  using ::modf;
 
 #if _GLIBCPP_HAVE_MODFL
   inline long double 
@@ -431,8 +381,6 @@ namespace std
   }
 #endif
 
-
-  // pow.
   template<typename _Tp>
     inline _Tp
     __pow_helper(_Tp __x, int __n)
@@ -451,7 +399,7 @@ namespace std
   { return ::pow(static_cast<double>(__x), static_cast<double>(__y)); }
 #endif
 
-  extern "C" double pow(double __x, double __y);
+  using ::pow;
 
 #if _GLIBCPP_HAVE_POWL
   inline long double 
@@ -464,38 +412,26 @@ namespace std
 
   inline float 
   pow(float __x, int __n)
-  {
-    return __pow_helper(__x, __n);
-  }
+  { return __pow_helper(__x, __n); }
 
   inline double 
   pow(double __x, int __i)
-  {
-    return __pow_helper(__x, __i);
-  }
+  { return __pow_helper(__x, __i); }
 
   inline long double 
   pow(long double __x, int __n)
-  {
-    return __pow_helper(__x, __n);
-  }
-
+  { return __pow_helper(__x, __n); }
 
-  // sin.
   inline float
   sin(float __x)
   { return __builtin_sinf(__x); }
 
-  inline double
-  sin(double __x)
-  { return __builtin_sin(__x); }
+  using ::sin;
 
   inline long double
   sin(long double __x)
   { return __builtin_sinl(__x); }
 
-  
-  // sinh.
 #if _GLIBCPP_HAVE_SINHF
   inline float 
   sinh(float __x) { return ::sinhf(__x); }
@@ -504,7 +440,7 @@ namespace std
   sinh(float __x) { return ::sinh(static_cast<double>(__x)); }
 #endif
 
-  extern "C" double sinh(double __x);
+  using ::sinh;
 
 #if _GLIBCPP_HAVE_SINHL
   inline long double 
@@ -514,22 +450,16 @@ namespace std
   sinh(long double __x) { return ::sinh(static_cast<double>(__x)); }
 #endif
 
-
-  // sqrt.
   inline float
   sqrt(float __x)
   { return __builtin_sqrtf(__x); }
 
-  inline double
-  sqrt(double __x)
-  { return __builtin_fsqrt(__x); }
+  using ::sqrt;
 
   inline long double
   sqrt(long double __x)
   { return __builtin_sqrtl(__x); }
 
-
-  // tan.
 #if _GLIBCPP_HAVE_TANF
   inline float 
   tan(float __x) { return ::tanf(__x); }
@@ -538,7 +468,7 @@ namespace std
   tan(float __x) { return ::tan(static_cast<double>(__x)); }
 #endif
 
-  extern "C" double tan(double __x);
+  using ::tan;
 
 #if _GLIBCPP_HAVE_TANL
   inline long double 
@@ -548,8 +478,6 @@ namespace std
   tan(long double __x) { return ::tan(static_cast<double>(__x)); }
 #endif
 
-
-  // tanh.
 #if _GLIBCPP_HAVE_TANHF
   inline float 
   tanh(float __x) { return ::tanhf(__x); }
@@ -558,7 +486,7 @@ namespace std
   tanh(float __x) { return ::tanh(static_cast<double>(__x)); }
 #endif
 
-  extern "C" double tanh(double __x);
+  using ::tanh;
 
 #if _GLIBCPP_HAVE_TANHL
   inline long double 
index d282ae6..73648ae 100644 (file)
 // ISO C++ 14882: 20.4.6  C library
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CSETJMP
 #define _CPP_CSETJMP 1
 
 #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.
 #undef longjmp
@@ -50,7 +48,7 @@
 namespace std
 {
   using ::jmp_buf;
-  extern "C" void longjmp(jmp_buf, int);
+  using ::longjmp;
 }
 
 #endif
index 437590f..f30d9e0 100644 (file)
 // ISO C++ 14882: 20.4.6  C library
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CSIGNAL
 #define _CPP_CSIGNAL 1
 
 #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.
 #undef raise
@@ -45,8 +43,8 @@
 namespace std
 {
   using ::sig_atomic_t;
-  extern "C" void (*signal(int, void (*__func)(int)))(int); 
-  extern "C" int raise(int);
+  using ::signal;
+  using ::raise;
 }
 
 #endif
index ce0bf28..c327520 100644 (file)
 // ISO C++ 14882: 20.4.6  C library
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CSTDARG
 #define _CPP_CSTDARG 1
 
 #pragma GCC system_header
-#include <stdarg.h>
+#include_next <stdarg.h>
 
 // Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
 #ifndef va_end
index d03c899..79c89a6 100644 (file)
 // ISO C++ 14882: 18.1  Types
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CSTDDEF
 #define _CPP_CSTDDEF 1
 
 #pragma GCC system_header
-#include <stddef.h>
+#include_next <stddef.h>
 
 namespace std 
 {
index ba731a6..aecf407 100644 (file)
@@ -31,8 +31,6 @@
 // ISO C++ 14882: 27.8.2  C Library files
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CSTDIO
 #define _CPP_CSTDIO 1
 
@@ -41,7 +39,7 @@
 #include <bits/std_cstddef.h>
 
 #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.
 #undef remove
@@ -96,60 +94,52 @@ namespace std
   using ::FILE;
   using ::fpos_t;
 
-  extern "C" int remove(const char*); 
-  extern "C" int rename(const char*, const char*); 
-  extern "C" FILE* tmpfile(void); 
-  extern "C" char* tmpnam(char*); 
-  extern "C" int fclose(FILE*); 
-  extern "C" int fflush(FILE*); 
-  extern "C" FILE* fopen(const char*, const char*); 
-  extern "C" FILE* freopen(const char*, const char*, FILE*); 
-  extern "C" void setbuf(FILE*, char*);
-  extern "C" int setvbuf(FILE*, char*, int, size_t); 
-  extern "C" int fprintf(FILE*, const char*, ...); 
-  extern "C" int fscanf(FILE*, const char*, ...); 
-  extern "C" int printf(const char*, ...); 
-  extern "C" int scanf(const char*, ...); 
-  extern "C" int snprintf(char *, size_t, const char*, ...);
-  extern "C" int sprintf(char *, const char*, ...); 
-  extern "C" int sscanf(const char*, const char*, ...); 
-  extern "C" int vfprintf(FILE*, const char*, va_list); 
-  extern "C" int vfscanf(FILE*, const char*, va_list); 
-  extern "C" int vprintf(const char*, va_list); 
-  extern "C" int vscanf(const char*, va_list); 
-  extern "C" int vsnprintf(char*, size_t, const char*, va_list); 
-  extern "C" int vsprintf(char*, const char*, va_list); 
-  extern "C" int vsscanf(const char*, const char*, va_list); 
-  extern "C" int fgetc(FILE *); 
-  extern "C" char *fgets(char*, int, FILE*); 
-  extern "C" int fputc(int, FILE*); 
-  extern "C" int fputs(const char*, FILE*); 
-  extern "C" int getc(FILE*); 
-  extern "C" int getchar(void); 
-  extern "C" char *gets(char*); 
-  extern "C" int putc(int, FILE*); 
-  extern "C" int putchar(int); 
-  extern "C" int puts(const char*); 
-  extern "C" int ungetc(int, FILE*);
-  extern "C" size_t fread(void*, size_t, size_t, FILE*); 
-  extern "C" size_t fwrite(const void*, size_t, size_t, FILE*); 
-  extern "C" int fgetpos(FILE*, fpos_t*); 
-  extern "C" int fseek(FILE*, long int, int); 
-  extern "C" int fsetpos(FILE*, const fpos_t*); 
-  extern "C" long int ftell(FILE*); 
-  extern "C" void rewind(FILE*); 
-  extern "C" void clearerr(FILE*); 
-  extern "C" int feof(FILE*); 
-  extern "C" int ferror(FILE*); 
-  extern "C" void perror(const char*);
+  using ::remove;
+  using ::rename;
+  using ::tmpfile;
+  using ::tmpnam;
+  using ::fclose;
+  using ::fflush;
+  using ::fopen;
+  using ::freopen;
+  using ::setbuf;
+  using ::setvbuf;
+  using ::fprintf;
+  using ::fscanf;
+  using ::printf;
+  using ::scanf;
+  using ::snprintf;
+  using ::sprintf;
+  using ::sscanf;
+  using ::vfprintf;
+  using ::vfscanf;
+  using ::vprintf;
+  using ::vscanf;
+  using ::vsnprintf;
+  using ::vsprintf;
+  using ::vsscanf;
+  using ::fgetc;
+  using ::fgets;
+  using ::fputc;
+  using ::fputs;
+  using ::getc;
+  using ::getchar;
+  using ::gets;
+  using ::putc;
+  using ::putchar;
+  using ::puts;
+  using ::ungetc;
+  using ::fread;
+  using ::fwrite;
+  using ::fgetpos;
+  using ::fseek;
+  using ::fsetpos;
+  using ::ftell;
+  using ::rewind;
+  using ::clearerr;
+  using ::feof;
+  using ::ferror;
+  using ::perror;
 }
 
 #endif
-
-
-
-
-
-
-
-
index 32475da..3577f74 100644 (file)
 // ISO C++ 14882: 20.4.6  C library
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CSTDLIB
 #define _CPP_CSTDLIB 1
 
 #include <bits/c++config.h>
-#include <bits/std_cstddef.h>
 
 #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.
 #undef atof
 
 namespace std 
 {
+  using ::size_t;      // cstddef
+
   using ::div_t;
   using ::ldiv_t;
 
-  extern "C" double atof(const char*); 
-  extern "C" int atoi(const char*); 
-  extern "C" long int atol(const char*); 
-  extern "C" double strtod(const char*, char**); 
-  extern "C" float strtof(const char*, char**); 
-  extern "C" long int strtol(const char*, char**, int); 
-  extern "C" unsigned long int strtoul(const char*, char**, int);
-  extern "C" int rand(void); 
-  extern "C" void srand(unsigned int); 
-  extern "C" void* calloc(size_t, size_t); 
-  extern "C" void free(void*); 
-  extern "C" void* malloc(size_t); 
-  extern "C" void* realloc(void*, size_t); 
-  extern "C" void abort(void); 
-  extern "C" int atexit(void (*func)(void)); 
-  extern "C" void exit(int); 
-  extern "C" void _Exit(int); 
-  extern "C" char*getenv(const char*); 
-  extern "C" int system(const char*); 
-  extern "C" void* bsearch(const void*, const void*, size_t, size_t, 
-                          int (*comp)(const void *, const void *)); 
-  extern "C" void qsort(void*, size_t, size_t, 
-                       int (*comp)(const void *, const void *)); 
-  extern "C" int abs(int); 
-  extern "C" long int labs(long int); 
-  extern "C" div_t div(int, int); 
-  extern "C" ldiv_t ldiv(long int, long int); 
-  extern "C" int mblen(const char*, size_t); 
-  extern "C" int mbtowc(wchar_t*, const char*, size_t); 
-  extern "C" int wctomb(char*, wchar_t); 
-  extern "C" size_t mbstowcs(wchar_t*, const char*, size_t); 
-  extern "C" size_t wcstombs(char*, const wchar_t*, size_t);
+  using ::atof;
+  using ::atoi;
+  using ::atol;
+  using ::strtod;
+  using ::strtof;
+  using ::strtol;
+  using ::strtoul;
+  using ::rand;
+  using ::srand;
+  using ::calloc;
+  using ::free;
+  using ::malloc;
+  using ::realloc;
+  using ::abort;
+  using ::atexit;
+  using ::exit;
+  using ::_Exit;
+  using ::getenv;
+  using ::system;
+  using ::bsearch;
+  using ::qsort;
+  using ::abs;
+  using ::labs;
+  using ::div;
+  using ::ldiv;
+  using ::mblen;
+  using ::mbtowc;
+  using ::wctomb;
+  using ::mbstowcs;
+  using ::wcstombs;
 
   inline long 
-  abs(long __i) { return ::labs(__i); }
+  abs(long __i) { return labs(__i); }
 
   inline ldiv_t
-  div(long __i, long __j) { return ::ldiv(__i, __j); }
+  div(long __i, long __j) { return ldiv(__i, __j); }
 } // namespace std
 
 #if _GLIBCPP_USE_C99
@@ -144,12 +141,12 @@ namespace __gnu_cxx
   lldiv(long long __n, long long __d)
   { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
 
-  extern "C" long long int atoll(const char*); 
-  extern "C" long long int strtoll(const char*, char**, int); 
-  extern "C" unsigned long long int strtoull(const char*, char**, int); 
+  using ::atoll;
+  using ::strtoll;
+  using ::strtoull;
 
 #ifdef _GLIBCPP_HAVE_STRTOLD
-  extern "C" long double strtold(const char*, char**)
+  using ::strtold
 #endif
 } // namespace __gnu_cxx
 
@@ -157,7 +154,7 @@ namespace std
 {
   using __gnu_cxx::lldiv_t;
   using __gnu_cxx::abs;
-  //using __gnu_cxx::llabs; // XXX ???
+  using __gnu_cxx::llabs; 
   using __gnu_cxx::div;
   using __gnu_cxx::lldiv;
   using __gnu_cxx::atoll;
index 08c7b02..850c4d3 100644 (file)
 // ISO C++ 14882: 20.4.6  C library
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CSTRING
 #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
-#include <string.h>
+#include_next <string.h>
 
 // Get rid of those macros defined in <string.h> in lieu of real functions.
 #undef memcpy
 
 namespace std 
 {
-  inline void*
-  memcpy(void* __p1, const void* __p2, size_t __n)
-  { return __builtin_memcpy(__p1, __p2, __n); }
-
-  extern "C" void* memmove(void*, const void*, size_t); 
-
-  inline char*
-  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); 
+  using ::size_t;      // cstddef
+
+  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;
+
+  using ::memchr;
 
   inline void*
   memchr(void* __p, int __c, size_t __n)
-  {
-    return const_cast<void*>(memchr(const_cast<const void*>(__p), __c, __n));
-  }
+  { return memchr(const_cast<const void*>(__p), __c, __n); }
 
-  inline const char*
-  strchr(const char* __s1, int __n)
-  { return const_cast<const char*>(__builtin_strchr(__s1, __n)); }
+  using ::strchr;
 
   inline char*
   strchr(char* __s1, int __n)
-  {
-    return 
-      const_cast<char*>(__builtin_strchr(const_cast<const char*>(__s1), __n));
-  }
-
-  inline size_t
-  strcspn(const char* __s1, const char* __s2)
-  { return __builtin_strcspn(__s1, __s2); }
+  { return __builtin_strchr(const_cast<const char*>(__s1), __n); }
 
-  inline const char*
-  strpbrk(const char* __s1, const char* __s2)
-  { return const_cast<char*>(__builtin_strpbrk(__s1, __s2)); }
+  using ::strpbrk;
 
   inline char*
   strpbrk(char* __s1, const char* __s2)
-  {
-    return const_cast<char*>
-      (__builtin_strpbrk(const_cast<const char*>(__s1), __s2));
-  }
+  { return __builtin_strpbrk(const_cast<const char*>(__s1), __s2); }
 
-  inline const char*
-  strrchr(const char* __s1, int __n)
-  { return const_cast<char*>(__builtin_strrchr(__s1, __n)); }
+  using ::strrchr;
 
   inline char*
   strrchr(char* __s1, int __n)
   { return __builtin_strrchr(const_cast<const char*>(__s1), __n); }
 
-  inline size_t
-  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)); }
+  using ::strstr;
 
   inline char*
   strstr(char* __s1, const char* __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); }
+  { return __builtin_strstr(const_cast<const char*>(__s1), __s2); }
 }
 
 #endif
-
-
-
index d4bb28d..2fc6e42 100644 (file)
 // ISO C++ 14882: 20.5  Date and time
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CTIME
 #define _CPP_CTIME 1
 
-#include <bits/c++config.h>
-#include <bits/std_cstddef.h>
-
 #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.
 #undef clock
 
 namespace std
 {
+  using ::size_t;      // cstddef
+
   using ::clock_t;
   using ::time_t;
   using ::tm;
 
-  extern "C" clock_t clock(void); 
-  extern "C" double difftime(time_t, time_t); 
-  extern "C" time_t mktime(struct tm*); 
-  extern "C" time_t time(time_t*); 
-  extern "C" char* asctime(const struct tm*); 
-  extern "C" char* ctime(const time_t*); 
-  extern "C" struct tm* gmtime(const time_t*); 
-  extern "C" struct tm* localtime(const time_t*); 
-  extern "C" size_t strftime(char*, size_t, const char*, const struct tm*);
+  using ::clock;
+  using ::difftime;
+  using ::mktime;
+  using ::time;
+  using ::asctime;
+  using ::ctime;
+  using ::gmtime;
+  using ::localtime;
+  using ::strftime;
 }
 
 #endif
index b8f99ec..5c7db09 100644 (file)
 // ISO C++ 14882: ???
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CWCHAR
 #define _CPP_CWCHAR 1
 
 #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
-// 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
-#include <wchar.h>
+#include_next <wchar.h>
 #endif
 
 // 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.
+#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 vwscanf
 #undef wprintf
@@ -98,118 +102,119 @@ namespace std
 #undef wcscoll
 #undef wcsncmp
 #undef wcsxfrm
-#undef wcschr
 #undef wcscspn
 #undef wcslen
-#undef wcspbrk
-#undef wcsrchr
 #undef wcsspn
-#undef wcsstr
 #undef wcstok
-#undef wmemchr
 #undef wmemcmp
 #undef wmemcpy
 #undef wmemmove
 #undef wmemset
 #undef wcsftime
-#undef wcstold
-#undef wcstoll
-#undef wcstoull
+
+#undef wcschr
+#undef wcspbrk
+#undef wcsrchr
+#undef wcsstr
+#undef wmemchr
 
 #if _GLIBCPP_USE_WCHAR_T
 namespace std
 {
+  using ::size_t;      // cstddef
+
   using ::wint_t;
 
-  extern "C" wint_t btowc(int); 
-  extern "C" int wctob(wint_t); 
-  extern "C" wint_t fgetwc(FILE*); 
-  extern "C" wchar_t* fgetws(wchar_t*, int, FILE*); 
-  extern "C" wint_t fputwc(wchar_t, FILE*); 
-  extern "C" int fputws(const wchar_t*, FILE*); 
-  extern "C" int fwide(FILE*, int); 
-  extern "C" int fwprintf(FILE*, const wchar_t*, ...); 
-  extern "C" int fwscanf(FILE*, const wchar_t*, ...); 
-  extern "C" int swprintf(wchar_t*, size_t, const wchar_t*, ...); 
-  extern "C" int swscanf(const wchar_t*, const wchar_t*, ...); 
-  extern "C" int vfwprintf(FILE*, const wchar_t*, va_list); 
-  extern "C" int vfwscanf(FILE*, const wchar_t*, va_list); 
-  extern "C" int vswprintf(wchar_t*, size_t, const wchar_t*, va_list); 
-  extern "C" int vswscanf(const wchar_t*, const wchar_t*, va_list); 
-  extern "C" int vwprintf(const wchar_t*, va_list); 
-  extern "C" int vwscanf(const wchar_t*, va_list); 
-  extern "C" int wprintf(const wchar_t*, ...); 
-  extern "C" int wscanf(const wchar_t*, ...); 
-  extern "C" wint_t getwc(FILE* stream); 
-  extern "C" wint_t getwchar(void); 
-  extern "C" int mbsinit(const mbstate_t*); 
-  extern "C" size_t mbrlen(const char*, size_t, mbstate_t*); 
-  extern "C" size_t mbrtowc(wchar_t*, const char*, size_t, mbstate_t*); 
-  extern "C" size_t mbsrtowcs(wchar_t*, const char**, size_t, mbstate_t*); 
-  extern "C" size_t wcsrtombs(char*, const wchar_t **, size_t, mbstate_t*);
-  extern "C" wint_t putwc(wchar_t, FILE*); 
-  extern "C" wint_t putwchar(wchar_t); 
-  extern "C" wint_t ungetwc(wint_t, FILE*);
-  extern "C" size_t wcrtomb(char*, wchar_t, mbstate_t*); 
-  extern "C" double wcstod(const wchar_t*, wchar_t**); 
-  extern "C" float wcstof(const wchar_t*, wchar_t**); 
-  extern "C" long int wcstol(const wchar_t*, wchar_t**, int); 
-  extern "C" unsigned long int wcstoul(const wchar_t*, wchar_t**, int); 
-  extern "C" wchar_t* wcscpy(wchar_t* s1, const wchar_t*); 
-  extern "C" wchar_t* wcsncpy(wchar_t*, const wchar_t*, size_t); 
-  extern "C" wchar_t* wcscat(wchar_t*, const wchar_t*); 
-  extern "C" wchar_t* wcsncat(wchar_t*, const wchar_t*, size_t); 
-  extern "C" int wcscmp(const wchar_t*, const wchar_t*); 
-  extern "C" int wcscoll(const wchar_t*, const wchar_t*); 
-  extern "C" int wcsncmp(const wchar_t*, const wchar_t*, size_t); 
-  extern "C" size_t wcsxfrm(wchar_t*, const wchar_t*, size_t); 
-  extern "C" const wchar_t* wcschr(const wchar_t*, wchar_t); 
+  using ::btowc;
+  using ::wctob;
+  using ::fgetwc;
+  using ::fgetwc;
+  using ::fgetws;
+  using ::fputwc;
+  using ::fputws;
+  using ::fwide;
+  using ::fwprintf;
+  using ::fwscanf;
+  using ::swprintf;
+  using ::swscanf;
+  using ::vfwprintf;
+  using ::vfwscanf;
+  using ::vswprintf;
+  using ::vswscanf;
+  using ::vwprintf;
+  using ::vwscanf;
+  using ::wprintf;
+  using ::wscanf;
+  using ::getwc;
+  using ::getwchar;
+  using ::mbsinit;
+  using ::mbrlen;
+  using ::mbrtowc;
+  using ::mbsrtowcs;
+  using ::wcsrtombs;
+  using ::putwc;
+  using ::putwchar;
+  using ::ungetwc;
+  using ::wcrtomb;
+  using ::wcstod;
+  using ::wcstof;
+  using ::wcstol;
+  using ::wcstoul;
+  using ::wcscpy;
+  using ::wcsncpy;
+  using ::wcscat;
+  using ::wcsncat;
+  using ::wcscmp;
+  using ::wcscoll;
+  using ::wcsncmp;
+  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*
   wcschr(wchar_t* __p, wchar_t __c)
-  {
-    return const_cast<wchar_t*>(wcschr(const_cast<const wchar_t*>(__p), __c));
-  }
-  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*); 
+  { return wcschr(const_cast<const wchar_t*>(__p), __c); }
+
+  using ::wcspbrk;
+
   inline wchar_t*
   wcspbrk(wchar_t* __s1, wchar_t* __s2)
-  {
-    return const_cast<wchar_t*>(wcspbrk(const_cast<const wchar_t*>(__s1), __s2));
-  }
-  extern "C" const wchar_t* wcsrchr(const wchar_t*, wchar_t); 
+  { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
+
+  using ::wcsrchr;
+
   inline wchar_t*
   wcsrchr(wchar_t* __p, wchar_t __c)
-  {
-    return const_cast<wchar_t*>(wcsrchr(const_cast<const wchar_t*>(__p), __c));
-  }
-  extern "C" size_t wcsspn(const wchar_t*, const wchar_t*); 
-  extern "C" const wchar_t* wcsstr(const wchar_t*, const wchar_t*); 
+  { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
+
+  using ::wcsstr;
+
   inline wchar_t*
   wcsstr(wchar_t* __s1, wchar_t* __s2)
-  {
-    return const_cast<wchar_t*>(wcsstr(const_cast<const wchar_t*>(__s1), __s2));
-  }
-  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);
+  { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
+
+  using ::wmemchr;
+
   inline wchar_t*
   wmemchr(wchar_t* __p, wchar_t __c, size_t __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*); 
+  { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
 }
 
 #if _GLIBCPP_USE_C99
 namespace __gnu_cxx
 {
-  extern "C" long double wcstold(const wchar_t*, wchar_t**); 
-  extern "C" long long int wcstoll(const wchar_t*, wchar_t**, int); 
-  extern "C" unsigned long long int wcstoull(const wchar_t*, wchar_t**, int); 
+  using ::wcstold;
+  using ::wcstoll;
+  using ::wcstoull;
 }
 
 namespace std
index 9544a82..8fd58d0 100644 (file)
 // ISO C++ 14882: <cwctype>
 //
 
-// Note: This is not a conforming implementation.
-
 #ifndef _CPP_CWCTYPE
 #define _CPP_CWCTYPE 1
 
-#include <bits/std_cwchar.h>
-
 #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.
 #undef iswalnum
 
 namespace std
 {
+  using ::wint_t;        // cwchar
+
   using ::wctype_t;
   using ::wctrans_t;
 
-  extern "C" int iswalnum(wint_t); 
-  extern "C" int iswalpha(wint_t); 
-  extern "C" int iswblank(wint_t); 
-  extern "C" int iswcntrl(wint_t); 
-  extern "C" int iswdigit(wint_t); 
-  extern "C" int iswgraph(wint_t); 
-  extern "C" int iswlower(wint_t); 
-  extern "C" int iswprint(wint_t); 
-  extern "C" int iswpunct(wint_t); 
-  extern "C" int iswspace(wint_t); 
-  extern "C" int iswupper(wint_t); 
-  extern "C" int iswxdigit(wint_t);
-  extern "C" int iswctype(wint_t, wctype_t); 
-  extern "C" wctype_t wctype(const char *); 
-  extern "C" wint_t towlower(wint_t); 
-  extern "C" wint_t towupper(wint_t); 
-  extern "C" wint_t towctrans(wint_t, wctrans_t); 
-  extern "C" wctrans_t wctrans(const char*);
+  using ::iswalnum;
+  using ::iswalpha;
+  using ::iswblank;
+  using ::iswcntrl;
+  using ::iswdigit;
+  using ::iswgraph;
+  using ::iswlower;
+  using ::iswprint;
+  using ::iswprint;
+  using ::iswpunct;
+  using ::iswspace;
+  using ::iswupper;
+  using ::iswxdigit;
+  using ::iswctype;
+  using ::towlower;
+  using ::towupper;
+  using ::towctrans;
+  using ::wctrans;
 }
 
 #endif 
-
-
-
-
-
-
-
index eebcdf2..06a553f 100644 (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
 #include <bits/std_algorithm.h>
 #endif
index e334ec9..9ce6c79 100644 (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
 #include <bits/std_bitset.h>
 #endif
index bee254d..fe0b8b5 100644 (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.
 #include <bits/std_cassert.h>
 
index d888a3f..868e4be 100644 (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
 #include <bits/std_cctype.h>
 #endif
index 5d2cf1f..b7bfe3a 100644 (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
 #include <bits/std_cerrno.h>
 #endif
index c6cb357..d91824d 100644 (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
 #include <bits/std_cfloat.h>
 #endif
index e69de29..f5dd444 100644 (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.
index b761484..afadc64 100644 (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
 #include <bits/std_climits.h>
 #endif
index 6ac636f..8a62dfa 100644 (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
 #include <bits/std_clocale.h>
 #endif
index 783e76a..95da649 100644 (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
 #include <bits/std_cmath.h>
 #endif
index 2cc52f5..dfc144f 100644 (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
 #include <bits/std_complex.h>
 #endif
index 79531e3..ce6fb32 100644 (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
 #include <bits/std_csetjmp.h>
index e5c1837..b3da42a 100644 (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
 #include <bits/std_csignal.h>
index 37b2459..36032b2 100644 (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
 #include <bits/std_cstdarg.h>
index fab4214..086bb72 100644 (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
 #include <bits/std_cstddef.h>
 #endif
index f2a0135..4d8aced 100644 (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
 #include <bits/std_cstdio.h>
 #endif
index 9823026..7796c6b 100644 (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
 #include <bits/std_cstdlib.h>
 #endif
index b6a3bd9..8d30ba8 100644 (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
 #include <bits/std_cstring.h>
 #endif
index 838fd43..b19136e 100644 (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
 #include <bits/std_ctime.h>
 #endif
index 2cfc330..311b2e9 100644 (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
 #include <bits/std_cwchar.h>
 #endif
index ccd4908..4cf2e7d 100644 (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
 #include <bits/std_cwctype.h>
 #endif
index 2215fd0..c8ee81e 100644 (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
 #include <bits/std_deque.h>
 #endif
index afe99e9..1a68f5a 100644 (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
 #include <bits/std_fstream.h>
 #endif
index 700c211..ea48352 100644 (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
 #include <bits/std_functional.h>
 #endif
index d3c2aa8..2aa00fa 100644 (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
 #include <bits/std_iomanip.h>
 #endif
index 7132ead..ff398de 100644 (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
 #include <bits/std_ios.h>
 #endif
index 6a97d3d..3756982 100644 (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
 #include <bits/std_iosfwd.h>
 #endif
index f94fd05..a85fd08 100644 (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
 #include <bits/std_iostream.h>
 #endif
index 9594261..9c6bc55 100644 (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
 #include <bits/std_istream.h>
 #endif
index eb22c69..2560439 100644 (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
 #include <bits/std_iterator.h>
 #endif
index ba86fe0..8a52c9c 100644 (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
 #include <bits/std_limits.h>
 #endif
index ea18836..a32e18d 100644 (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
 #include <bits/std_list.h>
 #endif
index 5452ae8..56c416d 100644 (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
 #include <bits/std_locale.h>
 #endif
index 16d24f8..06c638d 100644 (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
 #include <bits/std_map.h>
 #endif
index f905b4d..ca98df6 100644 (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
 #include <bits/std_memory.h>
 #endif
index b3817a8..32ba67d 100644 (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
 #include <bits/std_numeric.h>
 #endif
index beed8c5..4564be7 100644 (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
 #include <bits/std_ostream.h>
 #endif
index 278270c..c4464bf 100644 (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
 #include <bits/std_queue.h>
 #endif
index 7aa6a38..62d6718 100644 (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
 #include <bits/std_set.h>
 #endif
index 92c57cb..1a393ed 100644 (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
 #include <bits/std_sstream.h>
 #endif
index db3771e..793a003 100644 (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
 #include <bits/std_stack.h>
 #endif
index da75270..d9e93f2 100644 (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
 #include <bits/std_stdexcept.h>
 #endif
index 0a58fbd..ec6c7b5 100644 (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
 #include <bits/std_streambuf.h>
 #endif
index 8e3cd42..a766cdd 100644 (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
 #include <bits/std_string.h>
 #endif
index 924a853..787e799 100644 (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
 #include <bits/std_utility.h>
 #endif
index e98bbce..cb13d82 100644 (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
 #include <bits/std_valarray.h>
 #endif
index c074b77..ce2f51e 100644 (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
 #include <bits/std_vector.h>
 #endif
index ad75bca..cb6a71d 100644 (file)
   #include <wctype.h>
 #endif
 
+// libstdc++/2992
+namespace bar
+{
+  int foo(const char *x)
+  { return strlen(x); }
+};
+
+
 int main() { return 0; }
+
+
+
+
+
+
index 5831887..b4fe658 100644 (file)
   #include <cwctype>
 #endif
 
+// libstdc++/2992
+namespace bar
+{
+  int foo(const char *x)
+  { return strlen(x); }
+};
+
+
 int main() { return 0; }