configopts.html: Edit.
2000-10-10 Benjamin Kosnik <bkoz@purist.soma.redhat.com> * docs/configopts.html: Edit. * libio/Makefile.am (INCLUDES): Remove duplicates, simplify. * libio/Makefile.in: Regenerate. * libmath/Makefile.am (INCLUDES): Remove duplicates, simplify. * libmath/Makefile.in: Regenerate. * libsupc++/Makefile.am (INCLUDES): Remove duplicate. * libsupc++/Makefile.in: Regenerate. * Makefile.am (AM_MAKEFLAGS): Add GLIBCPP_INCLUDES, TOPLEVEL_INCLUDES, LIBMATH_INCLUDES, LIBIO_INCLUDES, CSHADOW_INCLUDES up here. * Makefile.in: Regenerate. * src/Makefile.am (CSHADOW_INCLUDES): Add include/c_std, include/c for shadow headers. (myinstallheaders): Change glibcpp_includedir to GLIBCPP_INCLUDES. Move GLIBCPP_INCLUDES, TOPLEVEL_INCLUDES, LIBMATH_INCLUDES, LIBIO_INCLUDES, CSHADOW_INCLUDES up Makefile hierarchy. * src/Makefile.in: Regenerate. * include/c: New directory. * include/c/bits/(std_cassert.h, std_cctype.h, std_cerrno.h, std_cfloat.h, std_climits.h, std_clocale.h, std_cmath.h, std_csetjmp.h, std_csignal.h, std_cstdarg.h, std_cstddef.h, std_cstdio.h, std_cstdlib.h, std_cstring.h, std_ctime.h, std_cwchar.h, std_cwctype.h): Add, moving from... * include/bits: ...here. * include/c_std: New directory. * include/c_std/bits/*: Populate from... * shadow: ...here. Remove directory. From-SVN: r36802
This commit is contained in:
parent
4d0230e166
commit
22aef5143d
|
@ -0,0 +1,72 @@
|
|||
// -*- 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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 19.2 Assertions
|
||||
//
|
||||
|
||||
#ifndef _CPP_CASSERT
|
||||
#define _CPP_CASSERT 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 _ASSERT_NEED_C_LEGACY_
|
||||
#endif
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <assert.h>
|
||||
}
|
||||
|
||||
} // namespace _C_legacy
|
||||
|
||||
|
||||
#undef _IN_C_LEGACY_
|
||||
|
||||
// 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_ */
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,174 @@
|
|||
// -*- 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.
|
||||
|
||||
// ISO C++ 14882: 22
|
||||
//
|
||||
|
||||
#ifndef _CPP_CCTYPE
|
||||
#define _CPP_CCTYPE 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 _CTYPE_NEED_C_LEGACY_
|
||||
# endif
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <ctype.h>
|
||||
}
|
||||
|
||||
inline int
|
||||
_CPP_isalnum_capture(int c) { return isalnum(c); }
|
||||
|
||||
inline int
|
||||
_CPP_isalpha_capture(int c) { return isalpha(c); }
|
||||
|
||||
inline int
|
||||
_CPP_iscntrl_capture(int c) { return iscntrl(c); }
|
||||
|
||||
inline int
|
||||
_CPP_isdigit_capture(int c) { return isdigit(c); }
|
||||
|
||||
inline int
|
||||
_CPP_isgraph_capture(int c) { return isgraph(c); }
|
||||
|
||||
inline int
|
||||
_CPP_islower_capture(int c) { return islower(c); }
|
||||
|
||||
inline int
|
||||
_CPP_isprint_capture(int c) { return isprint(c); }
|
||||
|
||||
inline int
|
||||
_CPP_ispunct_capture(int c) { return ispunct(c); }
|
||||
|
||||
inline int
|
||||
_CPP_isspace_capture(int c) { return isspace(c); }
|
||||
|
||||
inline int
|
||||
_CPP_isupper_capture(int c) { return isupper(c); }
|
||||
|
||||
inline int
|
||||
_CPP_isxdigit_capture(int c) { return isxdigit(c); }
|
||||
|
||||
inline int
|
||||
_CPP_tolower_capture(int c) { return tolower(c); }
|
||||
|
||||
inline int
|
||||
_CPP_toupper_capture(int c) { return toupper(c); }
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef isalnum
|
||||
# undef isalpha
|
||||
# undef iscntrl
|
||||
# undef isdigit
|
||||
# undef isgraph
|
||||
# undef islower
|
||||
# undef isprint
|
||||
# undef ispunct
|
||||
# undef isspace
|
||||
# undef isupper
|
||||
# undef isxdigit
|
||||
|
||||
# undef tolower
|
||||
# undef toupper
|
||||
|
||||
namespace std {
|
||||
inline int
|
||||
isalnum(int __c) { return _C_legacy::_CPP_isalnum_capture(__c); }
|
||||
|
||||
inline int
|
||||
isalpha(int __c) { return _C_legacy::_CPP_isalpha_capture(__c); }
|
||||
|
||||
inline int
|
||||
iscntrl(int __c) { return _C_legacy::_CPP_iscntrl_capture(__c); }
|
||||
|
||||
inline int
|
||||
isdigit(int __c) { return _C_legacy::_CPP_isdigit_capture(__c); }
|
||||
|
||||
inline int
|
||||
isgraph(int __c) { return _C_legacy::_CPP_isgraph_capture(__c); }
|
||||
|
||||
inline int
|
||||
islower(int __c) { return _C_legacy::_CPP_islower_capture(__c); }
|
||||
|
||||
inline int
|
||||
isprint(int __c) { return _C_legacy::_CPP_isprint_capture(__c); }
|
||||
|
||||
inline int
|
||||
ispunct(int __c) { return _C_legacy::_CPP_ispunct_capture(__c); }
|
||||
|
||||
inline int
|
||||
isspace(int __c) { return _C_legacy::_CPP_isspace_capture(__c); }
|
||||
|
||||
inline int
|
||||
isupper(int __c) { return _C_legacy::_CPP_isupper_capture(__c); }
|
||||
|
||||
inline int
|
||||
isxdigit(int __c) { return _C_legacy::_CPP_isxdigit_capture(__c); }
|
||||
|
||||
inline int
|
||||
tolower(int __c) { return _C_legacy::_CPP_tolower_capture(__c); }
|
||||
|
||||
inline int
|
||||
toupper(int __c) { return _C_legacy::_CPP_toupper_capture(__c); }
|
||||
} // namespace std
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
// 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 /*_CPP_CCTYPE*/
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
// -*- 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.
|
||||
|
||||
// ISO C++ 14882: 19.3 Error numbers
|
||||
//
|
||||
|
||||
#ifndef _CPP_CERRNO
|
||||
#define _CPP_CERRNO 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
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <errno.h>
|
||||
}
|
||||
|
||||
// inline int&
|
||||
// _CPP_errno_capture() { return errno; }
|
||||
|
||||
} // namespace _C_legacy::
|
||||
|
||||
# undef errno
|
||||
//# define errno _C_legacy::_CPP_errno_capture()
|
||||
|
||||
namespace std {
|
||||
using _C_legacy::errno;
|
||||
}
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
// 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 /*_CPP_CERRNO*/
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
// -*- 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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 18.2.2 Implementation properties: C library
|
||||
//
|
||||
|
||||
#ifndef _CPP_CFLOAT
|
||||
#define _CPP_CFLOAT 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
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <float.h>
|
||||
}
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
// 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 /*_CPP_CFLOAT*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 18.2.2 Implementation properties: C library
|
||||
//
|
||||
|
||||
#ifndef _CPP_CLIMITS
|
||||
#define _CPP_CLIMTIS 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
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <limits.h>
|
||||
}
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
// 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 /*_CPP_CLIMITS*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
// -*- 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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 18.2.2 Implementation properties: C library
|
||||
//
|
||||
|
||||
#ifndef _CPP_CLOCALE
|
||||
#define _CPP_CLOCALE 1
|
||||
|
||||
# include <bits/std_cstddef.h>
|
||||
|
||||
# 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
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <locale.h>
|
||||
}
|
||||
|
||||
typedef lconv _CPP_lconv_capture;
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef lconv
|
||||
# undef setlocale
|
||||
# undef localeconv
|
||||
|
||||
namespace std {
|
||||
// Adopt C names into std::
|
||||
struct lconv : _C_legacy::_CPP_lconv_capture { };
|
||||
|
||||
using _C_legacy::setlocale;
|
||||
|
||||
inline lconv*
|
||||
localeconv() { return reinterpret_cast<lconv*>(_C_legacy::localeconv()); }
|
||||
} // namespace std
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
// 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 /*_CPP_CLOCALE*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,84 @@
|
|||
// -*- 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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 20.4.6 C library
|
||||
//
|
||||
|
||||
#ifndef _CPP_CSETJMP
|
||||
#define _CPP_CSETJMP 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
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <setjmp.h>
|
||||
}
|
||||
inline int
|
||||
_CPP_setjmp_capture(jmp_buf __jb) { return setjmp(__jb); }
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef jmp_buf
|
||||
# undef setjmp
|
||||
# define setjmp(__jb) ::_C_legacy::_CPP_setjmp_capture(__jb)
|
||||
# undef longjmp
|
||||
|
||||
namespace std {
|
||||
// Adopt C names into std::
|
||||
using _C_legacy::jmp_buf;
|
||||
using _C_legacy::longjmp;
|
||||
} // namespace std
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
// 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 /*_CPP_CSETJUMP*/
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
// -*- 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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 20.4.6 C library
|
||||
//
|
||||
|
||||
#ifndef _CPP_CSIGNAL
|
||||
#define _CPP_CSIGNAL 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
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
// XXX
|
||||
# undef __need_sig_atomic_t
|
||||
# undef __need_sigset_t
|
||||
|
||||
# pragma GCC system_header
|
||||
# include_next <signal.h>
|
||||
}
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef sig_atomic_t
|
||||
# undef raise
|
||||
# undef signal
|
||||
|
||||
namespace std {
|
||||
// Adopt C names into std::
|
||||
using _C_legacy::sig_atomic_t;
|
||||
using _C_legacy::raise;
|
||||
using _C_legacy::signal;
|
||||
} // namespace std
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
// 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 /*_CPP_CSIGNAL*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 20.4.6 C library
|
||||
//
|
||||
|
||||
#ifndef _CPP_CSTDARG
|
||||
#define _CPP_CSTDARG 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
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <stdarg.h>
|
||||
}
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef va_list
|
||||
|
||||
namespace std {
|
||||
using _C_legacy::va_list;
|
||||
} // namespace std
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
// 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 /*_CPP_CSTDARG*/
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
// -*- 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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 18.1 Types
|
||||
//
|
||||
|
||||
#ifndef _CPP_CSTDDEF
|
||||
#define _CPP_CSTDDEF 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
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
|
||||
// XXX
|
||||
// glibc 2.1.x time.h is on crack
|
||||
# define __need_wchar_t
|
||||
# define __need_ptrdiff_t
|
||||
# define __need_size_t
|
||||
|
||||
# include_next <stddef.h>
|
||||
}
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef ptrdiff_t
|
||||
# undef size_t
|
||||
# undef wchar_t
|
||||
|
||||
namespace std {
|
||||
using _C_legacy::ptrdiff_t;
|
||||
using _C_legacy::size_t;
|
||||
using _C_legacy::wchar_t;
|
||||
} // namespace std
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
// 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;
|
||||
using std::wchar_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 /*_CPP_CSTDDEF*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,346 @@
|
|||
// -*- 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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 27.8.2 C Library files
|
||||
//
|
||||
|
||||
#ifndef _CPP_CSTDIO
|
||||
#define _CPP_CSTDIO 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 <bits/std_cstddef.h>
|
||||
# include <bits/std_cstdarg.h>
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# undef __need_FILE
|
||||
# pragma GCC system_header
|
||||
# include_next <stdio.h>
|
||||
}
|
||||
|
||||
typedef FILE _CPP_FILE_capture;
|
||||
typedef fpos_t _CPP_fpos_t_capture;
|
||||
|
||||
inline FILE*
|
||||
_CPP_stderr_capture() { return stderr; }
|
||||
|
||||
inline FILE*
|
||||
_CPP_stdin_capture() { return stdin; }
|
||||
|
||||
inline FILE*
|
||||
_CPP_stdout_capture() { return stdout; }
|
||||
|
||||
inline int
|
||||
_CPP_getc_capture(FILE* __f) { return getc(__f); }
|
||||
|
||||
inline int
|
||||
_CPP_getchar_capture() { return getchar(); }
|
||||
|
||||
inline int
|
||||
_CPP_putc_capture(int __c, FILE* __f) { return putc(__c, __f); }
|
||||
|
||||
inline int
|
||||
_CPP_putchar_capture(int __c) { return putchar(__c); }
|
||||
|
||||
inline int
|
||||
_CPP_feof_capture(FILE* __f) { return feof(__f); }
|
||||
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef FILE
|
||||
# undef fpos_t
|
||||
|
||||
# undef remove
|
||||
# undef rename
|
||||
# undef tmpfile
|
||||
# undef tmpnam
|
||||
# undef fclose
|
||||
# undef fflush
|
||||
# undef fopen
|
||||
# undef freopen
|
||||
# undef setbuf
|
||||
# undef setvbuf
|
||||
# undef fprintf
|
||||
# undef fscanf
|
||||
# undef printf
|
||||
# undef scanf
|
||||
# undef sprintf
|
||||
# undef sscanf
|
||||
# undef vfprintf
|
||||
# undef vprintf
|
||||
# undef vsprintf
|
||||
# undef fgetc
|
||||
# undef fgets
|
||||
# undef fputc
|
||||
# undef fputs
|
||||
# undef getc
|
||||
# undef getchar
|
||||
# undef gets
|
||||
# undef putc
|
||||
# undef putchar
|
||||
# undef puts
|
||||
# undef ungetc
|
||||
# undef fread
|
||||
# undef fwrite
|
||||
# undef fgetpos
|
||||
# undef fseek
|
||||
# undef fsetpos
|
||||
# undef ftell
|
||||
# undef rewind
|
||||
# undef clearerr
|
||||
# undef feof
|
||||
# undef ferror
|
||||
# undef perror
|
||||
|
||||
# undef stderr
|
||||
# define stderr std::_CPP_stderr()
|
||||
# undef stdin
|
||||
# define stdin std::_CPP_stdin()
|
||||
# undef stdout
|
||||
# define stdout std::_CPP_stdout()
|
||||
|
||||
namespace std {
|
||||
struct FILE : _C_legacy::_CPP_FILE_capture { };
|
||||
struct fpos_t { _C_legacy::_CPP_fpos_t_capture _M_dummy; };
|
||||
|
||||
using _C_legacy::remove;
|
||||
using _C_legacy::rename;
|
||||
using _C_legacy::tmpnam;
|
||||
using _C_legacy::printf;
|
||||
using _C_legacy::scanf;
|
||||
using _C_legacy::sprintf;
|
||||
using _C_legacy::sscanf;
|
||||
using _C_legacy::gets;
|
||||
using _C_legacy::perror;
|
||||
|
||||
inline FILE*
|
||||
_CPP_stderr()
|
||||
{ return reinterpret_cast<FILE*>(_C_legacy::_CPP_stderr_capture() ); }
|
||||
|
||||
inline FILE*
|
||||
_CPP_stdin()
|
||||
{ return reinterpret_cast<FILE*>(_C_legacy::_CPP_stdin_capture() ); }
|
||||
|
||||
inline FILE*
|
||||
_CPP_stdout()
|
||||
{ return reinterpret_cast<FILE*>(_C_legacy::_CPP_stdout_capture() ); }
|
||||
|
||||
inline FILE*
|
||||
tmpfile() { return reinterpret_cast<FILE*>(_C_legacy::tmpfile()); }
|
||||
|
||||
inline int
|
||||
fclose(FILE* __f) { return _C_legacy::fclose(__f); }
|
||||
|
||||
inline int
|
||||
fflush(FILE* __f) { return _C_legacy::fflush(__f); }
|
||||
|
||||
inline FILE*
|
||||
fopen(char const* __name, char const* __mode)
|
||||
{ return reinterpret_cast<FILE*>(_C_legacy::fopen(__name,__mode)); }
|
||||
|
||||
inline FILE*
|
||||
freopen(char const* __name, char const* __mode, FILE* __f)
|
||||
{ return reinterpret_cast<FILE*>(_C_legacy::freopen(__name,__mode,__f)); }
|
||||
|
||||
inline void
|
||||
setbuf(FILE* __f, char* __buf)
|
||||
{ return _C_legacy::setbuf(__f, __buf); }
|
||||
|
||||
inline int
|
||||
setvbuf(FILE* __f, char* __buf, int __mode, size_t __size)
|
||||
{ return _C_legacy::setvbuf(__f, __buf, __mode, __size); }
|
||||
|
||||
inline int
|
||||
fprintf(FILE* __f, char const* __fmt, ...)
|
||||
{
|
||||
va_list __v;
|
||||
va_start(__v,__fmt);
|
||||
int __i = _C_legacy::vfprintf(__f, __fmt, __v);
|
||||
va_end(__v);
|
||||
return __i;
|
||||
}
|
||||
|
||||
inline int
|
||||
fscanf(FILE* __f, char const* __fmt, ...)
|
||||
{
|
||||
va_list __v;
|
||||
va_start(__v,__fmt);
|
||||
int __i = _C_legacy::vfscanf(__f, __fmt, __v);
|
||||
va_end(__v);
|
||||
return __i;
|
||||
}
|
||||
|
||||
inline int
|
||||
vfprintf(FILE* __f, char const* __fmt, va_list __v)
|
||||
{ return _C_legacy::vfprintf(__f, __fmt, __v); }
|
||||
|
||||
inline int
|
||||
vprintf(char const* __fmt, va_list __v)
|
||||
{ return _C_legacy::vprintf(__fmt, __v); }
|
||||
|
||||
inline int
|
||||
vsprintf(char* __buf, char const* __fmt, va_list __v)
|
||||
{ return _C_legacy::vsprintf(__buf, __fmt, __v); }
|
||||
|
||||
inline int
|
||||
fgetc(FILE* __f) { return _C_legacy::fgetc(__f); }
|
||||
|
||||
inline char*
|
||||
fgets(char* __buf, int __n, FILE* __f)
|
||||
{ return _C_legacy::fgets(__buf, __n, __f); }
|
||||
|
||||
inline int
|
||||
fputc(int __c, FILE* __f) { return _C_legacy::fputc(__c, __f); }
|
||||
|
||||
inline int
|
||||
fputs(char const* __s, FILE* __f)
|
||||
{ return _C_legacy::fputs(__s, __f); }
|
||||
|
||||
inline int
|
||||
getc(FILE* __f) { return _C_legacy::_CPP_getc_capture(__f); }
|
||||
|
||||
inline int
|
||||
getchar() { return _C_legacy::_CPP_getchar_capture(); }
|
||||
|
||||
inline int
|
||||
putc(int __c, FILE* __f)
|
||||
{ return _C_legacy::_CPP_putc_capture(__c, __f); }
|
||||
|
||||
inline int
|
||||
putchar(int __c) { return _C_legacy::_CPP_putchar_capture(__c); }
|
||||
|
||||
using _C_legacy::puts;
|
||||
|
||||
inline int
|
||||
ungetc(int __c, FILE* __f) { return _C_legacy::ungetc(__c, __f); }
|
||||
|
||||
inline size_t
|
||||
fread(void* __p, size_t __z, size_t __n, FILE* __f)
|
||||
{ return _C_legacy::fread(__p,__z,__n,__f); }
|
||||
|
||||
inline size_t
|
||||
fwrite(void const* __p, size_t __z, size_t __n, FILE* __f)
|
||||
{ return _C_legacy::fwrite(__p,__z,__n,__f); }
|
||||
|
||||
inline int
|
||||
fgetpos(FILE* __f, fpos_t* __pos)
|
||||
{ return _C_legacy::fgetpos(__f,&__pos->_M_dummy); }
|
||||
|
||||
inline int
|
||||
fseek(FILE* __f, long __off, int __how)
|
||||
{ return _C_legacy::fseek(__f,__off,__how); }
|
||||
|
||||
inline int
|
||||
fsetpos(FILE* __f, fpos_t const* __pos)
|
||||
{ return _C_legacy::fsetpos(__f,&__pos->_M_dummy); }
|
||||
|
||||
inline long
|
||||
ftell(FILE* __f) { return _C_legacy::ftell(__f); }
|
||||
|
||||
inline void
|
||||
rewind(FILE* __f) { return _C_legacy::rewind(__f); }
|
||||
|
||||
inline void
|
||||
clearerr(FILE* __f) { return _C_legacy::clearerr(__f); }
|
||||
|
||||
inline int
|
||||
feof(FILE* __f) { return _C_legacy::_CPP_feof_capture(__f); }
|
||||
|
||||
inline int
|
||||
ferror(FILE* __f) { return _C_legacy::ferror(__f); }
|
||||
} // namespace std
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
// 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 /*_CPP_CSTDIO*/
|
||||
|
|
@ -0,0 +1,251 @@
|
|||
// -*- 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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 20.4.6 C library
|
||||
//
|
||||
|
||||
// Function decls in this header are overloaded on the
|
||||
// extern "C"-ness of arguments. This is a rich ground
|
||||
// for compiler bugs.
|
||||
|
||||
#ifndef _CPP_CSTDLIB
|
||||
#define _CPP_CSTDLIB 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 <bits/c++config.h>
|
||||
# include <bits/std_cstddef.h>
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <stdlib.h>
|
||||
typedef int (*_C_cmp_fun_ptr)(const void*, const void*); // C fn ptr
|
||||
}
|
||||
|
||||
typedef div_t _CPP_div_t_capture;
|
||||
typedef ldiv_t _CPP_ldiv_t_capture;
|
||||
|
||||
# if _GLIBCPP_HAVE_LLDIV_T
|
||||
typedef lldiv_t _CPP_lldiv_t_capture;
|
||||
# endif
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef size_t
|
||||
# undef wchar_t
|
||||
# undef div_t
|
||||
# undef ldiv_t
|
||||
|
||||
# undef atof
|
||||
# undef atoi
|
||||
# undef atol
|
||||
# undef strtod
|
||||
# undef strtol
|
||||
# undef strtoul
|
||||
# undef rand
|
||||
# undef srand
|
||||
# undef calloc
|
||||
# undef free
|
||||
# undef malloc
|
||||
# undef realloc
|
||||
# undef abort
|
||||
# undef atexit
|
||||
# undef exit
|
||||
# undef getenv
|
||||
# undef system
|
||||
# undef bsearch
|
||||
# undef qsort
|
||||
# undef abs
|
||||
# undef div
|
||||
# undef labs
|
||||
# undef ldiv
|
||||
#ifdef _GLIBCPP_USE_LONG_LONG
|
||||
# undef llabs
|
||||
# undef lldiv
|
||||
#endif
|
||||
# undef mblen
|
||||
# undef mbtowc
|
||||
# undef wctomb
|
||||
# undef mbstowcs
|
||||
# undef wcstombs
|
||||
|
||||
namespace std {
|
||||
struct div_t : _C_legacy::_CPP_div_t_capture { };
|
||||
struct ldiv_t : _C_legacy::_CPP_ldiv_t_capture { };
|
||||
|
||||
#ifdef _GLIBCPP_USE_LONG_LONG
|
||||
# ifdef _GLIBCPP_HAVE_LLDIV_T
|
||||
struct lldiv_t : _C_legacy::_CPP_lldiv_t_captur { };
|
||||
# else
|
||||
struct lldiv_t
|
||||
{
|
||||
long long quot;
|
||||
long long rem;
|
||||
};
|
||||
# endif
|
||||
#endif
|
||||
|
||||
using _C_legacy::atof;
|
||||
using _C_legacy::atoi;
|
||||
using _C_legacy::atol;
|
||||
using _C_legacy::strtod;
|
||||
using _C_legacy::strtol;
|
||||
using _C_legacy::strtoul;
|
||||
using _C_legacy::rand;
|
||||
using _C_legacy::srand;
|
||||
using _C_legacy::calloc;
|
||||
using _C_legacy::free;
|
||||
using _C_legacy::malloc;
|
||||
using _C_legacy::realloc;
|
||||
|
||||
using _C_legacy::abort;
|
||||
using _C_legacy::atexit;
|
||||
using _C_legacy::exit;
|
||||
using _C_legacy::bsearch;
|
||||
using _C_legacy::qsort;
|
||||
|
||||
using _C_legacy::getenv;
|
||||
using _C_legacy::system;
|
||||
using _C_legacy::mbtowc;
|
||||
using _C_legacy::wctomb;
|
||||
using _C_legacy::mbstowcs;
|
||||
using _C_legacy::wcstombs;
|
||||
|
||||
#ifdef _GLIBCPP_USE_LONG_LONG
|
||||
using _C_legacy::strtoll;
|
||||
using _C_legacy::strtoull;
|
||||
using _C_legacy::strtof;
|
||||
using _C_legacy::strtold;
|
||||
#endif
|
||||
|
||||
using _C_legacy::mblen;
|
||||
|
||||
inline int
|
||||
abs(int __x) { return __x >= 0 ? __x : -__x; }
|
||||
|
||||
inline div_t
|
||||
div(int __n, int __d)
|
||||
{ div_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
|
||||
|
||||
inline long
|
||||
labs(long __x) { return __x >= 0 ? __x : -__x; }
|
||||
|
||||
inline long
|
||||
abs(long __x) { return __x >= 0 ? __x : -__x; }
|
||||
|
||||
inline ldiv_t
|
||||
ldiv(long __n, long __d)
|
||||
{ ldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
|
||||
|
||||
inline ldiv_t
|
||||
div(long __n, long __d)
|
||||
{ ldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
|
||||
|
||||
#ifdef _GLIBCPP_USE_LONG_LONG
|
||||
inline long long
|
||||
llabs(long long __x) { return __x >= 0 ? __x : -__x; }
|
||||
|
||||
inline long long
|
||||
abs(long long __x) { return __x >= 0 ? __x : -__x; }
|
||||
|
||||
inline lldiv_t
|
||||
lldiv(long long __n, long long __d)
|
||||
{ lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
|
||||
|
||||
inline lldiv_t
|
||||
div(long long __n, long long __d)
|
||||
{ lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
|
||||
#endif
|
||||
} // namespace std
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
// 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 /*_CPP_CSTDLIB*/
|
||||
|
||||
|
|
@ -0,0 +1,320 @@
|
|||
// -*- 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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 20.4.6 C library
|
||||
//
|
||||
|
||||
#ifndef _CPP_CSTRING
|
||||
#define _CPP_CSTRING 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
|
||||
|
||||
# if defined __GLIBC__ && __GLIBC__ >= 2
|
||||
// We must not see the optimized string functions GNU libc defines.
|
||||
# define __NO_STRING_INLINES
|
||||
# endif
|
||||
|
||||
# include <bits/std_cstddef.h>
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <string.h>
|
||||
}
|
||||
|
||||
// We do inline captures of most of these in case they
|
||||
// have been optimized with macros.
|
||||
inline void*
|
||||
_CPP_memcpy_capture(void* __s1, void const* __s2, size_t __n)
|
||||
{ return memcpy(__s1, __s2, __n); }
|
||||
|
||||
inline void*
|
||||
_CPP_memmove_capture(void* __s1, void const* __s2, size_t __n)
|
||||
{ return memmove(__s1, __s2, __n); }
|
||||
|
||||
inline void*
|
||||
_CPP_strcpy_capture(char* __s1, char const* __s2)
|
||||
{ return strcpy(__s1, __s2); }
|
||||
|
||||
inline char*
|
||||
_CPP_strncpy_capture(char* __s1, char const* __s2, size_t __n)
|
||||
{ return strncpy(__s1, __s2, __n); }
|
||||
|
||||
inline char*
|
||||
_CPP_strcat_capture(char* __s1, char const* __s2)
|
||||
{ return strcat(__s1, __s2); }
|
||||
|
||||
inline char*
|
||||
_CPP_strncat_capture(char* __s1, char const* __s2, size_t __n)
|
||||
{ return strncat(__s1, __s2, __n); }
|
||||
|
||||
inline int
|
||||
_CPP_memcmp_capture(void const* __s1, void const* __s2, size_t __n)
|
||||
{ return memcmp(__s1, __s2, __n); }
|
||||
|
||||
inline int
|
||||
_CPP_strcmp_capture(char const* __s1, char const* __s2)
|
||||
{ return strcmp(__s1, __s2); }
|
||||
|
||||
inline int
|
||||
_CPP_strcoll_capture(char const* __s1, char const* __s2)
|
||||
{ return strcoll(__s1, __s2); }
|
||||
|
||||
inline int
|
||||
_CPP_strncmp_capture(char const* __s1, char const* __s2, size_t __n)
|
||||
{ return strncmp(__s1, __s2, __n); }
|
||||
|
||||
inline size_t
|
||||
_CPP_strxfrm_capture(char* __b, char const* __s, size_t __n)
|
||||
{ return strxfrm(__b, __s, __n); }
|
||||
|
||||
inline void*
|
||||
_CPP_memchr_capture(void const* __s1, int __c, size_t __n)
|
||||
{ return memchr(__s1, __c, __n); }
|
||||
|
||||
inline char*
|
||||
_CPP_strchr_capture(char const* __s1, int __c)
|
||||
{ return strchr(__s1, __c); }
|
||||
|
||||
inline size_t
|
||||
_CPP_strcspn_capture(char const* __s1, char const* __s2)
|
||||
{ return strcspn(__s1, __s2); }
|
||||
|
||||
inline char*
|
||||
_CPP_strpbrk_capture(char const* __s1, char const* __s2)
|
||||
{ return strpbrk(__s1, __s2); }
|
||||
|
||||
inline char*
|
||||
_CPP_strrchr_capture(char const* __s1, int __c)
|
||||
{ return strrchr(__s1, __c); }
|
||||
|
||||
inline size_t
|
||||
_CPP_strspn_capture(char const* __s1, char const* __s2)
|
||||
{ return strspn(__s1, __s2); }
|
||||
|
||||
inline char*
|
||||
_CPP_strstr_capture(char const* __s1, char const* __s2)
|
||||
{ return strstr(__s1, __s2); }
|
||||
|
||||
inline char*
|
||||
_CPP_strtok_capture(char* __s1, char const* __s2)
|
||||
{ return strtok(__s1, __s2); }
|
||||
|
||||
inline void*
|
||||
_CPP_memset_capture(void* __s, int __c, size_t __n)
|
||||
{ return memset(__s, __c, __n); }
|
||||
|
||||
// inline char*
|
||||
// _CPP_strerror_capture(int __num)
|
||||
// { return strerror(__num); }
|
||||
|
||||
inline size_t
|
||||
_CPP_strlen_capture(char const* __s)
|
||||
{ return strlen(__s); }
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef memcpy
|
||||
# undef memmove
|
||||
# undef strcpy
|
||||
# undef strncpy
|
||||
# undef strcat
|
||||
# undef strncat
|
||||
# undef memcmp
|
||||
# undef strcmp
|
||||
# undef strcoll
|
||||
# undef strncmp
|
||||
# undef strxfrm
|
||||
# undef memchr
|
||||
# undef strchr
|
||||
# undef strcspn
|
||||
# undef strpbrk
|
||||
# undef strrchr
|
||||
# undef strspn
|
||||
# undef strstr
|
||||
# undef strtok
|
||||
# undef memset
|
||||
# undef strerror
|
||||
# undef strlen
|
||||
|
||||
namespace std {
|
||||
// Redefine most of these inline. Note that the
|
||||
// C++ definition differs from C in some cases.
|
||||
inline void*
|
||||
memcpy(void* __s1, void const* __s2, size_t __n)
|
||||
{ return _C_legacy::_CPP_memcpy_capture(__s1, __s2, __n); }
|
||||
|
||||
inline void*
|
||||
memmove(void* __s1, void const* __s2, size_t __n)
|
||||
{ return _C_legacy::_CPP_memmove_capture(__s1, __s2, __n); }
|
||||
|
||||
inline void*
|
||||
strcpy(char* __s1, char const* __s2)
|
||||
{ return _C_legacy::_CPP_strcpy_capture(__s1, __s2); }
|
||||
|
||||
inline char*
|
||||
strncpy(char* __s1, char const* __s2, size_t __n)
|
||||
{ return _C_legacy::_CPP_strncpy_capture(__s1, __s2, __n); }
|
||||
|
||||
inline char*
|
||||
strcat(char* __s1, char const* __s2)
|
||||
{ return _C_legacy::_CPP_strcat_capture(__s1, __s2); }
|
||||
|
||||
inline char*
|
||||
strncat(char* __s1, char const* __s2, size_t __n)
|
||||
{ return _C_legacy::_CPP_strncat_capture(__s1, __s2, __n); }
|
||||
|
||||
inline int
|
||||
memcmp(void const* __s1, void const* __s2, size_t __n)
|
||||
{ return _C_legacy::_CPP_memcmp_capture(__s1, __s2, __n); }
|
||||
|
||||
inline int
|
||||
strcmp(char const* __s1, char const* __s2)
|
||||
{ return _C_legacy::_CPP_strcmp_capture(__s1, __s2); }
|
||||
|
||||
inline int
|
||||
strcoll(char const* __s1, char const* __s2)
|
||||
{ return _C_legacy::_CPP_strcoll_capture(__s1, __s2); }
|
||||
|
||||
inline int
|
||||
strncmp(char const* __s1, char const* __s2, size_t __n)
|
||||
{ return _C_legacy::_CPP_strncmp_capture(__s1, __s2, __n); }
|
||||
|
||||
inline size_t
|
||||
strxfrm(char* __b, char const* __s, size_t __n)
|
||||
{ return _C_legacy::_CPP_strxfrm_capture(__b, __s, __n); }
|
||||
|
||||
inline void
|
||||
const* memchr(void const* __s1, int __c, size_t __n)
|
||||
{ return _C_legacy::_CPP_memchr_capture(__s1, __c, __n); }
|
||||
|
||||
inline void*
|
||||
memchr(void* __s1, int __c, size_t __n)
|
||||
{ return _C_legacy::_CPP_memchr_capture(__s1, __c, __n); }
|
||||
|
||||
inline char const*
|
||||
strchr(char const* __s1, int __c)
|
||||
{ return _C_legacy::_CPP_strchr_capture(__s1, __c); }
|
||||
|
||||
inline char*
|
||||
strchr(char* __s1, int __c)
|
||||
{ return _C_legacy::_CPP_strchr_capture(__s1, __c); }
|
||||
|
||||
inline size_t
|
||||
strcspn(char const* __s1, char const* __s2)
|
||||
{ return _C_legacy::_CPP_strcspn_capture(__s1, __s2); }
|
||||
|
||||
inline char const*
|
||||
strpbrk(char const* __s1, char const* __s2)
|
||||
{ return _C_legacy::_CPP_strpbrk_capture(__s1, __s2); }
|
||||
|
||||
inline char*
|
||||
strpbrk(char* __s1, char const* __s2)
|
||||
{ return _C_legacy::_CPP_strpbrk_capture(__s1, __s2); }
|
||||
|
||||
inline char const*
|
||||
strrchr(char const* __s1, int __c)
|
||||
{ return _C_legacy::_CPP_strrchr_capture(__s1, __c); }
|
||||
|
||||
inline char*
|
||||
strrchr(char* __s1, int __c)
|
||||
{ return _C_legacy::_CPP_strrchr_capture(__s1, __c); }
|
||||
|
||||
inline size_t
|
||||
strspn(char const* __s1, char const* __s2)
|
||||
{ return _C_legacy::_CPP_strspn_capture(__s1, __s2); }
|
||||
|
||||
inline char const*
|
||||
strstr(char const* __s1, char const* __s2)
|
||||
{ return _C_legacy::_CPP_strstr_capture(__s1, __s2); }
|
||||
|
||||
inline char*
|
||||
strstr(char* __s1, char const* __s2)
|
||||
{ return _C_legacy::_CPP_strstr_capture(__s1, __s2); }
|
||||
|
||||
inline char*
|
||||
strtok(char* __s1, char const* __s2)
|
||||
{ return _C_legacy::_CPP_strtok_capture(__s1, __s2); }
|
||||
|
||||
inline void*
|
||||
memset(void* __s, int __c, size_t __n)
|
||||
{ return _C_legacy::_CPP_memset_capture(__s, __c, __n); }
|
||||
|
||||
using _C_legacy::strerror;
|
||||
|
||||
inline size_t
|
||||
strlen(char const* __s)
|
||||
{ return _C_legacy::_CPP_strlen_capture(__s); }
|
||||
|
||||
} // namespace std
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
// 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 /*_CPP_CSTRING*/
|
||||
|
|
@ -0,0 +1,140 @@
|
|||
// -*- 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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 20.5 Date and time
|
||||
//
|
||||
|
||||
#ifndef _CPP_CTIME
|
||||
#define _CPP_CTIME 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/std_cstddef.h>
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
|
||||
// XXX
|
||||
// glibc 2.1.x time.h is on crack
|
||||
# undef __need_time_t
|
||||
# undef __need_clock_t
|
||||
# undef __need_timespec
|
||||
|
||||
# include_next <time.h>
|
||||
}
|
||||
|
||||
typedef clock_t _CPP_clock_t_capture;
|
||||
typedef time_t _CPP_time_t_capture;
|
||||
typedef tm _CPP_tm_capture;
|
||||
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef clock_t
|
||||
# undef time_t
|
||||
# undef tm
|
||||
# undef clock
|
||||
# undef difftime
|
||||
# undef mktime
|
||||
# undef time
|
||||
# undef asctime
|
||||
# undef ctime
|
||||
# undef gmtime
|
||||
# undef localtime
|
||||
# undef strftime
|
||||
|
||||
namespace std {
|
||||
|
||||
// Adopt C names into std::
|
||||
typedef _C_legacy::_CPP_clock_t_capture clock_t;
|
||||
typedef _C_legacy::_CPP_time_t_capture time_t;
|
||||
struct tm : _C_legacy::_CPP_tm_capture { };
|
||||
|
||||
using _C_legacy::clock;
|
||||
using _C_legacy::difftime;
|
||||
using _C_legacy::mktime;
|
||||
using _C_legacy::time;
|
||||
using _C_legacy::ctime;
|
||||
|
||||
inline char*
|
||||
asctime(const tm* __t)
|
||||
{ return _C_legacy::asctime(static_cast<_C_legacy::_CPP_tm_capture const*>(__t)); }
|
||||
|
||||
inline tm*
|
||||
gmtime(time_t const* __tp)
|
||||
{ return reinterpret_cast<tm*>(_C_legacy::gmtime(__tp)); }
|
||||
|
||||
inline tm*
|
||||
localtime(const time_t* __tp)
|
||||
{ return reinterpret_cast<tm*>(_C_legacy::localtime(__tp)); }
|
||||
|
||||
inline size_t
|
||||
strftime(char* __buf, size_t __maxsz, char const* __fmt, tm const* __tp)
|
||||
{ return _C_legacy::strftime(__buf, __maxsz, __fmt,
|
||||
static_cast<_C_legacy::_CPP_tm_capture const*>(__tp)); }
|
||||
|
||||
} // namespace std
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
// 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 /*_CPP_CTIME*/
|
||||
|
||||
|
|
@ -0,0 +1,366 @@
|
|||
// -*- 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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 21
|
||||
|
||||
#ifndef _CPP_CWCHAR
|
||||
# define _CPP_CWCHAR 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 <bits/std_cstdio.h>
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <wchar.h>
|
||||
}
|
||||
|
||||
#if 0
|
||||
// XXX
|
||||
inline int
|
||||
fwprintf(FILE* __stream, const wchar_t* __format, ...);
|
||||
|
||||
inline int
|
||||
fwscanf(FILE* __stream, const wchar_t* __format, ...);
|
||||
|
||||
inline int
|
||||
vfwprintf(FILE* __stream, const wchar_t* __format, va_list __arg);
|
||||
|
||||
inline int
|
||||
vfwscanf(FILE* __stream, const wchar_t* __format, va_list __arg);
|
||||
|
||||
inline wint_t
|
||||
_CPP_fgetwc_capture(FILE* __stream)
|
||||
{ return fgetwc(__stream); }
|
||||
|
||||
inline wchar_t*
|
||||
_CPP_fgetws_capture(wchar_t* __s, int __n, FILE* __stream)
|
||||
{ return fgetws(__s, __n, __stream); }
|
||||
|
||||
inline wint_t
|
||||
_CPP_fputwc_capture(wchar_t __c, FILE* __stream)
|
||||
{ return fputwc(__c, __stream); }
|
||||
|
||||
inline int
|
||||
_CPP_fputws_capture(const wchar_t* __s, FILE* __stream)
|
||||
{ return fputws(__s, __stream); }
|
||||
|
||||
inline int
|
||||
_CPP_fwide_capture(FILE* __stream, int __mode)
|
||||
{ return fwide(__stream, __mode); }
|
||||
|
||||
inline wint_t
|
||||
_CPP_fgetwc_capture(FILE* __stream)
|
||||
{ return fgetwc(__stream); }
|
||||
|
||||
inline wint_t
|
||||
_CPP_putwc_capture(wchar_t __c, FILE* __stream)
|
||||
{ return putwc(__c, __stream); }
|
||||
|
||||
inline wint_t
|
||||
_CPP_ungetwc_capture(wint_t __c, FILE* __stream)
|
||||
{ return ungetwc(__c, __stream); }
|
||||
#endif
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef wint_t
|
||||
# undef mbstate_t
|
||||
|
||||
# undef fwprintf
|
||||
# undef fwscanf
|
||||
# undef swprintf
|
||||
# undef swscanf
|
||||
# undef vfwprintf
|
||||
# undef vfwscanf
|
||||
# undef vswprintf
|
||||
# undef vswscanf
|
||||
# undef vwprintf
|
||||
# undef vwscanf
|
||||
# undef wprintf
|
||||
# undef wscanf
|
||||
# undef fgetwc
|
||||
# undef fgetws
|
||||
# undef fputwc
|
||||
# undef fputws
|
||||
# undef fwide
|
||||
# undef getwc
|
||||
# undef getwchar
|
||||
# undef putwc
|
||||
# undef putwchar
|
||||
# undef ungetwc
|
||||
# undef wcstod
|
||||
# undef wcstof
|
||||
# undef wcstold
|
||||
# undef wcstol
|
||||
# undef wcstoll
|
||||
# undef wcstoul
|
||||
# undef wcstoull
|
||||
# undef wcscpy
|
||||
# undef wcsncpy
|
||||
# undef wcscat
|
||||
# undef wcsncat
|
||||
# undef wcsmp
|
||||
# undef wcscoll
|
||||
# undef wcsncmp
|
||||
# undef wcsxfrm
|
||||
# undef wcschr
|
||||
# undef wcscspn
|
||||
# undef wcslen
|
||||
# undef wcspbrk
|
||||
# undef wcsrchr
|
||||
# undef wcsspn
|
||||
# undef wcsstr
|
||||
# undef wcstok
|
||||
# undef wmemchr
|
||||
# undef wmemcmp
|
||||
# undef wmemcpy
|
||||
# undef wmemmove
|
||||
# undef wmemset
|
||||
# undef wcsftime
|
||||
# undef btowc
|
||||
# undef wctob
|
||||
# undef mbsinit
|
||||
# undef mbrlen
|
||||
# undef mbrtowc
|
||||
# undef wcrtomb
|
||||
# undef mbsrtowcs
|
||||
# undef wcsrtombs
|
||||
|
||||
namespace std {
|
||||
using _C_legacy::wint_t;
|
||||
using _C_legacy::mbstate_t;
|
||||
|
||||
#if 0
|
||||
using _C_legacy::swprintf;
|
||||
using _C_legacy::swscanf;
|
||||
using _C_legacy::vswprintf;
|
||||
using _C_legacy::vswscanf;
|
||||
using _C_legacy::vwprintf;
|
||||
using _C_legacy::vwscanf;
|
||||
using _C_legacy::wprintf;
|
||||
using _C_legacy::wscanf;
|
||||
using _C_legacy::getwchar;
|
||||
using _C_legacy::putwchar;
|
||||
#endif
|
||||
|
||||
using _C_legacy::wcstod;
|
||||
using _C_legacy::wcstof;
|
||||
using _C_legacy::wcstold;
|
||||
using _C_legacy::wcstol;
|
||||
using _C_legacy::wcstoll;
|
||||
using _C_legacy::wcstoul;
|
||||
using _C_legacy::wcstoull;
|
||||
using _C_legacy::wcscpy;
|
||||
using _C_legacy::wcsncpy;
|
||||
using _C_legacy::wcscat;
|
||||
using _C_legacy::wcsncat;
|
||||
|
||||
#if 0
|
||||
using _C_legacy::wcsmp;
|
||||
#endif
|
||||
|
||||
using _C_legacy::wcscoll;
|
||||
using _C_legacy::wcsncmp;
|
||||
using _C_legacy::wcsxfrm;
|
||||
using _C_legacy::wcschr;
|
||||
using _C_legacy::wcscspn;
|
||||
using _C_legacy::wcslen;
|
||||
using _C_legacy::wcspbrk;
|
||||
using _C_legacy::wcsrchr;
|
||||
using _C_legacy::wcsspn;
|
||||
using _C_legacy::wcsstr;
|
||||
using _C_legacy::wcstok;
|
||||
using _C_legacy::wmemchr;
|
||||
using _C_legacy::wmemcmp;
|
||||
using _C_legacy::wmemcpy;
|
||||
using _C_legacy::wmemmove;
|
||||
using _C_legacy::wmemset;
|
||||
|
||||
#if 0
|
||||
using _C_legacy::wcsftime;
|
||||
#endif
|
||||
|
||||
using _C_legacy::btowc;
|
||||
using _C_legacy::wctob;
|
||||
using _C_legacy::mbsinit;
|
||||
using _C_legacy::mbrlen;
|
||||
using _C_legacy::mbrtowc;
|
||||
using _C_legacy::wcrtomb;
|
||||
using _C_legacy::mbsrtowcs;
|
||||
using _C_legacy::wcsrtombs;
|
||||
|
||||
#if 0
|
||||
// XXX
|
||||
inline int
|
||||
fwprintf(FILE* __stream, const wchar_t* __format, ...);
|
||||
|
||||
inline int
|
||||
fwscanf(FILE* __stream, const wchar_t* __format, ...);
|
||||
|
||||
inline int
|
||||
vfwprintf(FILE* __stream, const wchar_t* __format, va_list __arg);
|
||||
|
||||
inline int
|
||||
vfwscanf(FILE* __stream, const wchar_t* __format, va_list __arg);
|
||||
|
||||
inline wint_t
|
||||
fgetwc(FILE* __stream)
|
||||
{ return _C_legacy::_CPP_fgetwc_capture(__stream); }
|
||||
|
||||
inline wchar_t*
|
||||
fgetws(wchar_t* __s, int __n, FILE* __stream)
|
||||
{ return _C_legacy::_CPP_fgetws_capture(__s, __n, __stream); }
|
||||
|
||||
inline wint_t
|
||||
fputwc(wchar_t __c, FILE* __stream)
|
||||
{ return _C_legacy::_CPP_fputwc_capture(__c, __stream); }
|
||||
|
||||
inline int
|
||||
fputws(const wchar_t* __s, FILE* __stream)
|
||||
{ return _C_legacy::_CPP_fputws_capture(__s, __stream); }
|
||||
|
||||
inline int
|
||||
fwide(FILE* __stream, int __mode)
|
||||
{ return _C_legacy::_CPP_fwide_capture(__stream, __mode); }
|
||||
|
||||
inline wint_t
|
||||
getwc(FILE* __stream)
|
||||
{ return _C_legacy::_CPP_getwc_capture(__stream); }
|
||||
|
||||
inline wint_t
|
||||
putwc(wchar_t __c, FILE* __stream)
|
||||
{ return _C_legacy::_CPP_putwc_capture(__c, __stream); }
|
||||
|
||||
inline wint_t
|
||||
ungetwc(wint_t __c, FILE* __stream)
|
||||
{ return _C_legacy::_CPP_ungetwc_capture(__c, __stream); }
|
||||
#endif
|
||||
}
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
// 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::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 /*_CPP_CWCHAR*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,167 @@
|
|||
// -*- 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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882:
|
||||
//
|
||||
|
||||
#ifndef _CPP_CWCTYPE
|
||||
#define _CPP_CWCTYPE 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 <bits/std_cwchar.h>
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <wctype.h>
|
||||
}
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef wctype_t
|
||||
# undef wctrans_t
|
||||
# undef iswalpha
|
||||
# undef iswupper
|
||||
# undef iswlower
|
||||
# undef iswdigit
|
||||
# undef iswxdigit
|
||||
# undef iswalnum
|
||||
# undef iswspace
|
||||
# undef iswpunct
|
||||
# undef iswprint
|
||||
# undef iswgraph
|
||||
# undef iswcntrl
|
||||
# undef iswctype
|
||||
# undef towctrans
|
||||
# undef towlower
|
||||
# undef towupper
|
||||
# undef wctrans
|
||||
# undef wctype
|
||||
|
||||
namespace std {
|
||||
using _C_legacy::wctype_t;
|
||||
using _C_legacy::wctrans_t;
|
||||
|
||||
inline int
|
||||
iswalpha(wint_t __wc) { return _C_legacy::iswalpha(__wc); }
|
||||
|
||||
inline int
|
||||
iswupper(wint_t __wc) { return _C_legacy::iswupper(__wc); }
|
||||
|
||||
inline int
|
||||
iswlower(wint_t __wc) { return _C_legacy::iswlower(__wc); }
|
||||
|
||||
inline int
|
||||
iswdigit(wint_t __wc) { return _C_legacy::iswdigit(__wc); }
|
||||
|
||||
inline int
|
||||
iswxdigit(wint_t __wc) { return _C_legacy::iswxdigit(__wc); }
|
||||
|
||||
inline int
|
||||
iswalnum(wint_t __wc) { return _C_legacy::iswalnum(__wc); }
|
||||
|
||||
inline int
|
||||
iswspace(wint_t __wc) { return _C_legacy::iswspace(__wc); }
|
||||
|
||||
inline int
|
||||
iswpunct(wint_t __wc) { return _C_legacy::iswpunct(__wc); }
|
||||
|
||||
inline int
|
||||
iswprint(wint_t __wc) { return _C_legacy::iswprint(__wc); }
|
||||
|
||||
inline int
|
||||
iswgraph(wint_t __wc) { return _C_legacy::iswgraph(__wc); }
|
||||
|
||||
inline int
|
||||
iswcntrl(wint_t __wc) { return _C_legacy::iswcntrl(__wc); }
|
||||
|
||||
inline int
|
||||
towlower(wint_t __wc) { return _C_legacy::towlower(__wc); }
|
||||
|
||||
inline int
|
||||
towupper(wint_t __wc) { return _C_legacy::towupper(__wc); }
|
||||
|
||||
inline int
|
||||
iswctype(wint_t __wc, wctype_t __desc)
|
||||
{ return _C_legacy::iswctype(__wc, __desc); }
|
||||
|
||||
inline wint_t
|
||||
towctrans(wint_t __wc, wctrans_t __desc)
|
||||
{ return _C_legacy::towctrans (__wc, __desc); }
|
||||
|
||||
inline wctrans_t
|
||||
wctrans(const char *__property) { return _C_legacy::wctrans(__property); }
|
||||
|
||||
inline wctype_t
|
||||
wctype(char const* __property) { return _C_legacy::wctype(__property); }
|
||||
} // namespace std
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
// 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 /*_CPP_CWCTYPE*/
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
// -*- 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_FCNTL
|
||||
#define _CPP_FCNTL 1
|
||||
|
||||
# include <bits/c++config.h>
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
// XXX
|
||||
# undef SEEK_SET
|
||||
# undef SEEK_CUR
|
||||
# undef SEEK_END
|
||||
|
||||
# include_next <fcntl.h>
|
||||
}
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef SEEK_SET
|
||||
# undef SEEK_CUR
|
||||
# undef SEEK_END
|
||||
|
||||
// NB: Don't bring elements from this non-standard header into namespace std.
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
// -*- 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: 20.5 Extensions
|
||||
//
|
||||
|
||||
#ifndef _CPP_WRAP_ICONV_H
|
||||
#define _CPP_WRAP_ICONV_H 1
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <iconv.h>
|
||||
}
|
||||
} // namespace _C_legacy
|
||||
|
||||
// NB: Don't bring elements from this non-standard header into namespace std.
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
#endif
|
||||
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
// -*- 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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 20.5 Extensions
|
||||
//
|
||||
|
||||
#ifndef _CPP_WRAP_IOLIBIO_H
|
||||
#define _CPP_WRAP_IOLIBIO_H 1
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <iolibio.h>
|
||||
}
|
||||
} // namespace _C_legacy
|
||||
|
||||
// NB: Don't bring elements from this non-standard header into namespace std.
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
// -*- 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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 20.5 Extensions
|
||||
//
|
||||
|
||||
#ifndef _CPP_WRAP_LIBIO_H
|
||||
#define _CPP_WRAP_LIBIO_H 1
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <libio.h>
|
||||
}
|
||||
} // namespace _C_legacy
|
||||
|
||||
// NB: Don't bring elements from this non-standard header into namespace std.
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
// -*- 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.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 20.5 Extensions
|
||||
//
|
||||
|
||||
#ifndef _CPP_WRAP_LIBIOP_H
|
||||
#define _CPP_WRAP_LIBIOP_H 1
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <libioP.h>
|
||||
}
|
||||
} // namespace _C_legacy
|
||||
|
||||
// NB: Don't bring elements from this non-standard header into namespace std.
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
// -*- 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_PTHREAD_H
|
||||
#define _CPP_WRAP_PTHREAD_H 1
|
||||
|
||||
# include <bits/c++config.h>
|
||||
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# pragma GCC system_header
|
||||
# include_next <pthread.h>
|
||||
}
|
||||
} // namespace _C_legacy
|
||||
|
||||
# undef _IN_C_LEGACY_
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
// -*- 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_FCNTL_H_
|
||||
# define _INCLUDED_CPP_FCNTL_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 _FCNTL_NEED_C_LEGACY_
|
||||
# endif
|
||||
|
||||
# include <bits/wrap_fcntl.h>
|
||||
|
||||
// Expose global C names, including non-standard ones, but shadow
|
||||
// some names and types with the std:: C++ version.
|
||||
using _C_legacy::flock;
|
||||
|
||||
using _C_legacy::creat;
|
||||
using _C_legacy::open;
|
||||
using _C_legacy::fcntl;
|
||||
|
||||
# ifdef _FCNTL_NEED_C_LEGACY_
|
||||
// dive back into the "swamp"
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# undef _FCNTL_NEED_C_LEGACY_
|
||||
# endif /* _FCNTL_NEED_C_LEGACY_ */
|
||||
#endif /* _INCLUDED_CPP_FCNTL_H_ */
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
// -*- 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_ICONV_H_
|
||||
# define _INCLUDED_CPP_ICONV_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 _ICONV_NEED_C_LEGACY_
|
||||
# endif
|
||||
|
||||
# include <bits/wrap_iconv.h>
|
||||
|
||||
// Expose global C names, including non-standard ones, but shadow
|
||||
// some names and types with the std:: C++ version.
|
||||
|
||||
// NB: Cannot use typedefs here to inject the names as the "C" headers
|
||||
// often include typedefs that include the keyword 'struct'
|
||||
using _C_legacy::iconv_t;
|
||||
|
||||
using _C_legacy::iconv_open;
|
||||
using _C_legacy::iconv;
|
||||
using _C_legacy::iconv_close;
|
||||
|
||||
# ifdef _ICONV_NEED_C_LEGACY_
|
||||
// dive back into the "swamp"
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# undef _ICONV_NEED_C_LEGACY_
|
||||
# endif /* _ICONV_NEED_C_LEGACY_ */
|
||||
#endif /* _INCLUDED_CPP_ICONV_H_ */
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
// -*- 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_IOLIBIO_H_
|
||||
# define _INCLUDED_CPP_IOLIBIO_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 _IOLIBIO_NEED_C_LEGACY_
|
||||
# endif
|
||||
|
||||
# include <bits/wrap_iolibio.h>
|
||||
|
||||
// Expose global C names, including non-standard ones, but shadow
|
||||
// some names and types with the std:: C++ version.
|
||||
|
||||
# ifdef _IOLIBIO_NEED_C_LEGACY_
|
||||
// dive back into the "swamp"
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# undef _IOLIBIO_NEED_C_LEGACY_
|
||||
# endif /* _IOLIBIO_NEED_C_LEGACY_ */
|
||||
#endif /* _INCLUDED_CPP_IOLIBIO_H_ */
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
// -*- 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_LIBIO_H_
|
||||
# define _INCLUDED_CPP_LIBIO_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 _LIBIO_NEED_C_LEGACY_
|
||||
# endif
|
||||
|
||||
# include <bits/wrap_libio.h>
|
||||
|
||||
// Expose global C names, including non-standard ones, but shadow
|
||||
// some names and types with the std:: C++ version.
|
||||
|
||||
// NB: Cannot use typedefs here to inject the names as the "C" headers
|
||||
// often include typedefs that include the keyword 'struct'
|
||||
using _C_legacy::_IO_pos_t;
|
||||
using _C_legacy::_IO_fpos_t;
|
||||
using _C_legacy::_IO_fpos64_t;
|
||||
using _C_legacy::_IO_size_t;
|
||||
using _C_legacy::_IO_ssize_t;
|
||||
using _C_legacy::_IO_off_t;
|
||||
using _C_legacy::_IO_off64_t;
|
||||
using _C_legacy::_IO_pid_t;
|
||||
using _C_legacy::_IO_uid_t;
|
||||
using _C_legacy::_IO_iconv_t;
|
||||
using _C_legacy::_IO_va_list;
|
||||
using _C_legacy::_IO_wint_t;
|
||||
using _C_legacy::_IO_lock_t;
|
||||
|
||||
using _C_legacy::_IO_marker;
|
||||
using _C_legacy::_IO_codecvt;
|
||||
using _C_legacy::_IO_wide_data;
|
||||
using _C_legacy::_IO_FILE;
|
||||
using _C_legacy::_IO_cookie_io_functions_t;
|
||||
using _C_legacy::_IO_cookie_file;
|
||||
|
||||
# ifdef _LIBIO_NEED_C_LEGACY_
|
||||
// dive back into the "swamp"
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# undef _LIBIO_NEED_C_LEGACY_
|
||||
# endif /* _LIBIO_NEED_C_LEGACY_ */
|
||||
#endif /* _INCLUDED_CPP_LIBIO_H_ */
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
// -*- 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_LIBIOP_H_
|
||||
# define _INCLUDED_CPP_LIBIOP_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 _LIBIOP_NEED_C_LEGACY_
|
||||
# endif
|
||||
|
||||
# include <bits/wrap_libioP.h>
|
||||
|
||||
// Expose global C names, including non-standard ones, but shadow
|
||||
// some names and types with the std:: C++ version.
|
||||
using _C_legacy::_IO_jump_t;
|
||||
using _C_legacy::_IO_FILE_plus;
|
||||
using _C_legacy::_IO_cookie_file;
|
||||
|
||||
using _C_legacy::_IO_file_jumps;
|
||||
using _C_legacy::_IO_wfile_jumps;
|
||||
|
||||
# ifdef _LIBIOP_NEED_C_LEGACY_
|
||||
// dive back into the "swamp"
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# undef _LIBIOP_NEED_C_LEGACY_
|
||||
# endif /* _LIBIOP_NEED_C_LEGACY_ */
|
||||
#endif /* _INCLUDED_CPP_LIBIOP_H_ */
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
// -*- 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_PTHREAD_H_
|
||||
# define _INCLUDED_CPP_PTHREAD_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 _PTHREAD_NEED_C_LEGACY_
|
||||
# endif
|
||||
|
||||
# include <bits/wrap_pthread.h>
|
||||
|
||||
// Expose global C names, including non-standard ones, but shadow
|
||||
// some names and types with the std:: C++ version.
|
||||
using _C_legacy::__sched_param;
|
||||
|
||||
using _C_legacy::pthread_attr_t;
|
||||
using _C_legacy::pthread_cond_t;
|
||||
using _C_legacy::pthread_condattr_t;
|
||||
using _C_legacy::pthread_key_t;
|
||||
using _C_legacy::pthread_mutex_t;
|
||||
using _C_legacy::pthread_mutexattr_t;
|
||||
using _C_legacy::pthread_once_t;
|
||||
using _C_legacy::pthread_rwlock_t;
|
||||
using _C_legacy::pthread_rwlockattr_t;
|
||||
using _C_legacy::pthread_t;
|
||||
|
||||
using _C_legacy::pthread_mutex_init;
|
||||
using _C_legacy::pthread_mutex_destroy;
|
||||
using _C_legacy::pthread_mutex_lock;
|
||||
using _C_legacy::pthread_mutex_trylock;
|
||||
using _C_legacy::pthread_mutex_unlock;
|
||||
using _C_legacy::pthread_mutexattr_init;
|
||||
using _C_legacy::pthread_mutexattr_destroy;
|
||||
using _C_legacy::pthread_mutexattr_settype;
|
||||
using _C_legacy::pthread_mutexattr_gettype;
|
||||
using _C_legacy::pthread_key_create;
|
||||
using _C_legacy::pthread_key_delete;
|
||||
using _C_legacy::pthread_setspecific;
|
||||
using _C_legacy::pthread_getspecific;
|
||||
using _C_legacy::pthread_once;
|
||||
using _C_legacy::pthread_atfork;
|
||||
|
||||
# ifdef _PTHREAD_NEED_C_LEGACY_
|
||||
// dive back into the "swamp"
|
||||
namespace _C_legacy {
|
||||
extern "C" {
|
||||
# define _IN_C_LEGACY_
|
||||
# undef _PTHREAD_NEED_C_LEGACY_
|
||||
# endif /* _PTHREAD_NEED_C_LEGACY_ */
|
||||
#endif /* _INCLUDED_CPP_PTHREAD_H_ */
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
// -*- 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.
|
||||
|
||||
|
||||
#ifndef _CPP_SYS_CDEFS_H
|
||||
# define _CPP_SYS_CDEFS_H
|
||||
|
||||
# pragma GCC system_header
|
||||
# include_next <sys/cdefs.h>
|
||||
|
||||
// glibc-2 hackery. Other systems likely require other hacks.
|
||||
#undef __BEGIN_DECLS
|
||||
#define __BEGIN_DECLS
|
||||
#undef __END_DECLS
|
||||
#define __END_DECLS
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue