]> gcc.gnu.org Git - gcc.git/commitdiff
[multiple changes]
authorBenjamin Kosnik <bkoz@gcc.gnu.org>
Tue, 31 Oct 2000 01:26:06 +0000 (01:26 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Tue, 31 Oct 2000 01:26:06 +0000 (01:26 +0000)
2000-10-30  Benjamin Kosnik  <bkoz@redhat.com>

* src/complex_io.cc : Remove ancient defines.
* config/os/gnu-linux/bits/os_defines.h: Add defines.
* libsupc++/tinfo2.cc: Change to cstddef.

* include/bits/codecvt.h: Add include of c++config.h, so that
__USE_GNU gets defined. (Important for alpha.)

* include/c/bits/std_cwctype.h: Same.
* include/c/bits/std_ctime.h: And here.
* include/c/bits/std_cstdarg.h: Same.
* include/c/bits/std_csignal.h: Same.
* include/c/bits/std_csetjmp.h: Same.
* include/c/bits/std_clocale.h: Same.
* include/c/bits/std_climits.h: Touch.
* include/c/bits/std_cfloat.h: Same.
* include/c/bits/std_cerrno.h: Same.
* include/c/bits/std_cwchar.h: Same.
* include/c/bits/std_cassert.h: Same.
* include/c/bits/std_cctype.h: Same.
* include/c/bits/std_cstddef.h: And here.
* include/c/bits/std_cstdlib.h: And here.
* include/c/bits/std_cstdio.h: Same.
* include/c/bits/std_cstring.h: Add names to namespace std::.

* include/bits/c++config (_GNU_SOURCE): Move linux-specific macros
from here...
(_ISOC99_SOURCE): And this one....
* config/os/gnu-linux/bits/os_defines.h: ...to here.

* include/bits/codecvt.h (codecvt<_InternT, _ExternT,
__enc_traits>::do_in): Don't cast to const, this is a bug in glibc
prior to 2.2.
(codecvt<_InternT, _ExternT, __enc_traits>::do_out): Same.
* include/c/bits/std_cwchar.h: Add using declarations for mbstate_t.

2000-10-30  Steven King  <sxking@uswest.net>

* include/bits/codecvt.h: Add cast.
* include/c_std/stdio.h: Re-add printf using declaration.
* include/c_std/bits/std_cstdio.h: Same
* testsuite/22_locale/codecvt_wchar_t_char.cc: Fixup testsuite.
* testsuite/22_locale/ctor_copy_dtor.cc: Same.
* testsuite/22_locale/facet.cc: Same.
* testsuite/22_locale/global_templates.cc: Same.
* testsuite/22_locale/operators.cc: Same.
* testsuite/22_locale/static_members.cc: Same.
* testsuite/26_numerics/c_math.cc: Same.
* testsuite/26_numerics/complex_inserters_extractors.cc: Same.
* testsuite/27_io/fpos.cc: Same.
* testsuite/27_io/istream_extractor_arith.cc: Same.
* testsuite/27_io/istream_unformatted.cc: Same.
* testsuite/27_io/ostream_inserter_arith.cc: Same.
* testsuite/27_io/streambuf.cc: Same.

From-SVN: r37149

39 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/config/os/gnu-linux/bits/os_defines.h
libstdc++-v3/include/bits/c++config
libstdc++-v3/include/bits/codecvt.h
libstdc++-v3/include/c/bits/std_cassert.h
libstdc++-v3/include/c/bits/std_cctype.h
libstdc++-v3/include/c/bits/std_cerrno.h
libstdc++-v3/include/c/bits/std_cfloat.h
libstdc++-v3/include/c/bits/std_climits.h
libstdc++-v3/include/c/bits/std_clocale.h
libstdc++-v3/include/c/bits/std_cmath.h
libstdc++-v3/include/c/bits/std_csetjmp.h
libstdc++-v3/include/c/bits/std_csignal.h
libstdc++-v3/include/c/bits/std_cstdarg.h
libstdc++-v3/include/c/bits/std_cstddef.h
libstdc++-v3/include/c/bits/std_cstdio.h
libstdc++-v3/include/c/bits/std_cstdlib.h
libstdc++-v3/include/c/bits/std_cstring.h
libstdc++-v3/include/c/bits/std_ctime.h
libstdc++-v3/include/c/bits/std_cwchar.h
libstdc++-v3/include/c/bits/std_cwctype.h
libstdc++-v3/include/c_std/bits/std_cstdio.h
libstdc++-v3/include/c_std/stdio.h
libstdc++-v3/libsupc++/tinfo2.cc
libstdc++-v3/mkcheck.in
libstdc++-v3/src/complex_io.cc
libstdc++-v3/testsuite/22_locale/codecvt_wchar_t_char.cc
libstdc++-v3/testsuite/22_locale/ctor_copy_dtor.cc
libstdc++-v3/testsuite/22_locale/facet.cc
libstdc++-v3/testsuite/22_locale/global_templates.cc
libstdc++-v3/testsuite/22_locale/operators.cc
libstdc++-v3/testsuite/22_locale/static_members.cc
libstdc++-v3/testsuite/26_numerics/c_math.cc
libstdc++-v3/testsuite/26_numerics/complex_inserters_extractors.cc
libstdc++-v3/testsuite/27_io/fpos.cc
libstdc++-v3/testsuite/27_io/istream_extractor_arith.cc
libstdc++-v3/testsuite/27_io/istream_unformatted.cc
libstdc++-v3/testsuite/27_io/ostream_inserter_arith.cc
libstdc++-v3/testsuite/27_io/streambuf.cc

index 3a74f940ae96a507b21fba440f57e9cb04ed285e..3c50834a923248ed92003f894e0e6cf01825ba7e 100644 (file)
@@ -1,3 +1,59 @@
+2000-10-30  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * src/complex_io.cc : Remove ancient defines.
+       * config/os/gnu-linux/bits/os_defines.h: Add defines.
+       * libsupc++/tinfo2.cc: Change to cstddef.
+
+       * include/bits/codecvt.h: Add include of c++config.h, so that
+       __USE_GNU gets defined. (Important for alpha.)
+
+       * include/c/bits/std_cwctype.h: Same.
+       * include/c/bits/std_ctime.h: And here.
+       * include/c/bits/std_cstdarg.h: Same.
+       * include/c/bits/std_csignal.h: Same.
+       * include/c/bits/std_csetjmp.h: Same.
+       * include/c/bits/std_clocale.h: Same.
+       * include/c/bits/std_climits.h: Touch.
+       * include/c/bits/std_cfloat.h: Same.
+       * include/c/bits/std_cerrno.h: Same.
+       * include/c/bits/std_cwchar.h: Same.
+       * include/c/bits/std_cassert.h: Same.
+       * include/c/bits/std_cctype.h: Same.    
+       * include/c/bits/std_cstddef.h: And here.
+       * include/c/bits/std_cstdlib.h: And here.
+       * include/c/bits/std_cstdio.h: Same.
+       * include/c/bits/std_cstring.h: Add names to namespace std::.
+
+       * include/bits/c++config (_GNU_SOURCE): Move linux-specific macros
+       from here...
+       (_ISOC99_SOURCE): And this one....
+       * config/os/gnu-linux/bits/os_defines.h: ...to here.
+       
+       * include/bits/codecvt.h (codecvt<_InternT, _ExternT,
+       __enc_traits>::do_in): Don't cast to const, this is a bug in glibc
+       prior to 2.2.
+       (codecvt<_InternT, _ExternT, __enc_traits>::do_out): Same.
+       * include/c/bits/std_cwchar.h: Add using declarations for mbstate_t.
+       
+2000-10-30  Steven King  <sxking@uswest.net>
+
+       * include/bits/codecvt.h: Add cast.
+       * include/c_std/stdio.h: Re-add printf using declaration.
+       * include/c_std/bits/std_cstdio.h: Same
+       * testsuite/22_locale/codecvt_wchar_t_char.cc: Fixup testsuite.
+       * testsuite/22_locale/ctor_copy_dtor.cc: Same.
+       * testsuite/22_locale/facet.cc: Same.
+       * testsuite/22_locale/global_templates.cc: Same.
+       * testsuite/22_locale/operators.cc: Same.
+       * testsuite/22_locale/static_members.cc: Same.
+       * testsuite/26_numerics/c_math.cc: Same.
+       * testsuite/26_numerics/complex_inserters_extractors.cc: Same.
+       * testsuite/27_io/fpos.cc: Same.
+       * testsuite/27_io/istream_extractor_arith.cc: Same.
+       * testsuite/27_io/istream_unformatted.cc: Same.
+       * testsuite/27_io/ostream_inserter_arith.cc: Same.
+       * testsuite/27_io/streambuf.cc: Same.
+
 2000-10-30  Mark Mitchell  <mark@codesourcery.com>
 
         * acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT): Check 
