Makefile.am: Use it.
authorBenjamin Kosnik <bkoz@gcc.gnu.org>
Thu, 12 Oct 2000 12:44:57 +0000 (12:44 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Thu, 12 Oct 2000 12:44:57 +0000 (12:44 +0000)
2000-10-11  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

* libsupc++/Makefile.am: Use it.
* libio/Makefile.am: Use it.
* libmath/Makefile.am: Use it.
* src/Makefile.am: Use it.
* Makefile.am (AM_MAKEFLAGS): Remove includes.

* acinclude.m4 (GLIBCPP_EXPORT_INCLUES): Move include macros here.
(GLIBCPP_EXPORT_FLAGS): Move CXX flag setting here.
* configure.in: Use it.

* mkcheck.in (SRC_DIR): Use C_INCLUDE_DIR.

* src/Makefile.am (CXXCOMPILE): Remove.
* src/Makefile.in: Regenerate.
* libsupc++/Makefile.am (CXXCOMPILE): Same here.
* libsupc++/Makefile.in: Regenerate.

* include/c_std/*: Merge with shadow.
* include/c_std/bits/*: Same.

20

From-SVN: r36850

19 files changed:
libstdc++-v3/include/c_std/assert.h [new file with mode: 0644]
libstdc++-v3/include/c_std/bits/wrap_unistd.h [new file with mode: 0644]
libstdc++-v3/include/c_std/ctype.h [new file with mode: 0644]
libstdc++-v3/include/c_std/errno.h [new file with mode: 0644]
libstdc++-v3/include/c_std/float.h [new file with mode: 0644]
libstdc++-v3/include/c_std/limits.h [new file with mode: 0644]
libstdc++-v3/include/c_std/locale.h [new file with mode: 0644]
libstdc++-v3/include/c_std/math.h [new file with mode: 0644]
libstdc++-v3/include/c_std/setjmp.h [new file with mode: 0644]
libstdc++-v3/include/c_std/signal.h [new file with mode: 0644]
libstdc++-v3/include/c_std/stdarg.h [new file with mode: 0644]
libstdc++-v3/include/c_std/stddef.h [new file with mode: 0644]
libstdc++-v3/include/c_std/stdio.h [new file with mode: 0644]
libstdc++-v3/include/c_std/stdlib.h [new file with mode: 0644]
libstdc++-v3/include/c_std/string.h [new file with mode: 0644]
libstdc++-v3/include/c_std/time.h [new file with mode: 0644]
libstdc++-v3/include/c_std/unistd.h [new file with mode: 0644]
libstdc++-v3/include/c_std/wchar.h [new file with mode: 0644]
libstdc++-v3/include/c_std/wctype.h [new file with mode: 0644]

diff --git a/libstdc++-v3/include/c_std/assert.h b/libstdc++-v3/include/c_std/assert.h
new file mode 100644 (file)
index 0000000..3507bdf
--- /dev/null
@@ -0,0 +1,51 @@
+// -*- C++ -*- header wrapper.
+
+// Copyright (C) 1997-1999 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.
+
+
+// no include guard here.
+#ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+# undef _IN_C_LEGACY_
+# define _ASSERT_NEED_C_LEGACY_
+#endif
+
+#include <cassert>
+  // expose global C names, including non-standard ones, but shadow
+  //   some names and types with the std:: C++ version.
+
+#ifdef _ASSERT_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+# define _IN_C_LEGACY_
+# undef _ASSERT_NEED_C_LEGACY_
+#endif /* _ASSERT_NEED_C_LEGACY_ */
diff --git a/libstdc++-v3/include/c_std/bits/wrap_unistd.h b/libstdc++-v3/include/c_std/bits/wrap_unistd.h
new file mode 100644 (file)
index 0000000..144a3ea
--- /dev/null
@@ -0,0 +1,79 @@
+// -*- C++ -*- header wrapper.
+
+// Copyright (C) 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
+// 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.
+
+//
+// ISO C++ 14882: 26.5  C library extensions
+//
+
+#ifndef _CPP_WRAP_UNISTD_H
+#define _CPP_WRAP_UNISTD_H 1
+
+namespace _C_legacy {
+  extern "C" {
+#     define _IN_C_LEGACY_
+#     pragma GCC system_header
+#     include_next <unistd.h>
+  }
+} // namespace _C_legacy
+
+# undef _IN_C_LEGACY_
+
+#endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/libstdc++-v3/include/c_std/ctype.h b/libstdc++-v3/include/c_std/ctype.h
new file mode 100644 (file)
index 0000000..7dcea80
--- /dev/null
@@ -0,0 +1,68 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_CTYPE_H_
+# define _INCLUDED_CPP_CTYPE_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+#error ctype.h
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _CTYPE_NEED_C_LEGACY_
+# endif
+
+# include <cctype>
+
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+  using std::isalnum;
+  using std::isalpha;
+  using std::iscntrl;
+  using std::isdigit;
+  using std::isgraph;
+  using std::islower;
+  using std::isprint;
+  using std::ispunct;
+  using std::isspace;
+  using std::isupper;
+  using std::isxdigit;
+  using std::tolower;
+  using std::toupper;
+
+# ifdef _CTYPE_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _CTYPE_NEED_C_LEGACY_
+# endif /* _CTYPE_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_CTYPE_H_ */
diff --git a/libstdc++-v3/include/c_std/errno.h b/libstdc++-v3/include/c_std/errno.h
new file mode 100644 (file)
index 0000000..f2e6aee
--- /dev/null
@@ -0,0 +1,55 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_ERRNO_H_
+# define _INCLUDED_CPP_ERRNO_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _ERRNO_NEED_C_LEGACY_
+# endif
+
+# include <cerrno>
+
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+  using std::errno;
+
+# ifdef _ERRNO_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _ERRNO_NEED_C_LEGACY_
+# endif /* _ERRNO_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_ERRNO_H_ */
diff --git a/libstdc++-v3/include/c_std/float.h b/libstdc++-v3/include/c_std/float.h
new file mode 100644 (file)
index 0000000..f52c5f5
--- /dev/null
@@ -0,0 +1,54 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_FLOAT_H_
+# define _INCLUDED_CPP_FLOAT_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _FLOAT_NEED_C_LEGACY_
+# endif
+
+# include <cfloat>
+
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+
+# ifdef _FLOAT_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _FLOAT_NEED_C_LEGACY_
+# endif /* _FLOAT_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_FLOAT_H_ */
diff --git a/libstdc++-v3/include/c_std/limits.h b/libstdc++-v3/include/c_std/limits.h
new file mode 100644 (file)
index 0000000..26aa771
--- /dev/null
@@ -0,0 +1,54 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_LIMITS_H_
+# define _INCLUDED_CPP_LIMITS_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _LIMITS_NEED_C_LEGACY_
+# endif
+
+# include <climits>
+
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+
+# ifdef _LIMITS_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _LIMITS_NEED_C_LEGACY_
+# endif /* _LIMITS_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_LIMITS_H_ */
diff --git a/libstdc++-v3/include/c_std/locale.h b/libstdc++-v3/include/c_std/locale.h
new file mode 100644 (file)
index 0000000..1d5f529
--- /dev/null
@@ -0,0 +1,57 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_LOCALE_H_
+# define _INCLUDED_CPP_LOCALE_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _LOCALE_NEED_C_LEGACY_
+#endif
+
+# include <clocale>
+
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+  using std::lconv;
+  using std::setlocale;
+  using std::localeconv;
+
+# ifdef _LOCALE_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _LOCALE_NEED_C_LEGACY_
+# endif /* _LOCALE_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_LOCALE_H_ */
diff --git a/libstdc++-v3/include/c_std/math.h b/libstdc++-v3/include/c_std/math.h
new file mode 100644 (file)
index 0000000..f2ec04a
--- /dev/null
@@ -0,0 +1,131 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_MATH_H_
+# define _INCLUDED_CPP_MATH_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _MATH_NEED_C_LEGACY_
+# endif
+
+# include <cmath>
+
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+  using std::abs;
+  using std::acos;
+  using std::asin;
+  using std::atan;
+  using std::atan2;
+  using std::cos;
+  using std::sin;
+  using std::tan;
+  using std::cosh;
+  using std::sinh;
+  using std::tanh;
+  using std::exp;
+  using std::frexp;
+  using std::ldexp;
+  using std::log;
+  using std::log10;
+  using std::modf;
+  using std::pow;
+  using std::sqrt;
+  using std::ceil;
+  using std::fabs;
+  using std::floor;
+  using std::fmod;
+
+  // From ISO/IEC 9899:1999
+  using std::absf;
+  using std::acosf;
+  using std::asinf;
+  using std::atanf;
+  using std::atan2f;
+  using std::cosf;
+  using std::sinf;
+  using std::tanf;
+  using std::coshf;
+  using std::sinhf;
+  using std::tanhf;
+  using std::expf;
+  using std::frexpf;
+  using std::ldexpf;
+  using std::logf;
+  using std::log10f;
+  using std::modff;
+  using std::powf;
+  using std::sqrtf;
+  using std::ceilf;
+  using std::fabsf;
+  using std::floorf;
+  using std::fmodf;
+
+  // From ISO/IEC 9899:1999
+  using std::absl;
+  using std::acosl;
+  using std::asinl;
+  using std::atanl;
+  using std::atan2l;
+  using std::cosl;
+  using std::sinl;
+  using std::tanl;
+  using std::coshl;
+  using std::sinhl;
+  using std::tanhl;
+  using std::expl;
+  using std::frexpl;
+  using std::ldexpl;
+  using std::logl;
+  using std::log10l;
+  using std::modfl;
+  using std::powl;
+  using std::sqrtl;
+  using std::ceill;
+  using std::fabsl;
+  using std::floorl;
+  using std::fmodl;
+
+# ifdef _MATH_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _MATH_NEED_C_LEGACY_
+# endif /* _MATH_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_MATH_H_ */
+
+
+
+
diff --git a/libstdc++-v3/include/c_std/setjmp.h b/libstdc++-v3/include/c_std/setjmp.h
new file mode 100644 (file)
index 0000000..c4061e8
--- /dev/null
@@ -0,0 +1,56 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_SETJMP_H_
+# define _INCLUDED_CPP_SETJMP_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _SETJMP_NEED_C_LEGACY_
+# endif
+
+# include <csetjmp>
+
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+  using std::jmp_buf;
+  using std::longjmp;
+
+# ifdef _SETJMP_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _SETJMP_NEED_C_LEGACY_
+# endif /* _SETJMP_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_SETJMP_H_ */
diff --git a/libstdc++-v3/include/c_std/signal.h b/libstdc++-v3/include/c_std/signal.h
new file mode 100644 (file)
index 0000000..819ddf2
--- /dev/null
@@ -0,0 +1,58 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_SIGNAL_H_
+# define _INCLUDED_CPP_SIGNAL_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _SIGNAL_NEED_C_LEGACY_
+# endif
+
+# include <csignal>
+
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+  using std::sig_atomic_t;
+
+  using std::raise;
+  using std::signal;
+
+# ifdef _SIGNAL_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _SIGNAL_NEED_C_LEGACY_
+#  endif /* _SIGNAL_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_SIGNAL_H_ */
diff --git a/libstdc++-v3/include/c_std/stdarg.h b/libstdc++-v3/include/c_std/stdarg.h
new file mode 100644 (file)
index 0000000..cb32fec
--- /dev/null
@@ -0,0 +1,55 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_STDARG_H_
+# define _INCLUDED_CPP_STDARG_H_ 1
+
+#ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _STDARG_NEED_C_LEGACY_
+# endif
+
+# include <cstdarg>
+
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+  using std::va_list;
+
+# ifdef _STDARG_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _STDARG_NEED_C_LEGACY_
+# endif /* _STDARG_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_STDARG_H_ */
diff --git a/libstdc++-v3/include/c_std/stddef.h b/libstdc++-v3/include/c_std/stddef.h
new file mode 100644 (file)
index 0000000..03d5896
--- /dev/null
@@ -0,0 +1,60 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_STDDEF_H_
+# define _INCLUDED_CPP_STDDEF_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _STDDEF_NEED_C_LEGACY_
+# endif
+
+# include <cstddef>
+
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+  using std::ptrdiff_t;
+  using std::size_t;
+
+# ifdef _STDDEF_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _STDDEF_NEED_C_LEGACY_
+# endif /* _STDDEF_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_STDDEF_H_ */
+
+
+
+
diff --git a/libstdc++-v3/include/c_std/stdio.h b/libstdc++-v3/include/c_std/stdio.h
new file mode 100644 (file)
index 0000000..c3a43b7
--- /dev/null
@@ -0,0 +1,97 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_STDIO_H_
+# define _INCLUDED_CPP_STDIO_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _STDIO_NEED_C_LEGACY_
+# endif
+
+# include <cstdio>
+
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+  using std::FILE;
+  using std::fpos_t; 
+
+  using std::remove;
+  using std::rename;
+  using std::tmpfile;
+  using std::tmpnam;
+  using std::fclose;
+  using std::fflush;
+  using std::fopen;
+  using std::freopen;
+  using std::setbuf;
+  using std::setvbuf;
+  using std::fprintf;
+  using std::fscanf;
+  using std::printf;
+  using std::scanf;
+  using std::sprintf;
+  using std::sscanf;
+  using std::vfprintf;
+  using std::vprintf;
+  using std::vsprintf;
+  using std::fgetc;
+  using std::fgets;
+  using std::fputc;
+  using std::fputs;
+  using std::getc;
+  using std::getchar;
+  using std::gets;
+  using std::putc;
+  using std::putchar;
+  using std::puts;
+  using std::ungetc;
+  using std::fread;
+  using std::fwrite;
+  using std::fgetpos;
+  using std::fseek;
+  using std::fsetpos;
+  using std::ftell;
+  using std::rewind;
+  using std::clearerr;
+  using std::feof;
+  using std::ferror;
+  using std::perror;
+
+# ifdef _STDIO_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _STDIO_NEED_C_LEGACY_
+# endif /* _STDIO_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_STDIO_H_ */
diff --git a/libstdc++-v3/include/c_std/stdlib.h b/libstdc++-v3/include/c_std/stdlib.h
new file mode 100644 (file)
index 0000000..bc5dcc9
--- /dev/null
@@ -0,0 +1,95 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_STDLIB_H_
+# define _INCLUDED_CPP_STDLIB_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _STDLIB_NEED_C_LEGACY_
+# endif
+
+# include <cstdlib>
+
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+  using std::div_t;
+  using std::ldiv_t;
+#ifdef _GLIBCPP_USE_LONG_LONG
+  using std::lldiv_t;
+#endif
+
+  using std::abort;
+  using std::abs;
+  using std::atexit;
+  using std::atof;
+  using std::atoi;
+  using std::atol;
+  using std::bsearch;
+  using std::calloc;
+  using std::div;
+  using std::exit;
+  using std::free;
+  using std::getenv;
+  using std::labs;
+  using std::ldiv;
+  using std::malloc;
+  using std::mblen;
+  using std::mbstowcs;
+  using std::mbtowc;
+  using std::qsort;
+  using std::rand;
+  using std::realloc;
+  using std::srand;
+  using std::strtod;
+  using std::strtol;
+  using std::strtoul;
+  using std::system;
+  using std::wcstombs;
+  using std::wctomb;
+
+#ifdef _GLIBCPP_USE_LONG_LONG
+  using std::strtoll;
+  using std::strtoull;
+  using std::strtof;
+  using std::strtold;
+#endif
+
+# ifdef _STDLIB_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _STDLIB_NEED_C_LEGACY_
+# endif /* _STDLIB_NEED_C__LEGACY_ */
+#endif /* _INCLUDED_CPP_STDLIB_H_ */
diff --git a/libstdc++-v3/include/c_std/string.h b/libstdc++-v3/include/c_std/string.h
new file mode 100644 (file)
index 0000000..6f9e6cc
--- /dev/null
@@ -0,0 +1,76 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_STRING_H_
+# define _INCLUDED_CPP_STRING_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _STRING_NEED_C_LEGACY_
+# endif
+
+# include <cstring>
+
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+  using std::memcpy;
+  using std::memmove;
+  using std::strcpy;
+  using std::strncpy;
+  using std::strcat;
+  using std::strncat;
+  using std::memcmp;
+  using std::strcmp;
+  using std::strcoll;
+  using std::strncmp;
+  using std::strxfrm;
+  using std::memchr;
+  using std::strchr;
+  using std::strcspn;
+  using std::strpbrk;
+  using std::strrchr;
+  using std::strspn;
+  using std::strstr;
+  using std::strtok;
+  using std::memset;
+  using std::strerror;
+  using std::strlen;
+
+# ifdef _STRING_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _STRING_NEED_C_LEGACY_
+# endif /* _STRING_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_STRING_H_ */
diff --git a/libstdc++-v3/include/c_std/time.h b/libstdc++-v3/include/c_std/time.h
new file mode 100644 (file)
index 0000000..31064aa
--- /dev/null
@@ -0,0 +1,67 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_TIME_H_
+# define _INCLUDED_CPP_TIME_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _TIME_NEED_C_LEGACY_
+# endif
+
+# include <ctime>
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+  using std::clock_t;
+  using std::time_t;
+  using std::tm;
+
+  using std::clock;
+  using std::difftime;
+  using std::mktime;
+  using std::time;
+  using std::asctime;
+  using std::ctime;
+  using std::gmtime;
+  using std::localtime;
+  using std::strftime;
+
+# ifdef _TIME_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _TIME_NEED_C_LEGACY_
+# endif /* _TIME_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_TIME_H_ */
diff --git a/libstdc++-v3/include/c_std/unistd.h b/libstdc++-v3/include/c_std/unistd.h
new file mode 100644 (file)
index 0000000..39cfaae
--- /dev/null
@@ -0,0 +1,87 @@
+// -*- C++ -*- header wrapper.
+
+// Copyright (C) 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
+// 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  _INCLUDED_CPP_UNISTD_H_
+# define _INCLUDED_CPP_UNISTD_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _TIME_NEED_C_LEGACY_
+# endif
+
+# include <bits/wrap_unistd.h>
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+  using _C_legacy::gid_t;
+  using _C_legacy::uid_t;
+  using _C_legacy::off_t;
+  using _C_legacy::off64_t;
+  using _C_legacy::useconds_t;
+  using _C_legacy::pid_t;
+  using _C_legacy::intptr_t;
+  using _C_legacy::socklen_t;
+
+  using _C_legacy::access;
+  using _C_legacy::euidaccess;
+  using _C_legacy::lseek;
+  using _C_legacy::close;
+  using _C_legacy::read;
+  using _C_legacy::write;
+  using _C_legacy::pread;
+  using _C_legacy::pwrite;
+  using _C_legacy::pipe;
+  using _C_legacy::alarm;
+  using _C_legacy::sleep;
+  using _C_legacy::ualarm;
+  using _C_legacy::usleep;
+  using _C_legacy::pause;
+  using _C_legacy::chown;
+  using _C_legacy::fchown;
+  using _C_legacy::lchown;
+  using _C_legacy::chdir;
+  using _C_legacy::fchdir;
+  using _C_legacy::getcwd;
+  using _C_legacy::get_current_dir_name;
+  using _C_legacy::getwd;
+  using _C_legacy::dup;
+  using _C_legacy::dup2;
+
+# ifdef _TIME_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _TIME_NEED_C_LEGACY_
+# endif /* _TIME_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_UNISTD_H_ */
diff --git a/libstdc++-v3/include/c_std/wchar.h b/libstdc++-v3/include/c_std/wchar.h
new file mode 100644 (file)
index 0000000..efabb15
--- /dev/null
@@ -0,0 +1,131 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_WCHAR_H_
+# define _INCLUDED_CPP_WCHAR_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_  /* sub-included by a C header */
+#  define _WCHAR_NEED_C_LEGACY_
+# endif
+
+# include <cwchar>
+
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+  using std::wchar_t;
+  using std::wint_t;
+  using std::mbstate_t;
+
+#if 0
+  using std::fwprintf;
+  using std::fwscanf;
+  using std::swprintf;
+  using std::swscanf;
+  using std::vfwprintf;
+  using std::vfwscanf;
+  using std::vswprintf;
+  using std::vswscanf;
+  using std::vwprintf;
+  using std::vwscanf;
+  using std::wprintf;
+  using std::wscanf;
+  using std::fgetwc;
+  using std::fgetws;
+  using std::fputwc;
+  using std::fputws;
+  using std::fwide;
+  using std::getwc;
+  using std::getwchar;
+  using std::putwc;
+  using std::putwchar;
+  using std::ungetwc;
+#endif
+
+  using std::wcstod;
+  using std::wcstof;
+  using std::wcstold;
+  using std::wcstol;
+  using std::wcstoll;
+  using std::wcstoul;
+  using std::wcstoull;
+  using std::wcscpy;
+  using std::wcsncpy;
+  using std::wcscat;
+  using std::wcsncat;
+
+#if 0
+  using std::wcsmp;
+#endif
+
+  using std::wcscoll;
+  using std::wcsncmp;
+  using std::wcsxfrm;
+  using std::wcschr;
+  using std::wcscspn;
+  using std::wcslen;
+  using std::wcspbrk;
+  using std::wcsrchr;
+  using std::wcsspn;
+  using std::wcsstr;
+  using std::wcstok;
+  using std::wmemchr;
+  using std::wmemcmp;
+  using std::wmemcpy;
+  using std::wmemmove;
+  using std::wmemset;
+
+#if 0
+  using std::wcsftime;
+#endif
+
+  using std::btowc;
+  using std::wctob;
+  using std::mbsinit;
+  using std::mbrlen;
+  using std::mbrtowc;
+  using std::wcrtomb;
+  using std::mbsrtowcs;
+  using std::wcsrtombs;
+
+# ifdef _WCHAR_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _WCHAR_NEED_C_LEGACY_
+# endif /* _WCHAR_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_WCHAR_H_ */
+
+
+
diff --git a/libstdc++-v3/include/c_std/wctype.h b/libstdc++-v3/include/c_std/wctype.h
new file mode 100644 (file)
index 0000000..cae1aff
--- /dev/null
@@ -0,0 +1,74 @@
+// -*- C++ -*- header wrapper.
+
+// 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
+// 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  _INCLUDED_CPP_CWCTYPE_H_
+# define _INCLUDED_CPP_CWCTYPE_H_ 1
+
+# ifdef _IN_C_LEGACY_  /* sub-included by a C header */
+      // get out of the "legacy"
+    } // close extern "C"
+  }   // close namespace _C_legacy::
+#  undef _IN_C_LEGACY_
+#  define _CWCHAR_NEED_C_LEGACY_
+# endif
+
+# include <cwctype>
+
+  // Expose global C names, including non-standard ones, but shadow
+  // some names and types with the std:: C++ version.
+  using std::wint_t;
+  using std::wctype_t;
+  using std::wctrans_t;
+  using std::iswalpha;
+  using std::iswupper;
+  using std::iswlower;
+  using std::iswdigit;
+  using std::iswxdigit;
+  using std::iswalnum;
+  using std::iswspace;
+  using std::iswpunct;
+  using std::iswprint;
+  using std::iswgraph;
+  using std::iswcntrl;
+  using std::iswctype;
+  using std::towctrans;
+  using std::towlower;
+  using std::towupper;
+  using std::wctrans;
+  using std::wctype;
+
+# ifdef _CWCHAR_NEED_C_LEGACY_
+  // dive back into the "swamp"
+  namespace _C_legacy {
+    extern "C" {
+#  define _IN_C_LEGACY_
+#  undef _CWCHAR_NEED_C_LEGACY_
+# endif /* _CWCHAR_NEED_C_LEGACY_ */
+#endif /* _INCLUDED_CPP_CWCTYPE_H_ */