libstdc++: use extern "C++" in all our C++ system headers.

This is needed to build an independent toolchain with g++ that doesn't think
that all these headers are in C.

Change-Id: Ie9a8ccfcab7780d6a4e5722777d61c2b1b312001
This commit is contained in:
David 'Digit' Turner 2010-06-25 16:53:37 -07:00
parent fa5755ae98
commit 0621a279ad
11 changed files with 43 additions and 0 deletions

View file

@ -36,6 +36,8 @@
#include <ctype.h>
extern "C++" {
namespace std
{
using ::isalnum;
@ -53,4 +55,6 @@ using ::tolower;
using ::toupper;
} // namespace std
} // extern C++
#endif // BIONIC_LIBSTDCPP_INCLUDE_CCTYPE__

View file

@ -37,6 +37,8 @@
#include <cstddef>
#include <math.h>
extern "C++" {
namespace std
{
// Functions.
@ -68,4 +70,6 @@ using ::floor;
using ::fmod;
} // namespace std
} // extern C++
#endif // BIONIC_LIBSTDCPP_INCLUDE_CMATH__

View file

@ -36,6 +36,8 @@
#include <setjmp.h>
extern "C++" {
#ifndef setjmp
#define setjmp(env) setjmp (env)
#endif
@ -46,4 +48,6 @@ using ::jmp_buf;
using ::longjmp;
} // namespace std
} // extern C++
#endif // BIONIC_LIBSTDCPP_INCLUDE_CSETJMP__

View file

@ -36,6 +36,8 @@
#include <signal.h>
extern "C++" {
namespace std
{
using ::sig_atomic_t;
@ -43,4 +45,6 @@ using ::signal;
using ::raise;
} // namespace std
} // extern C++
#endif // BIONIC_LIBSTDCPP_INCLUDE_CSIGNAL__

View file

@ -38,9 +38,13 @@
*/
#include <stddef.h>
extern "C++" {
namespace std {
using ::ptrdiff_t;
using ::size_t;
} // namespace std
} // extern C++
#endif // BIONIC_LIBSTDCPP_INCLUDE_CSTDDEF__

View file

@ -36,6 +36,8 @@
#include <cstddef>
#include <stdio.h>
extern "C++" {
namespace std {
using ::FILE;
using ::fpos_t;
@ -89,4 +91,6 @@ using ::vsnprintf;
using ::vsscanf;
} // namespace std
} // extern C++
#endif // BIONIC_LIBSTDCPP_INCLUDE_CSTDIO__

View file

@ -35,6 +35,8 @@
*/
#include <stdlib.h>
extern "C++" {
namespace std {
using ::exit;
@ -110,4 +112,6 @@ using ::wctomb;
using ::wcstombs;
} // namespace std
} // extern C++
#endif // BIONIC_LIBSTDCPP_INCLUDE_CSTDLIB__

View file

@ -37,6 +37,8 @@
#include <cstddef>
#include <string.h>
extern "C++" {
namespace std
{
using ::memchr;
@ -63,4 +65,6 @@ using ::strtok;
using ::strxfrm;
} // namespace std
} // extern C++
#endif // BIONIC_LIBSTDCPP_INCLUDE_CSTRING__

View file

@ -37,6 +37,8 @@
#include <cstddef>
#include <time.h>
extern "C++" {
namespace std
{
// Types.
@ -56,4 +58,6 @@ using ::localtime;
using ::strftime;
} // namespace std
} // extern C++
#endif // BIONIC_LIBSTDCPP_INCLUDE_CTIME__

View file

@ -4,6 +4,8 @@
#include <cstddef>
extern "C++" {
namespace std {
struct nothrow_t {};
extern const nothrow_t nothrow;
@ -25,4 +27,6 @@ inline void* operator new[](std::size_t, void* p) { return p; }
inline void operator delete(void*, void*) { }
inline void operator delete[](void*, void*) { }
} // extern C++
#endif // __NEW__

View file

@ -1,6 +1,7 @@
#ifndef _TYPEINFO_HEADER_GAURD
#define _TYPEINFO_HEADER_GAURD
extern "C++" {
namespace std {
class type_info;
@ -25,4 +26,6 @@ private:
type_info & operator=(type_info const & right);
};
} // C++
#endif