index 6147f0b67f9f87bd363032f62330bae1bb834423..a98b34892e59087103c587ebf1c1a86d4d5ad7c6 100644 (file)
 #ifndef _GLIBCPP_OS_DEFINES
 #  define _GLIBCPP_OS_DEFINES
 
+// By enabling this, all GNU extensions are enabled.
+#define _GNU_SOURCE 1
 
-/* System-specific #define, typedefs, corrections, etc, go here.  This
-   file will come before all others. */
+// By enabling this, all ISO C99, ISO C9X functionality is enabled.
+#define _ISOC99_SOURCE 1
 
+// This keeps isanum, et al from being propagated as macros.
+#define __NO_CTYPE 1
+
+# if defined __GLIBC__ && __GLIBC__ >= 2
+// We must not see the optimized string functions GNU libc defines.
+#  define __NO_STRING_INLINES
+# endif
 
 #endif
 
 
+
+
index 860cc5674c4d58ca34c4a347fff92e6a9989cccf..57f0e4db9afb7a8d71916cc973ce84e7f200c1fd 100644 (file)
 // The current version of the C++ library in compressed ISO date format.
 #define __GLIBCPP__ 20000911
 
-// By enabling this, all GNU extensions are enabled.
-#define _GNU_SOURCE 1
-
-// By enabling this, all ISO C99, ISO C9X functionality is enabled.
-#define _ISOC99_SOURCE 1
-
 // This flag controls the error handling in string, and perhaps other
 // bits as time goes on: check out bits/basic_string.h for more
 // info. It also helps alleviate the circular dependency between
index 738d5af36780ce7ec87549f470f202da28bfe22f..f39009a9ea5f9be028e417e7e65a94add9ab8cef 100644 (file)
@@ -38,6 +38,7 @@
 #ifndef _CPP_BITS_CODECVT_H
 #define _CPP_BITS_CODECVT_H    1
 
+#include <bits/c++config.h>
 #ifdef _GLIBCPP_USE_WCHAR_T
 #include <iconv.h>             // For iconv, iconv_t
 #include <langinfo.h>
index 5d9d18445f91a1bc2690e7b96fe06d452f8a2cfb..0cd937e4039da1c694df30b5023e07a46858d3cd 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- forwarding header.
 
-// Copyright (C) 1997-1999 Free Software Foundation, Inc.
+// Copyright (C) 1997-1999, 2000 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
 
 // No include guards on this header...
 
-# pragma GCC system_header
-# include_next <assert.h>
+#pragma GCC system_header
+#include_next <assert.h>
+
+
+
+
+
+
+
+
+
+
index 1c1e69c6c5dadb2b5590d621e1dc4de2665a6595..bb50610b815ac053c9f45c4b3fe0c5286173900b 100644 (file)
 // ISO C++ 14882: <ccytpe>
 //
 
+// Note: This is not a conforming implementation.
+
 #ifndef _CPP_CCTYPE
 #define _CPP_CCTYPE 1
 
-// This keeps isanum, et al from being propagated as macros.
-#if __linux__
-#define __NO_CTYPE 1
-#endif
-
-# pragma GCC system_header
-# include_next <ctype.h>
+#include <bits/c++config.h>
 
-// Sequester the C non-inline implementations in the _C_Swamp::
-// namespace, and provide C++ inlines for them in the std:: namespace
-// where they belong.
+#pragma GCC system_header
+#include_next <ctype.h>
 
