From 1384173a1c1246fec61fafcf71639cf98fdbd4f3 Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Thu, 12 Oct 2000 12:44:57 +0000 Subject: [PATCH] Makefile.am: Use it. 2000-10-11 Benjamin Kosnik * 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 --- libstdc++-v3/include/c_std/assert.h | 51 +++++++ libstdc++-v3/include/c_std/bits/wrap_unistd.h | 79 +++++++++++ libstdc++-v3/include/c_std/ctype.h | 68 +++++++++ libstdc++-v3/include/c_std/errno.h | 55 ++++++++ libstdc++-v3/include/c_std/float.h | 54 ++++++++ libstdc++-v3/include/c_std/limits.h | 54 ++++++++ libstdc++-v3/include/c_std/locale.h | 57 ++++++++ libstdc++-v3/include/c_std/math.h | 131 ++++++++++++++++++ libstdc++-v3/include/c_std/setjmp.h | 56 ++++++++ libstdc++-v3/include/c_std/signal.h | 58 ++++++++ libstdc++-v3/include/c_std/stdarg.h | 55 ++++++++ libstdc++-v3/include/c_std/stddef.h | 60 ++++++++ libstdc++-v3/include/c_std/stdio.h | 97 +++++++++++++ libstdc++-v3/include/c_std/stdlib.h | 95 +++++++++++++ libstdc++-v3/include/c_std/string.h | 76 ++++++++++ libstdc++-v3/include/c_std/time.h | 67 +++++++++ libstdc++-v3/include/c_std/unistd.h | 87 ++++++++++++ libstdc++-v3/include/c_std/wchar.h | 131 ++++++++++++++++++ libstdc++-v3/include/c_std/wctype.h | 74 ++++++++++ 19 files changed, 1405 insertions(+) create mode 100644 libstdc++-v3/include/c_std/assert.h create mode 100644 libstdc++-v3/include/c_std/bits/wrap_unistd.h create mode 100644 libstdc++-v3/include/c_std/ctype.h create mode 100644 libstdc++-v3/include/c_std/errno.h create mode 100644 libstdc++-v3/include/c_std/float.h create mode 100644 libstdc++-v3/include/c_std/limits.h create mode 100644 libstdc++-v3/include/c_std/locale.h create mode 100644 libstdc++-v3/include/c_std/math.h create mode 100644 libstdc++-v3/include/c_std/setjmp.h create mode 100644 libstdc++-v3/include/c_std/signal.h create mode 100644 libstdc++-v3/include/c_std/stdarg.h create mode 100644 libstdc++-v3/include/c_std/stddef.h create mode 100644 libstdc++-v3/include/c_std/stdio.h create mode 100644 libstdc++-v3/include/c_std/stdlib.h create mode 100644 libstdc++-v3/include/c_std/string.h create mode 100644 libstdc++-v3/include/c_std/time.h create mode 100644 libstdc++-v3/include/c_std/unistd.h create mode 100644 libstdc++-v3/include/c_std/wchar.h create mode 100644 libstdc++-v3/include/c_std/wctype.h diff --git a/libstdc++-v3/include/c_std/assert.h b/libstdc++-v3/include/c_std/assert.h new file mode 100644 index 00000000000..3507bdf449a --- /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 + + // 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 00000000000..144a3ea794c --- /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 + } +} // 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 00000000000..7dcea803ab5 --- /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 + + // 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 00000000000..f2e6aee6701 --- /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 + + // 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 00000000000..f52c5f5c9eb --- /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 + + // 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 00000000000..26aa771f2d5 --- /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 + + // 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 00000000000..1d5f529ed89 --- /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 + + // 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 00000000000..f2ec04af671 --- /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 + + // 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 00000000000..c4061e871db --- /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 + + // 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 00000000000..819ddf22f32 --- /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 + + // 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 00000000000..cb32feca7d6 --- /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 + + // 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 00000000000..03d5896779e --- /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 + + // 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 00000000000..c3a43b736c2 --- /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 + + // 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 00000000000..bc5dcc96743 --- /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 + + // 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 00000000000..6f9e6cc6372 --- /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 + + // 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 00000000000..31064aaa135 --- /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 + + // 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 00000000000..39cfaae642d --- /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 + + // 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 00000000000..efabb1519a5 --- /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 + + // 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 00000000000..cae1aff43e1 --- /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 + + // 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_ */ -- 2.30.2