diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 54d1482bdea..ffa26e03893 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,42 @@ +2009-01-08 Paolo Carlini + + Backport from mainline: + 2008-11-13 Paolo Carlini + + PR libstdc++/38000 + * include/c_global/csignal: Do not use include_next. + * include/c_global/cstdlib: Likewise. + * include/c_global/cstdio: Likewise. + * include/c_global/cstdarg: Likewise. + * include/c_global/cctype: Likewise. + * include/c_global/cerrno: Likewise. + * include/c_global/cmath: Likewise. + * include/c_global/clocale: Likewise. + * include/c_global/climits: Likewise. + * include/c_global/cassert: Likewise. + * include/c_global/csetjmp: Likewise. + * include/c_global/cwchar: Likewise. + * include/c_global/cfloat: Likewise. + * include/c_global/cstdbool: Likewise. + * include/c_global/cstring: Likewise. + * include/c_global/cstddef: Likewise. + * include/c_global/cwctype: Likewise. + * include/tr1/cstdbool: Likewise. + * include/tr1_impl/cinttypes: Do not include . + * include/c_global/cinttypes: Do it here. + * include/tr1/cinttypes: Likewise. + * include/tr1_impl/cfenv: Do not include . + * include/c_global/cfenv: Do it here. + * include/tr1/cfenv: Likewise. + * include/tr1_impl/cstdint: Do not include . + * include/c_global/cstdint: Do it here. + * include/tr1/cstdint: Likewise. + * include/c_compatibility/fenv.h: Include . + * include/c_compatibility/stdint.h: Include . + * include/c_compatibility/inttypes.h: Include . + + * include/c_compatibility/math.h: Minor tweak, add comment. + 2008-12-12 H.J. Lu Backport from mainline: diff --git a/libstdc++-v3/include/c_compatibility/fenv.h b/libstdc++-v3/include/c_compatibility/fenv.h index 44661d72c02..f24a217b8f5 100644 --- a/libstdc++-v3/include/c_compatibility/fenv.h +++ b/libstdc++-v3/include/c_compatibility/fenv.h @@ -1,6 +1,6 @@ // -*- C++ -*- compatibility header. -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008 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 @@ -31,17 +31,33 @@ * This is a Standard C++ Library header. */ -#include - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -# include -#else -# if _GLIBCXX_HAVE_FENV_H -# include_next -# endif -#endif - #ifndef _GLIBCXX_FENV_H #define _GLIBCXX_FENV_H 1 +#pragma GCC system_header + +#include +#if _GLIBCXX_HAVE_FENV_H +# include_next #endif + +#ifdef __GXX_EXPERIMENTAL_CXX0X__ +# if defined(_GLIBCXX_INCLUDE_AS_TR1) +# error C++0x header cannot be included from TR1 header +# endif +# if defined(_GLIBCXX_INCLUDE_AS_CXX0X) +# include +# else +# define _GLIBCXX_INCLUDE_AS_CXX0X +# define _GLIBCXX_BEGIN_NAMESPACE_TR1 +# define _GLIBCXX_END_NAMESPACE_TR1 +# define _GLIBCXX_TR1 +# include +# undef _GLIBCXX_TR1 +# undef _GLIBCXX_END_NAMESPACE_TR1 +# undef _GLIBCXX_BEGIN_NAMESPACE_TR1 +# undef _GLIBCXX_INCLUDE_AS_CXX0X +# endif +#endif + +#endif // _GLIBCXX_FENV_H diff --git a/libstdc++-v3/include/c_compatibility/inttypes.h b/libstdc++-v3/include/c_compatibility/inttypes.h index 562d0aa9063..3e722d46acf 100644 --- a/libstdc++-v3/include/c_compatibility/inttypes.h +++ b/libstdc++-v3/include/c_compatibility/inttypes.h @@ -1,6 +1,6 @@ // -*- C++ -*- compatibility header. -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008 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 @@ -31,17 +31,51 @@ * This is a Standard C++ Library header. */ -#include - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -# include -#else -# if _GLIBCXX_HAVE_INTTYPES_H -# include_next -# endif -#endif - #ifndef _GLIBCXX_INTTYPES_H #define _GLIBCXX_INTTYPES_H 1 -#endif +#pragma GCC system_header + +#include + +#ifdef __GXX_EXPERIMENTAL_CXX0X__ + +// For 8.11.1/1 (see C99, Note 184) +# if _GLIBCXX_HAVE_INTTYPES_H +# ifndef __STDC_FORMAT_MACROS +# define _UNDEF__STDC_FORMAT_MACROS +# define __STDC_FORMAT_MACROS +# endif +# include_next +# ifdef _UNDEF__STDC_FORMAT_MACROS +# undef __STDC_FORMAT_MACROS +# undef _UNDEF__STDC_FORMAT_MACROS +# endif +# endif + +# if defined(_GLIBCXX_INCLUDE_AS_TR1) +# error C++0x header cannot be included from TR1 header +# endif +# if defined(_GLIBCXX_INCLUDE_AS_CXX0X) +# include +# else +# define _GLIBCXX_INCLUDE_AS_CXX0X +# define _GLIBCXX_BEGIN_NAMESPACE_TR1 +# define _GLIBCXX_END_NAMESPACE_TR1 +# define _GLIBCXX_TR1 +# include +# undef _GLIBCXX_TR1 +# undef _GLIBCXX_END_NAMESPACE_TR1 +# undef _GLIBCXX_BEGIN_NAMESPACE_TR1 +# undef _GLIBCXX_INCLUDE_AS_CXX0X +# endif + +#else + +# if _GLIBCXX_HAVE_INTTYPES_H +# include_next +# endif + +#endif // __GXX_EXPERIMENTAL_CXX0X__ + +#endif // _GLIBCXX_INTTYPES_H diff --git a/libstdc++-v3/include/c_compatibility/math.h b/libstdc++-v3/include/c_compatibility/math.h index 69dc82ac514..5950bf87a70 100644 --- a/libstdc++-v3/include/c_compatibility/math.h +++ b/libstdc++-v3/include/c_compatibility/math.h @@ -1,6 +1,7 @@ // -*- C++ -*- compatibility header. -// Copyright (C) 2002, 2007 Free Software Foundation, Inc. +// Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 +// 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 @@ -76,6 +77,6 @@ using std::islessgreater; using std::isunordered; #endif -#endif // __GXX_EXPERIMENTAL_CXX0X__ +#endif #endif diff --git a/libstdc++-v3/include/c_compatibility/stdint.h b/libstdc++-v3/include/c_compatibility/stdint.h index c59a1cd76db..e2cb038ba94 100644 --- a/libstdc++-v3/include/c_compatibility/stdint.h +++ b/libstdc++-v3/include/c_compatibility/stdint.h @@ -1,6 +1,6 @@ // -*- C++ -*- compatibility header. -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008 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 @@ -31,17 +31,59 @@ * This is a Standard C++ Library header. */ -#include - -#ifdef __GXX_EXPERIMENTAL_CXX0X__ -# include -#else -# if _GLIBCXX_HAVE_STDINT_H -# include_next -# endif -#endif - #ifndef _GLIBCXX_STDINT_H #define _GLIBCXX_STDINT_H 1 -#endif +#pragma GCC system_header + +#include + +#ifdef __GXX_EXPERIMENTAL_CXX0X__ + +// For 8.22.1/1 (see C99, Notes 219, 220, 222) +# if _GLIBCXX_HAVE_STDINT_H +# ifndef __STDC_LIMIT_MACROS +# define _UNDEF__STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +# endif +# ifndef __STDC_CONSTANT_MACROS +# define _UNDEF__STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +# endif +# include_next +# ifdef _UNDEF__STDC_LIMIT_MACROS +# undef __STDC_LIMIT_MACROS +# undef _UNDEF__STDC_LIMIT_MACROS +# endif +# ifdef _UNDEF__STDC_CONSTANT_MACROS +# undef __STDC_CONSTANT_MACROS +# undef _UNDEF__STDC_CONSTANT_MACROS +# endif +# endif + +# if defined(_GLIBCXX_INCLUDE_AS_TR1) +# error C++0x header cannot be included from TR1 header +# endif +# if defined(_GLIBCXX_INCLUDE_AS_CXX0X) +# include +# else +# define _GLIBCXX_INCLUDE_AS_CXX0X +# define _GLIBCXX_BEGIN_NAMESPACE_TR1 +# define _GLIBCXX_END_NAMESPACE_TR1 +# define _GLIBCXX_TR1 +# include +# undef _GLIBCXX_TR1 +# undef _GLIBCXX_END_NAMESPACE_TR1 +# undef _GLIBCXX_BEGIN_NAMESPACE_TR1 +# undef _GLIBCXX_INCLUDE_AS_CXX0X +# endif + +#else + +# if _GLIBCXX_HAVE_STDINT_H +# include_next +# endif + +#endif // __GXX_EXPERIMENTAL_CXX0X__ + +#endif // _GLIBCXX_STDINT_H diff --git a/libstdc++-v3/include/c_global/cassert b/libstdc++-v3/include/c_global/cassert index 6322b4fb360..e821a48367a 100644 --- a/libstdc++-v3/include/c_global/cassert +++ b/libstdc++-v3/include/c_global/cassert @@ -1,6 +1,7 @@ // -*- C++ -*- forwarding header. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -46,4 +47,4 @@ #pragma GCC system_header -#include_next +#include diff --git a/libstdc++-v3/include/c_global/cctype b/libstdc++-v3/include/c_global/cctype index 440245ec39f..0c38611ace3 100644 --- a/libstdc++-v3/include/c_global/cctype +++ b/libstdc++-v3/include/c_global/cctype @@ -1,7 +1,7 @@ // -*- C++ -*- forwarding header. // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007 +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -46,7 +46,7 @@ #pragma GCC system_header #include -#include_next +#include #ifndef _GLIBCXX_CCTYPE #define _GLIBCXX_CCTYPE 1 diff --git a/libstdc++-v3/include/c_global/cerrno b/libstdc++-v3/include/c_global/cerrno index b7673668aaf..7f2259657f5 100644 --- a/libstdc++-v3/include/c_global/cerrno +++ b/libstdc++-v3/include/c_global/cerrno @@ -1,6 +1,7 @@ // The -*- C++ -*- forwarding header. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -44,7 +45,7 @@ #pragma GCC system_header -#include_next +#include #ifndef _GLIBCXX_CERRNO #define _GLIBCXX_CERRNO 1 diff --git a/libstdc++-v3/include/c_global/cfenv b/libstdc++-v3/include/c_global/cfenv index de72ed43ace..b45d87fc31b 100644 --- a/libstdc++-v3/include/c_global/cfenv +++ b/libstdc++-v3/include/c_global/cfenv @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008 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 @@ -31,11 +31,11 @@ * This is a Standard C++ Library header. */ -#pragma GCC system_header - #ifndef _GLIBCXX_CFENV #define _GLIBCXX_CFENV 1 +#pragma GCC system_header + #ifndef __GXX_EXPERIMENTAL_CXX0X__ # include #endif @@ -45,6 +45,9 @@ #endif #include +#if _GLIBCXX_HAVE_FENV_H +# include +#endif #if defined(_GLIBCXX_INCLUDE_AS_CXX0X) # include @@ -60,4 +63,4 @@ # undef _GLIBCXX_INCLUDE_AS_CXX0X #endif -#endif +#endif // _GLIBCXX_CFENV diff --git a/libstdc++-v3/include/c_global/cfloat b/libstdc++-v3/include/c_global/cfloat index a3edc2acd73..10f75ba8596 100644 --- a/libstdc++-v3/include/c_global/cfloat +++ b/libstdc++-v3/include/c_global/cfloat @@ -1,6 +1,7 @@ // -*- C++ -*- forwarding header. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -44,7 +45,7 @@ #pragma GCC system_header -#include_next +#include #ifndef _GLIBCXX_CFLOAT #define _GLIBCXX_CFLOAT 1 diff --git a/libstdc++-v3/include/c_global/cinttypes b/libstdc++-v3/include/c_global/cinttypes index 8caceafb48b..ca00d10e7a9 100644 --- a/libstdc++-v3/include/c_global/cinttypes +++ b/libstdc++-v3/include/c_global/cinttypes @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008 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 @@ -31,11 +31,11 @@ * This is a Standard C++ Library header. */ -#pragma GCC system_header - #ifndef _GLIBCXX_CINTTYPES #define _GLIBCXX_CINTTYPES 1 +#pragma GCC system_header + #ifndef __GXX_EXPERIMENTAL_CXX0X__ # include #endif @@ -46,6 +46,19 @@ #include +// For 8.11.1/1 (see C99, Note 184) +#if _GLIBCXX_HAVE_INTTYPES_H +# ifndef __STDC_FORMAT_MACROS +# define _UNDEF__STDC_FORMAT_MACROS +# define __STDC_FORMAT_MACROS +# endif +# include +# ifdef _UNDEF__STDC_FORMAT_MACROS +# undef __STDC_FORMAT_MACROS +# undef _UNDEF__STDC_FORMAT_MACROS +# endif +#endif + #if defined(_GLIBCXX_INCLUDE_AS_CXX0X) # include #else @@ -60,4 +73,4 @@ # undef _GLIBCXX_INCLUDE_AS_CXX0X #endif -#endif +#endif // _GLIBCXX_CINTTYPES diff --git a/libstdc++-v3/include/c_global/climits b/libstdc++-v3/include/c_global/climits index 910c80a444f..23e07de7ac3 100644 --- a/libstdc++-v3/include/c_global/climits +++ b/libstdc++-v3/include/c_global/climits @@ -45,7 +45,7 @@ #pragma GCC system_header -#include_next +#include #ifndef _GLIBCXX_CLIMITS #define _GLIBCXX_CLIMITS 1 diff --git a/libstdc++-v3/include/c_global/clocale b/libstdc++-v3/include/c_global/clocale index 7feac30975e..97242a4bbf6 100644 --- a/libstdc++-v3/include/c_global/clocale +++ b/libstdc++-v3/include/c_global/clocale @@ -1,6 +1,7 @@ // -*- C++ -*- forwarding header. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -45,7 +46,7 @@ #pragma GCC system_header #include -#include_next +#include #ifndef _GLIBCXX_CLOCALE #define _GLIBCXX_CLOCALE 1 diff --git a/libstdc++-v3/include/c_global/cmath b/libstdc++-v3/include/c_global/cmath index 5a75caac6f1..e7d60872f6a 100644 --- a/libstdc++-v3/include/c_global/cmath +++ b/libstdc++-v3/include/c_global/cmath @@ -48,7 +48,7 @@ #include #include #include -#include_next +#include #ifndef _GLIBCXX_CMATH #define _GLIBCXX_CMATH 1 diff --git a/libstdc++-v3/include/c_global/csetjmp b/libstdc++-v3/include/c_global/csetjmp index 3c2863475cb..a44d1ebe4e3 100644 --- a/libstdc++-v3/include/c_global/csetjmp +++ b/libstdc++-v3/include/c_global/csetjmp @@ -1,6 +1,7 @@ // -*- C++ -*- forwarding header. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -45,7 +46,7 @@ #pragma GCC system_header #include -#include_next +#include #ifndef _GLIBCXX_CSETJMP #define _GLIBCXX_CSETJMP 1 diff --git a/libstdc++-v3/include/c_global/csignal b/libstdc++-v3/include/c_global/csignal index cf89c5abfaa..b149831a7f4 100644 --- a/libstdc++-v3/include/c_global/csignal +++ b/libstdc++-v3/include/c_global/csignal @@ -1,6 +1,7 @@ // -*- C++ -*- forwarding header. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -45,7 +46,7 @@ #pragma GCC system_header #include -#include_next +#include #ifndef _GLIBCXX_CSIGNAL #define _GLIBCXX_CSIGNAL 1 diff --git a/libstdc++-v3/include/c_global/cstdarg b/libstdc++-v3/include/c_global/cstdarg index 21b4f7a2bb0..1c10ee6931a 100644 --- a/libstdc++-v3/include/c_global/cstdarg +++ b/libstdc++-v3/include/c_global/cstdarg @@ -1,6 +1,7 @@ // -*- C++ -*- forwarding header. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -45,7 +46,7 @@ #pragma GCC system_header #include -#include_next +#include #ifndef _GLIBCXX_CSTDARG #define _GLIBCXX_CSTDARG 1 diff --git a/libstdc++-v3/include/c_global/cstdbool b/libstdc++-v3/include/c_global/cstdbool index 28dfa76abb8..fc6ef9d0a93 100644 --- a/libstdc++-v3/include/c_global/cstdbool +++ b/libstdc++-v3/include/c_global/cstdbool @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008 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 @@ -41,7 +41,7 @@ #else # include # if _GLIBCXX_HAVE_STDBOOL_H -# include_next +# include # endif #endif diff --git a/libstdc++-v3/include/c_global/cstddef b/libstdc++-v3/include/c_global/cstddef index 5196aeb9e81..8b843302066 100644 --- a/libstdc++-v3/include/c_global/cstddef +++ b/libstdc++-v3/include/c_global/cstddef @@ -1,6 +1,7 @@ // -*- C++ -*- forwarding header. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -45,7 +46,7 @@ #pragma GCC system_header #include -#include_next +#include #ifndef _GLIBCXX_CSTDDEF #define _GLIBCXX_CSTDDEF 1 diff --git a/libstdc++-v3/include/c_global/cstdint b/libstdc++-v3/include/c_global/cstdint index 6c3f438c0a6..23e238f601b 100644 --- a/libstdc++-v3/include/c_global/cstdint +++ b/libstdc++-v3/include/c_global/cstdint @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008 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 @@ -31,11 +31,11 @@ * This is a Standard C++ Library header. */ -#pragma GCC system_header - #ifndef _GLIBCXX_CSTDINT #define _GLIBCXX_CSTDINT 1 +#pragma GCC system_header + #ifndef __GXX_EXPERIMENTAL_CXX0X__ # include #endif @@ -46,6 +46,27 @@ #include +// For 8.22.1/1 (see C99, Notes 219, 220, 222) +#if _GLIBCXX_HAVE_STDINT_H +# ifndef __STDC_LIMIT_MACROS +# define _UNDEF__STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +# endif +# ifndef __STDC_CONSTANT_MACROS +# define _UNDEF__STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +# endif +# include +# ifdef _UNDEF__STDC_LIMIT_MACROS +# undef __STDC_LIMIT_MACROS +# undef _UNDEF__STDC_LIMIT_MACROS +# endif +# ifdef _UNDEF__STDC_CONSTANT_MACROS +# undef __STDC_CONSTANT_MACROS +# undef _UNDEF__STDC_CONSTANT_MACROS +# endif +#endif + #if defined(_GLIBCXX_INCLUDE_AS_CXX0X) # include #else @@ -60,4 +81,4 @@ # undef _GLIBCXX_INCLUDE_AS_CXX0X #endif -#endif +#endif // _GLIBCXX_CSTDINT diff --git a/libstdc++-v3/include/c_global/cstdio b/libstdc++-v3/include/c_global/cstdio index 3cdb5d6a258..7c4a38bc4ab 100644 --- a/libstdc++-v3/include/c_global/cstdio +++ b/libstdc++-v3/include/c_global/cstdio @@ -1,7 +1,7 @@ // -*- C++ -*- forwarding header. // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007 +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -47,7 +47,7 @@ #include #include -#include_next +#include #ifndef _GLIBCXX_CSTDIO #define _GLIBCXX_CSTDIO 1 diff --git a/libstdc++-v3/include/c_global/cstdlib b/libstdc++-v3/include/c_global/cstdlib index 3386ff0abc1..e03fff61882 100644 --- a/libstdc++-v3/include/c_global/cstdlib +++ b/libstdc++-v3/include/c_global/cstdlib @@ -1,7 +1,7 @@ // -*- C++ -*- forwarding header. // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007 +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -70,7 +70,7 @@ _GLIBCXX_END_NAMESPACE #else -#include_next +#include // Get rid of those macros defined in in lieu of real functions. #undef abort diff --git a/libstdc++-v3/include/c_global/cstring b/libstdc++-v3/include/c_global/cstring index c41df692cdf..9ad0683422f 100644 --- a/libstdc++-v3/include/c_global/cstring +++ b/libstdc++-v3/include/c_global/cstring @@ -1,6 +1,7 @@ // -*- C++ -*- forwarding header. -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -46,7 +47,7 @@ #include #include -#include_next +#include #ifndef _GLIBCXX_CSTRING #define _GLIBCXX_CSTRING 1 diff --git a/libstdc++-v3/include/c_global/ctime b/libstdc++-v3/include/c_global/ctime index 915c2fc663f..1fd67ad238c 100644 --- a/libstdc++-v3/include/c_global/ctime +++ b/libstdc++-v3/include/c_global/ctime @@ -1,7 +1,7 @@ // -*- C++ -*- forwarding header. // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007 +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -46,7 +46,7 @@ #pragma GCC system_header #include -#include_next +#include #ifndef _GLIBCXX_CTIME #define _GLIBCXX_CTIME 1 diff --git a/libstdc++-v3/include/c_global/cwchar b/libstdc++-v3/include/c_global/cwchar index 92bca61edf0..48b901ddd61 100644 --- a/libstdc++-v3/include/c_global/cwchar +++ b/libstdc++-v3/include/c_global/cwchar @@ -1,7 +1,7 @@ // -*- C++ -*- forwarding header. // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007 +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -49,7 +49,7 @@ #include #if _GLIBCXX_HAVE_WCHAR_H -#include_next +#include #endif #ifndef _GLIBCXX_CWCHAR diff --git a/libstdc++-v3/include/c_global/cwctype b/libstdc++-v3/include/c_global/cwctype index d2f2d779fbc..c822ebb26cb 100644 --- a/libstdc++-v3/include/c_global/cwctype +++ b/libstdc++-v3/include/c_global/cwctype @@ -1,7 +1,7 @@ // -*- C++ -*- forwarding header. // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007 +// 2006, 2007, 2008 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -48,7 +48,7 @@ #include #if _GLIBCXX_HAVE_WCTYPE_H -#include_next +#include #endif #ifndef _GLIBCXX_CWCTYPE diff --git a/libstdc++-v3/include/tr1/cfenv b/libstdc++-v3/include/tr1/cfenv index 85447125dec..1bdd099d480 100644 --- a/libstdc++-v3/include/tr1/cfenv +++ b/libstdc++-v3/include/tr1/cfenv @@ -1,6 +1,6 @@ // TR1 cfenv -*- C++ -*- -// Copyright (C) 2006, 2007 Free Software Foundation, Inc. +// Copyright (C) 2006, 2007, 2008 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 @@ -34,7 +34,12 @@ #ifndef _GLIBCXX_TR1_CFENV #define _GLIBCXX_TR1_CFENV 1 +#pragma GCC system_header + #include +#if _GLIBCXX_HAVE_FENV_H +# include +#endif #if defined(_GLIBCXX_INCLUDE_AS_TR1) # include diff --git a/libstdc++-v3/include/tr1/cinttypes b/libstdc++-v3/include/tr1/cinttypes index 19e2df32386..a0857b49c16 100644 --- a/libstdc++-v3/include/tr1/cinttypes +++ b/libstdc++-v3/include/tr1/cinttypes @@ -34,8 +34,23 @@ #ifndef _GLIBCXX_TR1_CINTTYPES #define _GLIBCXX_TR1_CINTTYPES 1 +#pragma GCC system_header + #include +// For 8.11.1/1 (see C99, Note 184) +#if _GLIBCXX_HAVE_INTTYPES_H +# ifndef __STDC_FORMAT_MACROS +# define _UNDEF__STDC_FORMAT_MACROS +# define __STDC_FORMAT_MACROS +# endif +# include +# ifdef _UNDEF__STDC_FORMAT_MACROS +# undef __STDC_FORMAT_MACROS +# undef _UNDEF__STDC_FORMAT_MACROS +# endif +#endif + #if defined(_GLIBCXX_INCLUDE_AS_TR1) # include #else diff --git a/libstdc++-v3/include/tr1/cstdbool b/libstdc++-v3/include/tr1/cstdbool index 5f6e80eae9e..4fa8ddcded9 100644 --- a/libstdc++-v3/include/tr1/cstdbool +++ b/libstdc++-v3/include/tr1/cstdbool @@ -39,7 +39,7 @@ #include #if _GLIBCXX_HAVE_STDBOOL_H -#include_next +#include #endif #endif // _GLIBCXX_TR1_CSTDBOOL diff --git a/libstdc++-v3/include/tr1/cstdint b/libstdc++-v3/include/tr1/cstdint index 6f7ac763c8c..04f86ad1cfa 100644 --- a/libstdc++-v3/include/tr1/cstdint +++ b/libstdc++-v3/include/tr1/cstdint @@ -1,6 +1,6 @@ // TR1 cstdint -*- C++ -*- -// Copyright (C) 2006, 2007 Free Software Foundation, Inc. +// Copyright (C) 2006, 2007, 2008 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 @@ -42,6 +42,27 @@ #include +// For 8.22.1/1 (see C99, Notes 219, 220, 222) +# if _GLIBCXX_HAVE_STDINT_H +# ifndef __STDC_LIMIT_MACROS +# define _UNDEF__STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +# endif +# ifndef __STDC_CONSTANT_MACROS +# define _UNDEF__STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +# endif +# include +# ifdef _UNDEF__STDC_LIMIT_MACROS +# undef __STDC_LIMIT_MACROS +# undef _UNDEF__STDC_LIMIT_MACROS +# endif +# ifdef _UNDEF__STDC_CONSTANT_MACROS +# undef __STDC_CONSTANT_MACROS +# undef _UNDEF__STDC_CONSTANT_MACROS +# endif +# endif + #if defined(_GLIBCXX_INCLUDE_AS_TR1) # include #else diff --git a/libstdc++-v3/include/tr1_impl/cfenv b/libstdc++-v3/include/tr1_impl/cfenv index 4a1eca99d4a..2732322977f 100644 --- a/libstdc++-v3/include/tr1_impl/cfenv +++ b/libstdc++-v3/include/tr1_impl/cfenv @@ -1,6 +1,6 @@ // TR1 cfenv -*- C++ -*- -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008 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 @@ -36,8 +36,6 @@ #if _GLIBCXX_USE_C99_FENV_TR1 -#include_next - #undef feclearexcept #undef fegetexceptflag #undef feraiseexcept diff --git a/libstdc++-v3/include/tr1_impl/cinttypes b/libstdc++-v3/include/tr1_impl/cinttypes index 17625931100..0cd6006bb1c 100644 --- a/libstdc++-v3/include/tr1_impl/cinttypes +++ b/libstdc++-v3/include/tr1_impl/cinttypes @@ -1,6 +1,6 @@ // TR1 cinttypes -*- C++ -*- -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009 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 @@ -36,10 +36,6 @@ #if _GLIBCXX_USE_C99_INTTYPES_TR1 -// For 8.11.1/1 (see C99, Note 184) -#define __STDC_FORMAT_MACROS -#include_next - namespace std { _GLIBCXX_BEGIN_NAMESPACE_TR1 diff --git a/libstdc++-v3/include/tr1_impl/cstdint b/libstdc++-v3/include/tr1_impl/cstdint index 6df74c761cb..b20d1d781ed 100644 --- a/libstdc++-v3/include/tr1_impl/cstdint +++ b/libstdc++-v3/include/tr1_impl/cstdint @@ -1,6 +1,6 @@ // TR1 cstdint -*- C++ -*- -// Copyright (C) 2007 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009 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 @@ -36,11 +36,6 @@ #if _GLIBCXX_USE_C99_STDINT_TR1 -// For 8.22.1/1 (see C99, Notes 219, 220, 222) -#define __STDC_LIMIT_MACROS -#define __STDC_CONSTANT_MACROS -#include_next - namespace std { _GLIBCXX_BEGIN_NAMESPACE_TR1