-namespace std 
+namespace std
 {
-  // NB: If not using namespaces, can't have any of these definitions,
-  // as they will duplicate what's in the global namespace. 
-
-#ifdef toupper
-  inline int 
-  _S_toupper_helper(int __c) { return toupper(__c); }
-# undef toupper
-  inline int 
-  toupper(int __c) { return _S_toupper_helper(__c); }
-#else
-  inline int 
-  toupper(int __c) { return ::toupper(__c); }
-#endif
-
-#ifdef tolower
-  inline int 
-  _S_tolower_helper(int __c) { return tolower(__c); }
-# undef tolower
-  inline int 
-  tolower(int __c) { return _S_tolower_helper(__c); }
-#else
-  inline int 
-  tolower(int __c) { return ::tolower(__c); }
-#endif
-
-#ifdef isspace
-  inline int 
-  _S_isspace_helper(int __c) { return isspace(__c); }
-# undef isspace
-  inline int 
-  isspace(int __c) { return _S_isspace_helper(__c); }
-#else
-  inline int 
-  isspace(int __c) { return ::isspace(__c); }
-#endif
-
-#ifdef isprint
-  inline int 
-  _S_isprint_helper(int __c) { return isprint(__c); }
-# undef isprint
-  inline int 
-  isprint(int __c) { return _S_isprint_helper(__c); }
-#else
-  inline int 
-  isprint(int __c) { return ::isprint(__c); }
-#endif
-
-#ifdef iscntrl
-  inline int 
-  _S_iscntrl_helper(int __c) { return iscntrl(__c); }
-# undef iscntrl
-  inline int 
-  iscntrl(int __c) { return _S_iscntrl_helper(__c); }
-#else
-  inline int 
-  iscntrl(int __c) { return ::iscntrl(__c); }
-#endif
-
-#ifdef isupper
-  inline int 
-  _S_isupper_helper(int __c) { return isupper(__c); }
-# undef isupper
-  inline int 
-  isupper(int __c) { return _S_isupper_helper(__c); }
-#else
-  inline int 
-  isupper(int __c) { return ::isupper(__c); }
-#endif
-
-#ifdef islower
-  inline int 
-  _S_islower_helper(int __c) { return islower(__c); }
-# undef islower
-  inline int 
-  islower(int __c) { return _S_islower_helper(__c); }
-#else
-  inline int 
-  islower(int __c) { return ::islower(__c); }
-#endif
-
-#ifdef isalpha
-  inline int 
-  _S_isalpha_helper(int __c) { return isalpha(__c); }
-# undef isalpha
-  inline int 
-  isalpha(int __c) { return _S_isalpha_helper(__c); }
-#else
-  inline int 
-  isalpha(int __c) { return ::isalpha(__c); }
-#endif
-
-#ifdef isdigit
-  inline int 
-  _S_isdigit_helper(int __c) { return isdigit(__c); }
-# undef isdigit
-  inline int 
-  isdigit(int __c) { return _S_isdigit_helper(__c); }
-#else
-  inline int 
-  isdigit(int __c) { return ::isdigit(__c); }
-#endif
-
-#ifdef ispunct
-  inline int 
-  _S_ispunct_helper(int __c) { return ispunct(__c); }
-# undef ispunct
-  inline int 
-  ispunct(int __c) { return _S_ispunct_helper(__c); }
-#else
-  inline int 
-  ispunct(int __c) { return ::ispunct(__c); }
-#endif
-
-#ifdef isxdigit
-  inline int 
-  _S_isxdigit_helper(int __c) { return isxdigit(__c); }
-# undef isxdigit
-  inline int 
-  isxdigit(int __c) { return _S_isxdigit_helper(__c); }
-#else
-  inline int 
-  isxdigit(int __c) { return ::isxdigit(__c); }
-#endif
-
-#ifdef isalnum
-  inline int 
-  _S_isalnum_helper(int __c) { return isalnum(__c); }
-# undef isalnum
-  inline int 
-  isalnum(int __c) { return _S_isalnum_helper(__c); }
-#else
-  inline int 
-  isalnum(int __c) { return ::isalnum(__c); }
-#endif
-
-#ifdef isgraph
-  inline int 
-  _S_isgraph_helper(int __c) { return isgraph(__c); }
-# undef isgraph
-  inline int 
-  isgraph(int __c) { return _S_isgraph_helper(__c); }
-#else
-  inline int 
-  isgraph(int __c) { return ::isgraph(__c); }
-#endif
-
-} // namespace std
-
-#endif // _CPP_CCTYPE
+  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);
+}
+
+#endif 
 
 
 
index abd28d560d8ff29e02fa57a605af7c888b87cff3..518651008ba30ead4bbad1c47da506a64e31890e 100644 (file)
 // ISO C++ 14882: 19.3  Error numbers
 //
 
-// Note: this is not a conforming implementation.
+// Note: This is not a conforming implementation.
 
 #ifndef _CPP_CERRNO
 #define _CPP_CERRNO 1
-# pragma GCC system_header
-# include_next <errno.h>
+
+#pragma GCC system_header
+#include_next <errno.h>
+
+namespace std 
+{
+  extern "C" int errno;
+}
+
 #endif
+
+
+
+
index 8a317fcb49041a17b4924ad36d461b2437fcf362..4ff42b0865c16f57a9220e23cf3c79bfccf7e2be 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- forwarding header.
 
-// Copyright (C) 1997-1999 Free Software Foundation, Inc.
+// Copyright (C) 1997-1999, 2000 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
 // ISO C++ 14882: 18.2.2  Implementation properties: C library
 //
 
-// Note: this is not a conforming implementation.
+// Note: This is not a conforming implementation.
 
 #ifndef _CPP_CFLOAT
 #define _CPP_CFLOAT 1
-# pragma GCC system_header
-# include_next <float.h>
-
-#if 0
-# ifdef __GLIBC__
-// For GNU libc we must also include this one:
-#  include <fenv.h>
-# endif
-#endif
+
+#pragma GCC system_header
+#include_next <float.h>
+
 #endif
+
index ddd6bd8b40fd26ab2292b4bac9b54c39b295cefa..d7b171df0410509a0c8c3cfff3768db758388987 100644 (file)
 
 #ifndef _CPP_CLIMITS
 #define _CPP_CLIMITS   1
-# pragma GCC system_header
-# include_next <limits.h>
+
+#pragma GCC system_header
+#include_next <limits.h>
+
 #endif
 
 
+
+
+
index a8a44b8571acd97842fe3c0a749bf5a6b4dc1196..0ce02976fe4d20949f2599367c43d2d926a1b98f 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- forwarding header.
 
-// Copyright (C) 1997-1999 Free Software Foundation, Inc.
+// Copyright (C) 1997-1999, 2000 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
 // ISO C++ 14882: 18.2.2  Implementation properties: C library
 //
 
-// Note: this is not a conforming implementation.
+// Note: This is not a conforming implementation.
 
 #ifndef _CPP_CLOCALE
-#define _CPP_CLOCALE     1
-# pragma GCC system_header
-# include_next <locale.h>
+#define _CPP_CLOCALE 1
+
+#pragma GCC system_header
+#include_next <locale.h>
+
+namespace std
+{
+  using ::lconv;
+  extern "C" char* setlocale(int, const char*); 
+  extern "C" struct lconv* localeconv(void);
+}
+
 #endif
 
+
+
index fe09b224b942b9a2a3ab6fb397c621a9a4caf056..5a2c50567375816693278edd4971f7111d4e57d7 100644 (file)
 // ISO C++ 14882: 26.5  C library
 //
 
-// Note: this is not a conforming implementation.
+// Note: This is not a conforming implementation.
 
 #ifndef _CPP_CMATH
 #define _CPP_CMATH 1
-# pragma GCC system_header
-# include_next <math.h>
-# include_next <stdlib.h>
 
