diff options
author | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2000-10-12 12:44:57 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2000-10-12 12:44:57 +0000 |
commit | 1384173a1c1246fec61fafcf71639cf98fdbd4f3 (patch) | |
tree | 014aadc0771bc8a36859e93443b51e4eca86d0e6 | |
parent | 74490e0552eae199098f2c5975bf570956704d95 (diff) | |
download | gcc-1384173a1c1246fec61fafcf71639cf98fdbd4f3.zip gcc-1384173a1c1246fec61fafcf71639cf98fdbd4f3.tar.gz gcc-1384173a1c1246fec61fafcf71639cf98fdbd4f3.tar.bz2 |
Makefile.am: Use it.
2000-10-11 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* libsupc++/Makefile.am: Use it.
* libio/Makefile.am: Use it.
* libmath/Makefile.am: Use it.
* src/Makefile.am: Use it.
* Makefile.am (AM_MAKEFLAGS): Remove includes.
* acinclude.m4 (GLIBCPP_EXPORT_INCLUES): Move include macros here.
(GLIBCPP_EXPORT_FLAGS): Move CXX flag setting here.
* configure.in: Use it.
* mkcheck.in (SRC_DIR): Use C_INCLUDE_DIR.
* src/Makefile.am (CXXCOMPILE): Remove.
* src/Makefile.in: Regenerate.
* libsupc++/Makefile.am (CXXCOMPILE): Same here.
* libsupc++/Makefile.in: Regenerate.
* include/c_std/*: Merge with shadow.
* include/c_std/bits/*: Same.
20
From-SVN: r36850
-rw-r--r-- | libstdc++-v3/include/c_std/assert.h | 51 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/bits/wrap_unistd.h | 79 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/ctype.h | 68 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/errno.h | 55 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/float.h | 54 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/limits.h | 54 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/locale.h | 57 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/math.h | 131 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/setjmp.h | 56 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/signal.h | 58 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/stdarg.h | 55 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/stddef.h | 60 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/stdio.h | 97 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/stdlib.h | 95 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/string.h | 76 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/time.h | 67 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/unistd.h | 87 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/wchar.h | 131 | ||||
-rw-r--r-- | libstdc++-v3/include/c_std/wctype.h | 74 |
19 files changed, 1405 insertions, 0 deletions
diff --git a/libstdc++-v3/include/c_std/assert.h b/libstdc++-v3/include/c_std/assert.h new file mode 100644 index 0000000..3507bdf --- /dev/null +++ b/libstdc++-v3/include/c_std/assert.h @@ -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 index 0000000..144a3ea --- /dev/null +++ b/libstdc++-v3/include/c_std/bits/wrap_unistd.h @@ -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 index 0000000..7dcea80 --- /dev/null +++ b/libstdc++-v3/include/c_std/ctype.h @@ -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 index 0000000..f2e6aee --- /dev/null +++ b/libstdc++-v3/include/c_std/errno.h @@ -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 index 0000000..f52c5f5 --- /dev/null +++ b/libstdc++-v3/include/c_std/float.h @@ -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 index 0000000..26aa771 --- /dev/null +++ b/libstdc++-v3/include/c_std/limits.h @@ -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 index 0000000..1d5f529 --- /dev/null +++ b/libstdc++-v3/include/c_std/locale.h @@ -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 index 0000000..f2ec04a --- /dev/null +++ b/libstdc++-v3/include/c_std/math.h @@ -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 index 0000000..c4061e8 --- /dev/null +++ b/libstdc++-v3/include/c_std/setjmp.h @@ -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 index 0000000..819ddf2 --- /dev/null +++ b/libstdc++-v3/include/c_std/signal.h @@ -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 index 0000000..cb32fec --- /dev/null +++ b/libstdc++-v3/include/c_std/stdarg.h @@ -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 index 0000000..03d5896 --- /dev/null +++ b/libstdc++-v3/include/c_std/stddef.h @@ -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 index 0000000..c3a43b7 --- /dev/null +++ b/libstdc++-v3/include/c_std/stdio.h @@ -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 index 0000000..bc5dcc9 --- /dev/null +++ b/libstdc++-v3/include/c_std/stdlib.h @@ -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 index 0000000..6f9e6cc --- /dev/null +++ b/libstdc++-v3/include/c_std/string.h @@ -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 index 0000000..31064aa --- /dev/null +++ b/libstdc++-v3/include/c_std/time.h @@ -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 index 0000000..39cfaae --- /dev/null +++ b/libstdc++-v3/include/c_std/unistd.h @@ -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 index 0000000..efabb15 --- /dev/null +++ b/libstdc++-v3/include/c_std/wchar.h @@ -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 index 0000000..cae1aff --- /dev/null +++ b/libstdc++-v3/include/c_std/wctype.h @@ -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_ */ |