-# include <bits/c++config.h>
-
-namespace std {
-
-  inline int 
-  abs(int i) { return i > 0 ? i : -i; }
+#include <bits/c++config.h>
+#include <bits/std_cstdlib.h>
+#pragma GCC system_header
+#include_next <math.h>
 
+namespace std 
+{
   inline long 
-  abs(long i) { return i > 0 ? i : -i; }
+  abs(long __i) { return ::labs(__i); }
+
+  inline ldiv_t
+  div(long __i, long __j) { return ::ldiv(__i, __j); }
 
 #if _GLIBCPP_HAVE___BUILTIN_FABSF
   inline float 
@@ -212,7 +213,8 @@ namespace std {
   { return ::pow(static_cast<double>(__x), static_cast<double>(__y)); }
 #endif
 
-  float pow(float, int);
+  float 
+  pow(float, int);
 
 #if _GLIBCPP_HAVE___BUILTIN_SINF
   inline float 
@@ -310,12 +312,10 @@ namespace std {
 
   extern "C" double modf(double __x, double* __iptr);
 
-#if 0
   extern "C" double pow(double __x, double __y);
 
-  extern "C" double pow(double, int);
-#endif
-  using ::pow;
+  double 
+  pow(double __x, int __i);
 
 #if _GLIBCPP_HAVE___BUILTIN_SIN
   inline double 
@@ -552,7 +552,10 @@ namespace std {
 #endif
 } // std
 
-#endif // _CPP_CMATH
+#endif
+
+
+
 
 
 
index fc5b339036a2f0460ecbde8c48a279bf7a2c9870..a7864b0fc1f282b810e865f74b4b891679451416 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- forwarding header.
 
-// Copyright (C) 1997-1999 Free Software Foundation, Inc.
+// Copyright (C) 1997-1999, 2000 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
 // ISO C++ 14882: 20.4.6  C library
 //
 
-// Note: this is not a conforming implementation.
+// Note: This is not a conforming implementation.
 
 #ifndef _CPP_CSETJMP
 #define _CPP_CSETJMP 1
-# pragma GCC system_header
-# include_next <setjmp.h>
+
+#pragma GCC system_header
+#include_next <setjmp.h>
+
+namespace std
+{
+  using ::jmp_buf;
+  extern "C" void longjmp(jmp_buf, int);
+}
+
 #endif
index 34c03eb3df10f414337c0d5dffdfe2d20dc2d5f1..48f6584b25d72e83ab77716e909ad86c0215b4cc 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- forwarding header.
 
-// Copyright (C) 1997-1999 Free Software Foundation, Inc.
+// Copyright (C) 1997-1999, 2000 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
 // ISO C++ 14882: 20.4.6  C library
 //
 
-// Note: this is not a conforming implementation.
+// Note: This is not a conforming implementation.
 
 #ifndef _CPP_CSIGNAL
 #define _CPP_CSIGNAL 1
-# pragma GCC system_header
-# include_next <signal.h>
+
+#pragma GCC system_header
+#include_next <signal.h>
+
+namespace std
+{
+  using ::sig_atomic_t;
+  extern "C" void (*signal(int, void (*__func)(int)))(int); 
+  extern "C" int raise(int);
+}
+
 #endif
index f7f4235a29060808a33fb8d66374b18005a5ae4a..87a8a0f54b74c8728bf2ca54e51774005a627583 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- forwarding header.
 
-// Copyright (C) 1997-1999 Free Software Foundation, Inc.
+// Copyright (C) 1997-1999, 2000 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
 // ISO C++ 14882: 20.4.6  C library
 //
 
-// Note: this is not a conforming implementation.
+// Note: This is not a conforming implementation.
 
 #ifndef _CPP_CSTDARG
 #define _CPP_CSTDARG 1
-# pragma GCC system_header
-# include_next <stdarg.h>
+
+#pragma GCC system_header
+#include_next <stdarg.h>
+
+namespace std
+{
+  using ::va_list;
+}
+
 #endif
index ea517e41a4d365d6d4adc3b4ec31f44b75007d9a..a256e8548334a0e25e40babb0841ce1367c00a4a 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- forwarding header.
 
-// Copyright (C) 1997-1999 Free Software Foundation, Inc.
+// Copyright (C) 1997-1999, 2000 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
 // ISO C++ 14882: 18.1  Types
 //
 
-// Note: this is not a conforming implementation.
+// Note: This is not a conforming implementation.
 
 #ifndef _CPP_CSTDDEF
 #define _CPP_CSTDDEF 1
-# pragma GCC system_header
-# include_next <stddef.h>
-#endif
 
-namespace std {
-  using ::size_t;
-  using ::ptrdiff_t;
-} // namespace std
+#pragma GCC system_header
+#include_next <stddef.h>
 
+namespace std 
+{
+  using ::ptrdiff_t;
+  using ::size_t;
+}
 
+#endif
index 919a03ca4c7297a6f71afcba6755d1d106644dc0..b5836244f2a7e796631e2ea1a07c2ac54eae2e8f 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- forwarding header.
 
-// Copyright (C) 1997-1999 Free Software Foundation, Inc.
+// Copyright (C) 1997-1999, 2000 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
 // ISO C++ 14882: 27.8.2  C Library files
 //
 
-// Note: this is not a conforming implementation.
+// Note: This is not a conforming implementation.
 
 #ifndef _CPP_CSTDIO
 #define _CPP_CSTDIO 1
-# pragma GCC system_header
-# include_next <stdio.h>
 
-#ifndef SEEK_CUR
-#define SEEK_CUR 1
-#endif
-
-#ifndef SEEK_END
-#define SEEK_END 2
-#endif
-
-#ifndef SEEK_SET
-#define SEEK_SET 4
-#endif
+#include <bits/std_cstdarg.h>
+
+#pragma GCC system_header
+#include_next <stdio.h>
+
+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*);
+}
 
 #endif
 
index ee5435739adb147c0be850f5b191b6456c14de12..10600e60f303f92aab314da902d3fa0adc8ec36f 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- forwarding header.
 
-// Copyright (C) 1997-1999 Free Software Foundation, Inc.
+// Copyright (C) 1997-1999, 2000 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
 // ISO C++ 14882: 20.4.6  C library
 //
 
-// Note: this is not a conforming implementation.
+// Note: This is not a conforming implementation.
 
 #ifndef _CPP_CSTDLIB
 #define _CPP_CSTDLIB 1
 
-// This keeps isanum, et al from being propagated as macros.
-#if __linux__
-#define __USE_ISOC9X 1
+#include <bits/c++config.h>
+
+#pragma GCC system_header
+#include_next <stdlib.h>
+
+namespace std 
+{
+  using ::div_t;
+  using ::ldiv_t;
+
+#ifdef _GLIBCPP_USE_LONG_LONG
+# ifdef _GLIBCPP_HAVE_LLDIV_T
+  using ::lldiv_t;
+# else
+  struct lldiv_t
+  {
+    long long quot;
+    long long rem;
+  };
+# endif
+#endif 
+
+  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);
+
+#ifdef _GLIBCPP_USE_LONG_LONG
+  inline long long 
+  abs(long long __x) { return __x >= 0 ? __x : -__x; }
+
+  inline long long 
+  llabs(long long __x) { return __x >= 0 ? __x : -__x; }
+
+  inline lldiv_t 
+  div(long long __n, long long __d)
+  { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
+
+  inline lldiv_t 
+  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); 
 #endif
 
-# pragma GCC system_header
-# include_next <stdlib.h>
+#ifdef _GLIBCPP_HAVE_STRTOLD
+  extern "C" long double strtold(const char*, char**); 
+#endif
+}
 
-#endif // _CPP_CSTDLIB
+#endif 
 
 
 
index 06bcdda6535ebdd49881b87071b0932ba4c88ef1..252693b40d487b560cfd560c5bfbd46e9f650b77 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- forwarding header.
 
-// Copyright (C) 1997-1999 Free Software Foundation, Inc.
+// Copyright (C) 1997-1999, 2000 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
 // ISO C++ 14882: 20.4.6  C library
 //
 
-// Note: this is not a conforming implementation.
+// Note: This is not a conforming implementation.
 
 #ifndef _CPP_CSTRING
 #define _CPP_CSTRING 1
-# if defined __GLIBC__ && __GLIBC__ >= 2
-// We must not see the optimized string functions GNU libc defines.
-#  define __NO_STRING_INLINES
-# endif
-# pragma GCC system_header
-# include_next <string.h>
+
+#include <bits/c++config.h>
+
+#pragma GCC system_header
+#include_next <string.h>
+
+namespace std 
+{
+  extern "C" void* memcpy(void*, const void*, size_t); 
+  extern "C" void* memmove(void*, const void*, size_t); 
+  extern "C" char* strcpy(char*, const char*); 
+  extern "C" char* strncpy(char*, const char*, size_t); 
+  extern "C" char* strcat(char*, const char*); 
+  extern "C" char* strncat(char*, const char*, size_t); 
+  extern "C" int memcmp(const void*, const void*, size_t); 
+  extern "C" int strcmp(const char*, const char*); 
+  extern "C" int strcoll(const char*, const char*); 
+  extern "C" int strncmp(const char*, const char*, size_t); 
+  extern "C" size_t strxfrm(char*, const char*, size_t); 
+  extern "C" void* memchr(const void*, int, size_t); 
+  extern "C" char* strchr(const char*, int); 
+  extern "C" size_t strcspn(const char*, const char*); 
+  extern "C" char* strpbrk(const char*, const char*); 
+  extern "C" char* strrchr(const char*, int); 
+  extern "C" size_t strspn(const char*, const char*); 
+  extern "C" char* strstr(const char*, const char*); 
+  extern "C" char* strtok(char*, const char*); 
+  extern "C" void* memset(void*, int, size_t); 
+  extern "C" char* strerror(int); 
+  extern "C" size_t strlen(const char*);
+}
+
 #endif
+
+
+
index b30b318f595673d3420dc2d8321e0fa8594342e8..8c700e699f21bd4d7a5810568a77f1814d2fc3ca 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- forwarding header.
 
-// Copyright (C) 1997-1999 Free Software Foundation, Inc.
+// Copyright (C) 1997-1999, 2000 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
 // ISO C++ 14882: 20.5  Date and time
 //
 
-// Note: this is not a conforming implementation.
+// Note: This is not a conforming implementation.
 
 #ifndef _CPP_CTIME
 #define _CPP_CTIME 1
-# pragma GCC system_header
-# include_next <time.h>
+
+#pragma GCC system_header
+#include_next <time.h>
+
+namespace std
+{
+  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*);
+}
+
 #endif
index 77349f9d318468731bcd3156bd8726085df5946e..cc769402c53f92a5343b69295c3adb80bf9d27d3 100644 (file)
 // ISO C++ 14882: ???
 //
 
-// Note: this is not a conforming implementation.
+// Note: This is not a conforming implementation.
 
 #ifndef _CPP_CWCHAR
 #define _CPP_CWCHAR 1
 
 #include <bits/c++config.h>
+#include <bits/std_cstdio.h>
+#include <bits/std_cstdarg.h>
 
 #if _GLIBCPP_USE_WCHAR_T
- # pragma GCC system_header
- # include_next <wchar.h>
+#pragma GCC system_header
+#include_next <wchar.h>
+
+namespace std
+{
+  using ::wint_t;
+  using ::mbstate_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" wchar_t* wcschr(const wchar_t*, wchar_t); 
+  extern "C" size_t wcscspn(const wchar_t*, const wchar_t*); 
+  extern "C" size_t wcslen(const wchar_t*); 
+  extern "C" wchar_t* wcspbrk(const wchar_t*, const wchar_t*); 
+  extern "C" wchar_t* wcsrchr(const wchar_t*, wchar_t); 
+  extern "C" size_t wcsspn(const wchar_t*, const wchar_t*); 
+  extern "C" wchar_t* wcsstr(const wchar_t*, const wchar_t*); 
+  extern "C" wchar_t* wcstok(wchar_t*, const wchar_t*, wchar_t**); 
+  extern "C" wchar_t* wmemchr(const wchar_t*, wchar_t, size_t);
+  extern "C" int wmemcmp(const wchar_t*, const wchar_t*, size_t); 
+  //extern "C" int wmemcmp(wchar_t*, const wchar_t*, size_t); 
+  extern "C" wchar_t* wmemcpy(wchar_t*, const wchar_t*, size_t); 
+  extern "C" wchar_t* wmemmove(wchar_t*, const wchar_t*, size_t); 
+  extern "C" wchar_t* wmemset(wchar_t*, wchar_t, size_t); 
+  extern "C" size_t wcsftime(wchar_t*, size_t, const wchar_t*, const struct tm*); 
+
+#if 0
+  // Full C9X listing
+  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); 
+#endif
+}
+
 #else
-# ifdef __cplusplus
 extern "C" 
 {
-#endif
   typedef struct 
   {
     int __fill[6];
   } mbstate_t;
-# ifdef __cplusplus
 }
-# endif
+
+namespace std 
+{
+  using ::mbstate_t;
+}
 #endif //_GLIBCPP_USE_WCHAR_T
 
-#endif // _CPP_CWCHAR
+
+#endif 
 
 
 
index c67f2ba9720d2fab86da62b303cfc45324e831f2..5757c14b16b2aa60b65873d09d408b669f5981ec 100644 (file)
 // ISO C++ 14882: <cwctype>
 //
 
+// Note: This is not a conforming implementation.
+
 #ifndef _CPP_CWCTYPE
 #define _CPP_CWCTYPE 1
 
-# pragma GCC system_header
-# include_next <wctype.h>
-
-// Sequester the C non-inline implementations in the _C_Swamp::
-// namespace, and provide C++ inlines for them in the std:: namespace
-// where they belong.
+#pragma GCC system_header
+#include_next <wctype.h>
 
-namespace std 
+namespace std
 {
-
-#ifdef towupper
-  inline wint_t 
-  _S_towupper_helper(wint_t __wc) { return towupper(__wc); }
-# undef towupper
-  inline wint_t 
-  towupper(wint_t __wc) { return _S_towupper_helper(__wc); }
-#endif
-
-#ifdef towlower
-  inline wint_t 
-  _S_towlower_helper(wint_t __wc) { return towlower(__wc); }
-# undef towlower
-  inline wint_t 
-  towlower(wint_t __wc) { return _S_towlower_helper(__wc); }
-#endif
-
-#ifdef iswspace
-  inline int 
-  _S_iswspace_helper(wint_t __wc) { return iswspace(__wc); }
-# undef iswspace
-  inline int 
-  iswspace(wint_t __wc) { return _S_iswspace_helper(__wc); }
-#endif
-
-#ifdef iswprint
-  inline int 
-  _S_iswprint_helper(wint_t __wc) { return iswprint(__wc); }
-# undef iswprint
-  inline int 
-  iswprint(wint_t __wc) { return _S_iswprint_helper(__wc); }
-#endif
-
-#ifdef iswcntrl
-  inline int 
-  _S_iswcntrl_helper(wint_t __wc) { return iswcntrl(__wc); }
-# undef iswcntrl
-  inline int 
-  iswcntrl(wint_t __wc) { return _S_iswcntrl_helper(__wc); }
-#endif
-
-#ifdef iswupper
-  inline int 
-  _S_iswupper_helper(wint_t __wc) { return iswupper(__wc); }
-# undef iswupper
-  inline int 
-  iswupper(wint_t __wc) { return _S_iswupper_helper(__wc); }
-#endif
-
-#ifdef iswlower
-  inline int 
-  _S_iswlower_helper(wint_t __wc) { return iswlower(__wc); }
-# undef iswlower
-  inline int 
-  iswlower(wint_t __wc) { return _S_iswlower_helper(__wc); }
-#endif
-
-#ifdef iswalpha
-  inline int 
-  _S_iswalpha_helper(wint_t __wc) { return iswalpha(__wc); }
-# undef iswalpha
-  inline int 
-  iswalpha(wint_t __wc) { return _S_iswalpha_helper(__wc); }
-#endif
-
-#ifdef iswdigit
-  inline int 
-  _S_iswdigit_helper(wint_t __wc) { return iswdigit(__wc); }
-# undef iswdigit
-  inline int 
-  iswdigit(wint_t __wc) { return _S_iswdigit_helper(__wc); }
-#endif
-
-#ifdef iswpunct
-  inline int 
-  _S_iswpunct_helper(wint_t __wc) { return iswpunct(__wc); }
-# undef iswpunct
-  inline int 
-  iswpunct(wint_t __wc) { return _S_iswpunct_helper(__wc); }
-#endif
-
-#ifdef iswxdigit
-  inline int 
-  _S_iswxdigit_helper (wint_t __wc) { return iswxdigit(__wc); }
-# undef iswxdigit
-  inline int 
-  iswxdigit(wint_t __wc) { return _S_iswxdigit_helper(__wc); }
-#endif
-
-#ifdef iswalnum
-  inline int 
-  _S_iswalnum_helper(wint_t __wc) { return iswalnum(__wc); }
-# undef iswalnum
-  inline int 
-  iswalnum(wint_t __wc) { return _S_iswalnum_helper(__wc); }
-#endif
-
-#ifdef iswgraph
-  inline int 
-  _S_iswgraph_helper(wint_t __wc) { return iswgraph(__wc); }
-# undef iswgraph
-  inline int 
-  iswgraph(wint_t __wc) { return _S_iswgraph_helper(__wc); }
-#endif
-
-} // namespace std
-
-#endif // _CPP_CWCTYPE
+  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*);
+}
+
+#endif 
 
 
 
index 7725b676f4c67ac08779c9097fdb48e055b6fc86..db2761281d08d1ffbfe68bd7371e372e8d58a274 100644 (file)
@@ -133,7 +133,7 @@ namespace std {
   using _C_legacy::remove;
   using _C_legacy::rename;
   using _C_legacy::tmpnam;
-  //  using _C_legacy::printf;
+  using _C_legacy::printf;
   using _C_legacy::scanf;
   using _C_legacy::sprintf;
   using _C_legacy::sscanf;
index 58bfccfe3cf73bbf0ae7b55db68bbf5a4e121e74..c3a43b736c2dc14aa61b42b1c361373716f3aa1a 100644 (file)
@@ -57,7 +57,7 @@
   using std::setvbuf;
   using std::fprintf;
   using std::fscanf;
-//  using std::printf;
+  using std::printf;
   using std::scanf;
   using std::sprintf;
   using std::sscanf;
index 7c9a764134c305ef38363295a5844b1a2269832b..bbcbda79dc574d88d998de6aefd48e4acfbea7ee 100644 (file)
@@ -27,7 +27,7 @@
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
-#include <stddef.h>
+#include <cstddef>
 #include "tinfo.h"
 #include "new"                 // for placement new
 
index 23f5dd8d9f2168b037feeaa925e0d2ebe1776a7c..075558dee999b69f7de8f2cd3e6b0287e050470e 100755 (executable)
@@ -57,12 +57,12 @@ fi
 top_srcdir=@top_srcdir@
 C_DIR="`basename @C_INCLUDE_DIR@`"
 if [ $WHICH != "1" ]; then
-  INC_PATH="@CSHADOW_FLAGS@ -I$BUILD_DIR/include -I$BUILD_DIR/libio \
+  INC_PATH="-nostdinc++ @CSHADOW_FLAGS@ -I$BUILD_DIR/include \
     -I$SRC_DIR/include/std  -I$SRC_DIR/include/$C_DIR \
     -I$SRC_DIR/include -I$SRC_DIR/libsupc++ -I$SRC_DIR/libio \
     -I$SRC_DIR/testsuite"
 elif [ $WHICH -eq 1 ]; then
-  INC_PATH="-I$SRC_DIR/testsuite"
+  INC_PATH="-nostdinc++ -I$SRC_DIR/testsuite"
 fi
 
 if [ $WHICH -eq 2 ]; then
index 5fec9cf52908c442c3b4b058fbd078c3b1fc1f99..8b8854c6254d82f45873170cd5996ae9e957e824 100644 (file)
@@ -32,7 +32,6 @@
 #include <bits/std_ostream.h>
 #include <bits/std_sstream.h>
 
-
 namespace std
 {
     
@@ -82,9 +81,7 @@ namespace std
     {
       basic_ostringstream<_CharT, _Traits> __s;
       __s.flags(__os.flags());
-#ifdef _G_HAVE_LOCALE
       __s.imbue(__os.getloc());
-#endif
       __s.precision (__os.precision());
       __s << '(' << __x.real() << "," << __x.imag() << ')' << ends;
       return __os << __s.str();
index 7ef07b0443c097df6a44c45d6b39270950f7686f..91505beef2717d050efc7b2fa9f8c5f1a80333c4 100644 (file)
@@ -20,6 +20,7 @@
 
 // 22.2.1.5 - Template class codecvt [lib.locale.codecvt]
 
+#include <cwchar> // for mbstate_t
 #include <locale>
 #include <debug_assert.h>
 
@@ -34,8 +35,8 @@
 //   w_codecvt::state_type state01 = {0, 0};
 // .. except Ulrich says: Use memset. Always use memset. Feel the force...
 void
-zero_state(mbstate_t& state)
-{ memset(&state, 0, sizeof(mbstate_t)); }
+zero_state(std::mbstate_t& state)
+{ std::memset(&state, 0, sizeof(std::mbstate_t)); }
 
 // Required instantiation
 // codecvt<wchar_t, char, mbstate_t>
index 983a28f5aa3210b3f4be136375863f6fa57cb1fc..64433ee28b69e83076c3442147e24b9b0e5d6c46 100644 (file)
 
 // 22.1.1.2 locale constructors and destructors [lib.locale.cons]
 
+#include <cwchar> // for mbstate_t
 #include <locale>
 #include <stdexcept>
 #include <debug_assert.h>
 
-typedef std::codecvt<char, char, mbstate_t>            c_codecvt;
-typedef std::codecvt_byname<char, char, mbstate_t>     c_codecvt_byname;
-typedef std::codecvt<wchar_t, char, mbstate_t>         w_codecvt;
-typedef std::codecvt_byname<wchar_t, char, mbstate_t>  w_codecvt_byname;
+typedef std::codecvt<char, char, std::mbstate_t>               c_codecvt;
+typedef std::codecvt_byname<char, char, std::mbstate_t>        c_codecvt_byname;
+typedef std::codecvt<wchar_t, char, std::mbstate_t>            w_codecvt;
+typedef std::codecvt_byname<wchar_t, char, std::mbstate_t>     w_codecvt_byname;
 
 class gnu_codecvt: public c_codecvt { }; 
 
index cea5fbe78932efdc98d1ad18e86c3b648044dda8..8129ea9e048cf71fa44c1fa616af196d57f3918d 100644 (file)
@@ -20,6 +20,7 @@
 
 // 22.1.1.1.2 - class locale::facet [lib.locale.facet]
 
+#include <cwchar> // for mbstate_t
 #include <locale>
 #include <iterator>
 #include <debug_assert.h>
@@ -30,7 +31,7 @@ typedef std::ostreambuf_iterator<char>                output_iterator;
 
 class gnu_collate: public std::collate<char> { }; 
 class gnu_ctype: public std::ctype<char> { }; 
-class gnu_codecvt: public std::codecvt<char, char, mbstate_t> { }; 
+class gnu_codecvt: public std::codecvt<char, char, std::mbstate_t> { }; 
 class gnu_moneypunct: public std::moneypunct<char> { }; 
 class gnu_moneypunct_true: public std::moneypunct<char, true> { }; 
 class gnu_money_get: public std::money_get<char> { }; 
index 74661048222b686193428e723c1c5b877231a077..afd00b060b527c6b805c4bf51b869f7328fa4928 100644 (file)
 
 // 22.1.2 locale globals [lib.locale.global.templates]
 
+#include <cwchar> // for mbstate_t
 #include <locale>
 #include <debug_assert.h>
 
-typedef std::codecvt<char, char, mbstate_t> ccodecvt;
+typedef std::codecvt<char, char, std::mbstate_t> ccodecvt;
 
 class gnu_codecvt: public ccodecvt { }; 
 
index e188d2d57eb9fa2a5623b2e1bf17be4a40bc7869..e876748d30206d0505aed5e8101741361f510cc2 100644 (file)
 
 // 22.1.1.4 locale operators [lib.locale.operators]
 
+#include <cwchar> // for mbstate_t
 #include <locale>
 #include <debug_assert.h>
 
-typedef std::codecvt<char, char, mbstate_t> ccodecvt;
+typedef std::codecvt<char, char, std::mbstate_t> ccodecvt;
 class gnu_codecvt: public ccodecvt { }; 
 
 void test01()
index 807ef2222558b0b6f865820ce1451e7018adb101..7f951d81ff8a90d3c0add8cac1e45310c8073fc2 100644 (file)
 
 // 22.1.1.5 locale static members [lib.locale.statics]
 
+#include <cwchar> // for mbstate_t
 #include <locale>
 #include <debug_assert.h>
 
-typedef std::codecvt<char, char, mbstate_t> ccodecvt;
+typedef std::codecvt<char, char, std::mbstate_t> ccodecvt;
 class gnu_codecvt: public ccodecvt { }; 
 
 void test01()
index 423adf122ba5eb2954d4136b0991a95fe33adac8..119c0d37f0ab1f3fa3a2664dad83594fdf90c2e9 100644 (file)
@@ -36,7 +36,7 @@ test01()
 int
 test02()
 {
-  sin(static_cast<float>(0));
+       std::sin(static_cast<float>(0));
   return 0;
 }
 
@@ -44,7 +44,7 @@ test02()
 int
 test03()
 {
-  double powtest = pow(2., 0);
+  double powtest = std::pow(2., 0);
   return 0;
 }
 
index 795759102597a44d9bc9c1c341cdcb2dbc83c50b..e195651160f40628e21d7ea43b3c71bf85d38275 100644 (file)
@@ -31,7 +31,7 @@ template<typename R>
 inline bool flteq(R x, R y)
 {
   if (x == R(0)) return y == R(0);
-  else return fabs(x-y) < 1e-6*fabs(x);
+  else return std::fabs(x-y) < 1e-6*std::fabs(x);
 }
 
 template<typename R>
index 54c152476ea58c591d37228e6ac7818007386123..ef290bc5d8ad80d56ffbcc84ea5741bcae383e47 100644 (file)
@@ -29,6 +29,7 @@
 
 // 27.4.3 template class fpos
 
+#include <cwchar> // for mbstate_t
 #include <ios>
 #include <debug_assert.h>
 
@@ -36,7 +37,7 @@ void test01()
 {
   bool test = true;
 
-  typedef mbstate_t state_type;
+  typedef std::mbstate_t state_type;
   state_type state01;
   state_type state02;
 
@@ -72,7 +73,7 @@ void test02()
 {
   bool test = true;
 
-  typedef mbstate_t state_type;
+  typedef std::mbstate_t state_type;
   state_type state01;
   state_type state02;
 
@@ -132,7 +133,7 @@ void test03()
 {
   bool test = true;
 
-  typedef mbstate_t state_type;
+  typedef std::mbstate_t state_type;
   state_type state01;
   state_type state02;
 
index d2e55a96a1b95de0db0ff3d3b737ab28682d4feb..d410f741f16bc68e25885474d89ca8687e05b038 100644 (file)
@@ -20,6 +20,7 @@
 
 // 27.6.1.2.2 arithmetic extractors
 
+#include <cstdio> // for printf
 #include <istream>
 #include <ostream>
 #include <sstream>
@@ -105,9 +106,9 @@ bool test01() {
   VERIFY( f1 == 1.5 );
 
   is_04 >> std::hex >> i1;
-  printf ("%d %d %d\n", i1, i1 == 0x123, test);
+  std::printf ("%d %d %d\n", i1, i1 == 0x123, test);
   VERIFY( i1 == 0x123 );
-  printf ("%d %d %d\n", i1, i1 == 0x123, test);
+  std::printf ("%d %d %d\n", i1, i1 == 0x123, test);
 
   // test void pointers
   int i = 55;
@@ -116,7 +117,7 @@ bool test01() {
 
   ss_01 << po;
   ss_01 >> pi;
-  printf ("%x %x\n", pi, po);
+  std::printf ("%x %x\n", pi, po);
   VERIFY( po == pi );
   
 #ifdef DEBUG_ASSERT
index d34e5784b85b99bed92472faa077bb98db20fce9..96f47fab99bc00ec989daad665dbdd677bfc4c8f 100644 (file)
@@ -20,6 +20,7 @@
 
 // 27.6.1.3 unformatted input functions
 
+#include <cstring> // for strncmp,...
 #include <istream>
 #include <sstream>
 #include <fstream>
@@ -56,7 +57,7 @@ test01()
   is_04.read(carray, 9);
   state2 = is_04.rdstate();
   VERIFY( state1 == state2 );
-  VERIFY( !strncmp(carray, "soul eyes", 9) );
+  VERIFY( !std::strncmp(carray, "soul eyes", 9) );
   VERIFY( is_04.peek() == ':' );
 
   state1 = is_03.rdstate();
@@ -65,7 +66,7 @@ test01()
   VERIFY( state1 != state2 );
   VERIFY( static_cast<bool>(state2 & stateeof) ); 
   VERIFY( static_cast<bool>(state2 & statefail) ); 
-  VERIFY( !strncmp(carray, "soul eyes: john coltrane quartet", 35) );
+  VERIFY( !std::strncmp(carray, "soul eyes: john coltrane quartet", 35) );
 
 
   // istream& ignore(streamsize n = 1, int_type delim = traits::eof())
@@ -377,7 +378,7 @@ aaaaaaaaaaaaaa
   char tmp[it];
   std::stringbuf sb(charray, std::ios_base::in);
   std::istream ifs(&sb);
-  std::streamsize blen = strlen(charray);
+  std::streamsize blen = std::strlen(charray);
   VERIFY(ifs);
   while(ifs.getline(tmp, it) || ifs.gcount())
     {
@@ -401,7 +402,7 @@ aaaaaaaaaaaaaa
          // or
          // -> n - 1 characters are stored
           ifs.clear(ifs.rdstate() & ~std::ios::failbit);
-          VERIFY((ifs.gcount() == 0) || (strlen(tmp) == it - 1));
+          VERIFY((ifs.gcount() == 0) || (std::strlen(tmp) == it - 1));
           VERIFY(ifs);
           continue;
         }
@@ -411,7 +412,7 @@ aaaaaaaaaaaaaa
          //
          // -> strlen(__s) < n - 1 
          // -> delimiter was seen -> gcount() > strlen(__s)
-          VERIFY(ifs.gcount() == strlen(tmp) + 1);
+          VERIFY(ifs.gcount() == std::strlen(tmp) + 1);
           continue;
         }
     }
index 722ce1c4597e8594682bd3dd522917af2c4a5457..f503ad37f61474682202effdb2f6344d8e0fc952 100644 (file)
@@ -19,6 +19,7 @@
 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
 // USA.
 
+#include <cstdio> // for sprintf
 #include <iostream>
 #include <iomanip>
 #include <locale>
index 8b7989f683130e2117ac0a0b68db28d186a3eac4..17de46b02ea384a0ed7d03f77d2dd551a8853f35 100644 (file)
@@ -29,6 +29,7 @@
 
 // 27.5.2 template class basic_streambuf
 
+#include <cstring> // for memset, memcmp
 #include <streambuf>
 #include <ostream>
 #include <debug_assert.h>
@@ -131,9 +132,9 @@ void test01()
 
   // sputn/xsputn
   char* lit02 = "isotope 217: the unstable molecule on thrill jockey";
-  int i02 = strlen(lit02);
+  int i02 = std::strlen(lit02);
   char carray[i02 + 1];
-  memset(carray, 0, i02 + 1);
+  std::memset(carray, 0, i02 + 1);
 
   buf01.pub_setp(carray, (carray + i02));
   buf01.sputn(lit02, 0);
@@ -144,9 +145,9 @@ void test01()
   VERIFY( lit02[1] == 's' );
   VERIFY( carray[1] == 0 );
   buf01.sputn(lit02 + 1, 10);
-  VERIFY( memcmp(lit02, carray, 10) == 0 );
+  VERIFY( std::memcmp(lit02, carray, 10) == 0 );
   buf01.sputn(lit02 + 11, 20);
-  VERIFY( memcmp(lit02, carray, 30) == 0 );
+  VERIFY( std::memcmp(lit02, carray, 30) == 0 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -172,7 +173,7 @@ void test02()
   // 27.5.2.2.5 Put area
   size_t i01 = traits_type::length(lit01);
   char carray01[i01];
-  memset(carray01, 0, i01);
+  std::memset(carray01, 0, i01);
   
   buf01.pub_setg(lit01, lit01, lit01 + i01);
   buf01.sgetn(carray01, 0);
This page took 0.115022 seconds and 5 git commands to generate.