This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[v3] Fix libstdc++/38000


Hi,

tested x86_64-linux, with and without PCHs, committed to mainline.

Paolo.

///////////////////
2008-11-13  Paolo Carlini  <paolo.carlini@oracle.com>

	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 <inttypes.h>.
	* include/c_global/cinttypes: Do it here.
	* include/tr1/cinttypes: Likewise.
	* include/tr1_impl/cfenv: Do not include <fenv.h>.
	* include/c_global/cfenv: Do it here.
	* include/tr1/cfenv: Likewise.
	* include/tr1_impl/cstdint: Do not include <stdint.h>.
	* include/c_global/cstdint: Do it here.
	* include/tr1/cstdint: Likewise.
	* include/c_compatibility/fenv.h: Include <tr1_impl/cfenv>.
	* include/c_compatibility/stdint.h: Include <tr1_impl/cstdint>.
	* include/c_compatibility/inttypes.h: Include <tr1_impl/cinttypes>.

	* include/c_compatibility/math.h: Minor tweak, add comment.
Index: include/tr1_impl/cinttypes
===================================================================
*** include/tr1_impl/cinttypes	(revision 141808)
--- include/tr1_impl/cinttypes	(working copy)
***************
*** 36,52 ****
  
  #if _GLIBCXX_USE_C99_INTTYPES_TR1
  
- // For 8.11.1/1 (see C99, Note 184)
- #ifndef __STDC_FORMAT_MACROS
- # define _UNDEF__STDC_FORMAT_MACROS
- # define __STDC_FORMAT_MACROS
- #endif
- #include_next <inttypes.h>
- #ifdef _UNDEF__STDC_FORMAT_MACROS
- # undef __STDC_FORMAT_MACROS
- # undef _UNDEF__STDC_FORMAT_MACROS
- #endif
- 
  namespace std
  {
  _GLIBCXX_BEGIN_NAMESPACE_TR1
--- 36,41 ----
Index: include/tr1_impl/cfenv
===================================================================
*** include/tr1_impl/cfenv	(revision 141808)
--- include/tr1_impl/cfenv	(working copy)
***************
*** 1,6 ****
  // TR1 cfenv -*- C++ -*-
  
! // Copyright (C) 2007 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
--- 1,6 ----
  // TR1 cfenv -*- C++ -*-
  
! // 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,43 ****
  
  #if _GLIBCXX_USE_C99_FENV_TR1
  
- #include_next <fenv.h>
- 
  #undef feclearexcept
  #undef fegetexceptflag
  #undef feraiseexcept
--- 36,41 ----
Index: include/tr1_impl/cstdint
===================================================================
*** include/tr1_impl/cstdint	(revision 141808)
--- include/tr1_impl/cstdint	(working copy)
***************
*** 36,60 ****
  
  #if _GLIBCXX_USE_C99_STDINT_TR1
  
- // For 8.22.1/1 (see C99, Notes 219, 220, 222)
- #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 <stdint.h>
- #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
- 
  namespace std
  {
  _GLIBCXX_BEGIN_NAMESPACE_TR1
--- 36,41 ----
Index: include/c_global/csignal
===================================================================
*** include/c_global/csignal	(revision 141808)
--- include/c_global/csignal	(working copy)
***************
*** 1,6 ****
  // -*- C++ -*- forwarding header.
  
! // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
  // Free Software Foundation, Inc.
  //
  // This file is part of the GNU ISO C++ Library.  This library is free
--- 1,7 ----
  // -*- C++ -*- forwarding header.
  
! // 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,51 ****
  #pragma GCC system_header
  
  #include <bits/c++config.h>
! #include_next <signal.h>
  
  #ifndef _GLIBCXX_CSIGNAL
  #define _GLIBCXX_CSIGNAL 1
--- 46,52 ----
  #pragma GCC system_header
  
  #include <bits/c++config.h>
! #include <signal.h>
  
  #ifndef _GLIBCXX_CSIGNAL
  #define _GLIBCXX_CSIGNAL 1
Index: include/c_global/cinttypes
===================================================================
*** include/c_global/cinttypes	(revision 141808)
--- include/c_global/cinttypes	(working copy)
***************
*** 1,6 ****
  // <cinttypes> -*- C++ -*-
  
! // Copyright (C) 2007 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
--- 1,6 ----
  // <cinttypes> -*- C++ -*-
  
! // 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,41 ****
   *  This is a Standard C++ Library header.
   */
  
- #pragma GCC system_header
- 
  #ifndef _GLIBCXX_CINTTYPES
  #define _GLIBCXX_CINTTYPES 1
  
  #ifndef __GXX_EXPERIMENTAL_CXX0X__
  # include <c++0x_warning.h>
  #endif
--- 31,41 ----
   *  This is a Standard C++ Library header.
   */
  
  #ifndef _GLIBCXX_CINTTYPES
  #define _GLIBCXX_CINTTYPES 1
  
+ #pragma GCC system_header
+ 
  #ifndef __GXX_EXPERIMENTAL_CXX0X__
  # include <c++0x_warning.h>
  #endif
***************
*** 46,51 ****
--- 46,64 ----
  
  #include <cstdint>
  
+ // 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 <inttypes.h>
+ # ifdef _UNDEF__STDC_FORMAT_MACROS
+ #  undef __STDC_FORMAT_MACROS
+ #  undef _UNDEF__STDC_FORMAT_MACROS
+ # endif
+ #endif
+ 
  #if defined(_GLIBCXX_INCLUDE_AS_CXX0X)
  #  include <tr1_impl/cinttypes>
  #else
***************
*** 60,63 ****
  #  undef _GLIBCXX_INCLUDE_AS_CXX0X
  #endif
  
! #endif
--- 73,76 ----
  #  undef _GLIBCXX_INCLUDE_AS_CXX0X
  #endif
  
! #endif // _GLIBCXX_CINTTYPES
Index: include/c_global/cstdlib
===================================================================
*** include/c_global/cstdlib	(revision 141808)
--- include/c_global/cstdlib	(working copy)
***************
*** 1,7 ****
  // -*- C++ -*- forwarding header.
  
  // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
! // 2006, 2007
  // Free Software Foundation, Inc.
  //
  // This file is part of the GNU ISO C++ Library.  This library is free
--- 1,7 ----
  // -*- C++ -*- forwarding header.
  
  // 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
*************** _GLIBCXX_END_NAMESPACE
*** 70,76 ****
  
  #else
  
! #include_next <stdlib.h>
  
  // Get rid of those macros defined in <stdlib.h> in lieu of real functions.
  #undef abort
--- 70,76 ----
  
  #else
  
! #include <stdlib.h>
  
  // Get rid of those macros defined in <stdlib.h> in lieu of real functions.
  #undef abort
Index: include/c_global/cstdio
===================================================================
*** include/c_global/cstdio	(revision 141808)
--- include/c_global/cstdio	(working copy)
***************
*** 1,7 ****
  // -*- C++ -*- forwarding header.
  
  // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
! // 2006, 2007
  // Free Software Foundation, Inc.
  //
  // This file is part of the GNU ISO C++ Library.  This library is free
--- 1,7 ----
  // -*- C++ -*- forwarding header.
  
  // 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
***************
*** 47,53 ****
  
  #include <bits/c++config.h>
  #include <cstddef>
! #include_next <stdio.h>
  
  #ifndef _GLIBCXX_CSTDIO
  #define _GLIBCXX_CSTDIO 1
--- 47,53 ----
  
  #include <bits/c++config.h>
  #include <cstddef>
! #include <stdio.h>
  
  #ifndef _GLIBCXX_CSTDIO
  #define _GLIBCXX_CSTDIO 1
Index: include/c_global/cctype
===================================================================
*** include/c_global/cctype	(revision 141808)
--- include/c_global/cctype	(working copy)
***************
*** 1,7 ****
  // -*- C++ -*- forwarding header.
  
  // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
! // 2006, 2007
  // Free Software Foundation, Inc.
  //
  // This file is part of the GNU ISO C++ Library.  This library is free
--- 1,7 ----
  // -*- C++ -*- forwarding header.
  
  // 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,52 ****
  #pragma GCC system_header
  
  #include <bits/c++config.h>
! #include_next <ctype.h>
  
  #ifndef _GLIBCXX_CCTYPE
  #define _GLIBCXX_CCTYPE 1
--- 46,52 ----
  #pragma GCC system_header
  
  #include <bits/c++config.h>
! #include <ctype.h>
  
  #ifndef _GLIBCXX_CCTYPE
  #define _GLIBCXX_CCTYPE 1
Index: include/c_global/cstdarg
===================================================================
*** include/c_global/cstdarg	(revision 141808)
--- include/c_global/cstdarg	(working copy)
***************
*** 1,6 ****
  // -*- C++ -*- forwarding header.
  
! // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
  // Free Software Foundation, Inc.
  //
  // This file is part of the GNU ISO C++ Library.  This library is free
--- 1,7 ----
  // -*- C++ -*- forwarding header.
  
! // 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,51 ****
  #pragma GCC system_header
  
  #include <bits/c++config.h>
! #include_next <stdarg.h>
  
  #ifndef _GLIBCXX_CSTDARG
  #define _GLIBCXX_CSTDARG 1
--- 46,52 ----
  #pragma GCC system_header
  
  #include <bits/c++config.h>
! #include <stdarg.h>
  
  #ifndef _GLIBCXX_CSTDARG
  #define _GLIBCXX_CSTDARG 1
Index: include/c_global/cerrno
===================================================================
*** include/c_global/cerrno	(revision 141808)
--- include/c_global/cerrno	(working copy)
***************
*** 1,6 ****
  // The -*- C++ -*- forwarding header.
  
! // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
  // Free Software Foundation, Inc.
  //
  // This file is part of the GNU ISO C++ Library.  This library is free
--- 1,7 ----
  // The -*- C++ -*- forwarding header.
  
! // 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,50 ****
  
  #pragma GCC system_header
  
! #include_next <errno.h>
  
  #ifndef _GLIBCXX_CERRNO
  #define _GLIBCXX_CERRNO 1
--- 45,51 ----
  
  #pragma GCC system_header
  
! #include <errno.h>
  
  #ifndef _GLIBCXX_CERRNO
  #define _GLIBCXX_CERRNO 1
Index: include/c_global/cmath
===================================================================
*** include/c_global/cmath	(revision 141808)
--- include/c_global/cmath	(working copy)
***************
*** 48,54 ****
  #include <bits/c++config.h>
  #include <bits/cpp_type_traits.h>
  #include <ext/type_traits.h>
! #include_next <math.h>
  
  #ifndef _GLIBCXX_CMATH
  #define _GLIBCXX_CMATH 1
--- 48,54 ----
  #include <bits/c++config.h>
  #include <bits/cpp_type_traits.h>
  #include <ext/type_traits.h>
! #include <math.h>
  
  #ifndef _GLIBCXX_CMATH
  #define _GLIBCXX_CMATH 1
Index: include/c_global/ctime
===================================================================
*** include/c_global/ctime	(revision 141808)
--- include/c_global/ctime	(working copy)
***************
*** 1,7 ****
  // -*- C++ -*- forwarding header.
  
  // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
! // 2006, 2007
  // Free Software Foundation, Inc.
  //
  // This file is part of the GNU ISO C++ Library.  This library is free
--- 1,7 ----
  // -*- C++ -*- forwarding header.
  
  // 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,52 ****
  #pragma GCC system_header
  
  #include <cstddef>
! #include_next <time.h>
  
  #ifndef _GLIBCXX_CTIME
  #define _GLIBCXX_CTIME 1
--- 46,52 ----
  #pragma GCC system_header
  
  #include <cstddef>
! #include <time.h>
  
  #ifndef _GLIBCXX_CTIME
  #define _GLIBCXX_CTIME 1
Index: include/c_global/cfenv
===================================================================
*** include/c_global/cfenv	(revision 141808)
--- include/c_global/cfenv	(working copy)
***************
*** 1,6 ****
  // <cfenv> -*- C++ -*-
  
! // Copyright (C) 2007 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
--- 1,6 ----
  // <cfenv> -*- C++ -*-
  
! // 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,41 ****
   *  This is a Standard C++ Library header.
   */
  
- #pragma GCC system_header
- 
  #ifndef _GLIBCXX_CFENV
  #define _GLIBCXX_CFENV 1
  
  #ifndef __GXX_EXPERIMENTAL_CXX0X__
  # include <c++0x_warning.h>
  #endif
--- 31,41 ----
   *  This is a Standard C++ Library header.
   */
  
  #ifndef _GLIBCXX_CFENV
  #define _GLIBCXX_CFENV 1
  
+ #pragma GCC system_header
+ 
  #ifndef __GXX_EXPERIMENTAL_CXX0X__
  # include <c++0x_warning.h>
  #endif
***************
*** 45,50 ****
--- 45,53 ----
  #endif
  
  #include <bits/c++config.h>
+ #if _GLIBCXX_HAVE_FENV_H
+ # include <fenv.h>
+ #endif
  
  #if defined(_GLIBCXX_INCLUDE_AS_CXX0X)
  #  include <tr1_impl/cfenv>
***************
*** 60,63 ****
  #  undef _GLIBCXX_INCLUDE_AS_CXX0X
  #endif
  
! #endif
--- 63,66 ----
  #  undef _GLIBCXX_INCLUDE_AS_CXX0X
  #endif
  
! #endif // _GLIBCXX_CFENV
Index: include/c_global/clocale
===================================================================
*** include/c_global/clocale	(revision 141808)
--- include/c_global/clocale	(working copy)
***************
*** 1,6 ****
  // -*- C++ -*- forwarding header.
  
! // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
  // Free Software Foundation, Inc.
  //
  // This file is part of the GNU ISO C++ Library.  This library is free
--- 1,7 ----
  // -*- C++ -*- forwarding header.
  
! // 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,51 ****
  #pragma GCC system_header
  
  #include <bits/c++config.h>
! #include_next <locale.h>
  
  #ifndef _GLIBCXX_CLOCALE
  #define _GLIBCXX_CLOCALE 1
--- 46,52 ----
  #pragma GCC system_header
  
  #include <bits/c++config.h>
! #include <locale.h>
  
  #ifndef _GLIBCXX_CLOCALE
  #define _GLIBCXX_CLOCALE 1
Index: include/c_global/climits
===================================================================
*** include/c_global/climits	(revision 141808)
--- include/c_global/climits	(working copy)
***************
*** 45,51 ****
  
  #pragma GCC system_header
  
! #include_next <limits.h>
  
  #ifndef _GLIBCXX_CLIMITS
  #define _GLIBCXX_CLIMITS 1
--- 45,51 ----
  
  #pragma GCC system_header
  
! #include <limits.h>
  
  #ifndef _GLIBCXX_CLIMITS
  #define _GLIBCXX_CLIMITS 1
Index: include/c_global/cassert
===================================================================
*** include/c_global/cassert	(revision 141808)
--- include/c_global/cassert	(working copy)
***************
*** 1,6 ****
  // -*- C++ -*- forwarding header.
  
! // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
  // Free Software Foundation, Inc.
  //
  // This file is part of the GNU ISO C++ Library.  This library is free
--- 1,7 ----
  // -*- C++ -*- forwarding header.
  
! // 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,49 ****
  
  #pragma GCC system_header
  
! #include_next <assert.h>
--- 47,50 ----
  
  #pragma GCC system_header
  
! #include <assert.h>
Index: include/c_global/csetjmp
===================================================================
*** include/c_global/csetjmp	(revision 141808)
--- include/c_global/csetjmp	(working copy)
***************
*** 1,6 ****
  // -*- C++ -*- forwarding header.
  
! // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
  // Free Software Foundation, Inc.
  //
  // This file is part of the GNU ISO C++ Library.  This library is free
--- 1,7 ----
  // -*- C++ -*- forwarding header.
  
! // 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,51 ****
  #pragma GCC system_header
  
  #include <bits/c++config.h>
! #include_next <setjmp.h>
  
  #ifndef _GLIBCXX_CSETJMP
  #define _GLIBCXX_CSETJMP 1
--- 46,52 ----
  #pragma GCC system_header
  
  #include <bits/c++config.h>
! #include <setjmp.h>
  
  #ifndef _GLIBCXX_CSETJMP
  #define _GLIBCXX_CSETJMP 1
Index: include/c_global/cwchar
===================================================================
*** include/c_global/cwchar	(revision 141808)
--- include/c_global/cwchar	(working copy)
***************
*** 1,7 ****
  // -*- C++ -*- forwarding header.
  
  // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
! // 2006, 2007
  // Free Software Foundation, Inc.
  //
  // This file is part of the GNU ISO C++ Library.  This library is free
--- 1,7 ----
  // -*- C++ -*- forwarding header.
  
  // 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
***************
*** 49,55 ****
  #include <cstddef>
  
  #if _GLIBCXX_HAVE_WCHAR_H
! #include_next <wchar.h>
  #endif
  
  #ifndef _GLIBCXX_CWCHAR
--- 49,55 ----
  #include <cstddef>
  
  #if _GLIBCXX_HAVE_WCHAR_H
! #include <wchar.h>
  #endif
  
  #ifndef _GLIBCXX_CWCHAR
Index: include/c_global/cfloat
===================================================================
*** include/c_global/cfloat	(revision 141808)
--- include/c_global/cfloat	(working copy)
***************
*** 1,6 ****
  // -*- C++ -*- forwarding header.
  
! // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
  // Free Software Foundation, Inc.
  //
  // This file is part of the GNU ISO C++ Library.  This library is free
--- 1,7 ----
  // -*- C++ -*- forwarding header.
  
! // 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,50 ****
  
  #pragma GCC system_header
  
! #include_next <float.h>
  
  #ifndef _GLIBCXX_CFLOAT
  #define _GLIBCXX_CFLOAT 1
--- 45,51 ----
  
  #pragma GCC system_header
  
! #include <float.h>
  
  #ifndef _GLIBCXX_CFLOAT
  #define _GLIBCXX_CFLOAT 1
Index: include/c_global/cstdint
===================================================================
*** include/c_global/cstdint	(revision 141808)
--- include/c_global/cstdint	(working copy)
***************
*** 1,6 ****
  // <cstdint> -*- C++ -*-
  
! // Copyright (C) 2007 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
--- 1,6 ----
  // <cstdint> -*- C++ -*-
  
! // 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,41 ****
   *  This is a Standard C++ Library header.
   */
  
- #pragma GCC system_header
- 
  #ifndef _GLIBCXX_CSTDINT
  #define _GLIBCXX_CSTDINT 1
  
  #ifndef __GXX_EXPERIMENTAL_CXX0X__
  # include <c++0x_warning.h>
  #endif
--- 31,41 ----
   *  This is a Standard C++ Library header.
   */
  
  #ifndef _GLIBCXX_CSTDINT
  #define _GLIBCXX_CSTDINT 1
  
+ #pragma GCC system_header
+ 
  #ifndef __GXX_EXPERIMENTAL_CXX0X__
  # include <c++0x_warning.h>
  #endif
***************
*** 46,51 ****
--- 46,72 ----
  
  #include <bits/c++config.h>
  
+ // 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 <stdint.h>
+ # 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 <tr1_impl/cstdint>
  #else
***************
*** 60,63 ****
  #  undef _GLIBCXX_INCLUDE_AS_CXX0X
  #endif
  
! #endif
--- 81,84 ----
  #  undef _GLIBCXX_INCLUDE_AS_CXX0X
  #endif
  
! #endif // _GLIBCXX_CSTDINT
Index: include/c_global/cstdbool
===================================================================
*** include/c_global/cstdbool	(revision 141808)
--- include/c_global/cstdbool	(working copy)
***************
*** 1,6 ****
  // <cstdbool> -*- C++ -*-
  
! // Copyright (C) 2007 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
--- 1,6 ----
  // <cstdbool> -*- C++ -*-
  
! // 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,47 ****
  #else
  #  include <bits/c++config.h>
  #  if _GLIBCXX_HAVE_STDBOOL_H
! #    include_next <stdbool.h>
  #  endif
  #endif
  
--- 41,47 ----
  #else
  #  include <bits/c++config.h>
  #  if _GLIBCXX_HAVE_STDBOOL_H
! #    include <stdbool.h>
  #  endif
  #endif
  
Index: include/c_global/cstring
===================================================================
*** include/c_global/cstring	(revision 141808)
--- include/c_global/cstring	(working copy)
***************
*** 1,6 ****
  // -*- C++ -*- forwarding header.
  
! // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
  // Free Software Foundation, Inc.
  //
  // This file is part of the GNU ISO C++ Library.  This library is free
--- 1,7 ----
  // -*- C++ -*- forwarding header.
  
! // 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,52 ****
  
  #include <bits/c++config.h>
  #include <cstddef>
! #include_next <string.h>
  
  #ifndef _GLIBCXX_CSTRING
  #define _GLIBCXX_CSTRING 1
--- 47,53 ----
  
  #include <bits/c++config.h>
  #include <cstddef>
! #include <string.h>
  
  #ifndef _GLIBCXX_CSTRING
  #define _GLIBCXX_CSTRING 1
Index: include/c_global/cstddef
===================================================================
*** include/c_global/cstddef	(revision 141808)
--- include/c_global/cstddef	(working copy)
***************
*** 1,6 ****
  // -*- C++ -*- forwarding header.
  
! // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
  // Free Software Foundation, Inc.
  //
  // This file is part of the GNU ISO C++ Library.  This library is free
--- 1,7 ----
  // -*- C++ -*- forwarding header.
  
! // 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,51 ****
  #pragma GCC system_header
  
  #include <bits/c++config.h>
! #include_next <stddef.h>
  
  #ifndef _GLIBCXX_CSTDDEF
  #define _GLIBCXX_CSTDDEF 1
--- 46,52 ----
  #pragma GCC system_header
  
  #include <bits/c++config.h>
! #include <stddef.h>
  
  #ifndef _GLIBCXX_CSTDDEF
  #define _GLIBCXX_CSTDDEF 1
Index: include/c_global/cwctype
===================================================================
*** include/c_global/cwctype	(revision 141808)
--- include/c_global/cwctype	(working copy)
***************
*** 1,7 ****
  // -*- C++ -*- forwarding header.
  
  // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
! // 2006, 2007
  // Free Software Foundation, Inc.
  //
  // This file is part of the GNU ISO C++ Library.  This library is free
--- 1,7 ----
  // -*- C++ -*- forwarding header.
  
  // 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
***************
*** 48,54 ****
  #include <bits/c++config.h>
  
  #if _GLIBCXX_HAVE_WCTYPE_H
! #include_next <wctype.h>
  #endif
  
  #ifndef _GLIBCXX_CWCTYPE
--- 48,54 ----
  #include <bits/c++config.h>
  
  #if _GLIBCXX_HAVE_WCTYPE_H
! #include <wctype.h>
  #endif
  
  #ifndef _GLIBCXX_CWCTYPE
Index: include/tr1/cinttypes
===================================================================
*** include/tr1/cinttypes	(revision 141808)
--- include/tr1/cinttypes	(working copy)
***************
*** 34,41 ****
--- 34,56 ----
  #ifndef _GLIBCXX_TR1_CINTTYPES
  #define _GLIBCXX_TR1_CINTTYPES 1
  
+ #pragma GCC system_header
+ 
  #include <tr1/cstdint>
  
+ // 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 <inttypes.h>
+ # ifdef _UNDEF__STDC_FORMAT_MACROS
+ #  undef __STDC_FORMAT_MACROS
+ #  undef _UNDEF__STDC_FORMAT_MACROS
+ # endif
+ #endif
+ 
  #if defined(_GLIBCXX_INCLUDE_AS_TR1)
  #  include <tr1_impl/cinttypes>
  #else
Index: include/tr1/cfenv
===================================================================
*** include/tr1/cfenv	(revision 141808)
--- include/tr1/cfenv	(working copy)
***************
*** 1,6 ****
  // TR1 cfenv -*- C++ -*-
  
! // Copyright (C) 2006, 2007 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
--- 1,6 ----
  // TR1 cfenv -*- C++ -*-
  
! // 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,40 ****
--- 34,45 ----
  #ifndef _GLIBCXX_TR1_CFENV
  #define _GLIBCXX_TR1_CFENV 1
  
+ #pragma GCC system_header
+ 
  #include <bits/c++config.h>
+ #if _GLIBCXX_HAVE_FENV_H
+ # include <fenv.h>
+ #endif
  
  #if defined(_GLIBCXX_INCLUDE_AS_TR1)
  #  include <tr1_impl/cfenv>
Index: include/tr1/cstdint
===================================================================
*** include/tr1/cstdint	(revision 141808)
--- include/tr1/cstdint	(working copy)
***************
*** 1,6 ****
  // TR1 cstdint -*- C++ -*-
  
! // Copyright (C) 2006, 2007 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
--- 1,6 ----
  // TR1 cstdint -*- C++ -*-
  
! // 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,47 ****
--- 42,68 ----
  
  #include <bits/c++config.h>
  
+ // 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 <stdint.h>
+ #  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 <tr1_impl/cstdint>
  #else
Index: include/tr1/cstdbool
===================================================================
*** include/tr1/cstdbool	(revision 141808)
--- include/tr1/cstdbool	(working copy)
***************
*** 39,45 ****
  #include <bits/c++config.h>
  
  #if _GLIBCXX_HAVE_STDBOOL_H
! #include_next <stdbool.h>
  #endif
  
  #endif // _GLIBCXX_TR1_CSTDBOOL
--- 39,45 ----
  #include <bits/c++config.h>
  
  #if _GLIBCXX_HAVE_STDBOOL_H
! #include <stdbool.h>
  #endif
  
  #endif // _GLIBCXX_TR1_CSTDBOOL
Index: include/c_compatibility/math.h
===================================================================
*** include/c_compatibility/math.h	(revision 141808)
--- include/c_compatibility/math.h	(working copy)
***************
*** 1,6 ****
  // -*- C++ -*- compatibility header.
  
! // Copyright (C) 2002, 2007 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
--- 1,7 ----
  // -*- C++ -*- compatibility header.
  
! // 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
*************** using std::islessgreater;
*** 76,81 ****
  using std::isunordered;
  #endif
  
! #endif // __GXX_EXPERIMENTAL_CXX0X__
  
  #endif
--- 77,82 ----
  using std::isunordered;
  #endif
  
! #endif
  
  #endif
Index: include/c_compatibility/fenv.h
===================================================================
*** include/c_compatibility/fenv.h	(revision 141808)
--- include/c_compatibility/fenv.h	(working copy)
***************
*** 1,6 ****
  // -*- C++ -*- compatibility header.
  
! // Copyright (C) 2007 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
--- 1,6 ----
  // -*- C++ -*- compatibility header.
  
! // 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,47 ****
   *  This is a Standard C++ Library header.
   */
  
  #include <bits/c++config.h>
  
  #ifdef __GXX_EXPERIMENTAL_CXX0X__
! # include <cfenv>
! #else
! # if _GLIBCXX_HAVE_FENV_H
! #  include_next <fenv.h>
! # endif
  #endif
  
! #ifndef _GLIBCXX_FENV_H
! #define _GLIBCXX_FENV_H 1
! 
! #endif
--- 31,63 ----
   *  This is a Standard C++ Library header.
   */
  
+ #ifndef _GLIBCXX_FENV_H
+ #define _GLIBCXX_FENV_H 1
+ 
+ #pragma GCC system_header
+ 
  #include <bits/c++config.h>
+ #if _GLIBCXX_HAVE_FENV_H
+ # include_next <fenv.h>
+ #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 <tr1_impl/cfenv>
! #  else
! #    define _GLIBCXX_INCLUDE_AS_CXX0X
! #    define _GLIBCXX_BEGIN_NAMESPACE_TR1
! #    define _GLIBCXX_END_NAMESPACE_TR1
! #    define _GLIBCXX_TR1
! #    include <tr1_impl/cfenv>
! #    undef _GLIBCXX_TR1
! #    undef _GLIBCXX_END_NAMESPACE_TR1
! #    undef _GLIBCXX_BEGIN_NAMESPACE_TR1
! #    undef _GLIBCXX_INCLUDE_AS_CXX0X
! #  endif
  #endif
  
! #endif // _GLIBCXX_FENV_H
Index: include/c_compatibility/stdint.h
===================================================================
*** include/c_compatibility/stdint.h	(revision 141808)
--- include/c_compatibility/stdint.h	(working copy)
***************
*** 1,6 ****
  // -*- C++ -*- compatibility header.
  
! // Copyright (C) 2007 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
--- 1,6 ----
  // -*- C++ -*- compatibility header.
  
! // 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,47 ****
   *  This is a Standard C++ Library header.
   */
  
  #include <bits/c++config.h>
  
  #ifdef __GXX_EXPERIMENTAL_CXX0X__
! # include <cstdint>
  #else
  # if _GLIBCXX_HAVE_STDINT_H
  #  include_next <stdint.h>
  # endif
- #endif
  
! #ifndef _GLIBCXX_STDINT_H
! #define _GLIBCXX_STDINT_H 1
  
! #endif
--- 31,89 ----
   *  This is a Standard C++ Library header.
   */
  
+ #ifndef _GLIBCXX_STDINT_H
+ #define _GLIBCXX_STDINT_H 1
+ 
+ #pragma GCC system_header
+ 
  #include <bits/c++config.h>
  
  #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 <stdint.h>
! #  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 <tr1_impl/cstdint>
! # else
! #  define _GLIBCXX_INCLUDE_AS_CXX0X
! #  define _GLIBCXX_BEGIN_NAMESPACE_TR1
! #  define _GLIBCXX_END_NAMESPACE_TR1
! #  define _GLIBCXX_TR1
! #  include <tr1_impl/cstdint>
! #  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 <stdint.h>
  # endif
  
! #endif // __GXX_EXPERIMENTAL_CXX0X__
  
! #endif // _GLIBCXX_STDINT_H
Index: include/c_compatibility/inttypes.h
===================================================================
*** include/c_compatibility/inttypes.h	(revision 141808)
--- include/c_compatibility/inttypes.h	(working copy)
***************
*** 1,6 ****
  // -*- C++ -*- compatibility header.
  
! // Copyright (C) 2007 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
--- 1,6 ----
  // -*- C++ -*- compatibility header.
  
! // 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,47 ****
   *  This is a Standard C++ Library header.
   */
  
  #include <bits/c++config.h>
  
  #ifdef __GXX_EXPERIMENTAL_CXX0X__
! # include <cinttypes>
  #else
  # if _GLIBCXX_HAVE_INTTYPES_H
  #  include_next <inttypes.h>
  # endif
- #endif
  
! #ifndef _GLIBCXX_INTTYPES_H
! #define _GLIBCXX_INTTYPES_H 1
  
! #endif
--- 31,81 ----
   *  This is a Standard C++ Library header.
   */
  
+ #ifndef _GLIBCXX_INTTYPES_H
+ #define _GLIBCXX_INTTYPES_H 1
+ 
+ #pragma GCC system_header
+ 
  #include <bits/c++config.h>
  
  #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 <inttypes.h>
! #  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 <tr1_impl/cinttypes>
! # else
! #  define _GLIBCXX_INCLUDE_AS_CXX0X
! #  define _GLIBCXX_BEGIN_NAMESPACE_TR1
! #  define _GLIBCXX_END_NAMESPACE_TR1
! #  define _GLIBCXX_TR1
! #  include <tr1_impl/cinttypes>
! #  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 <inttypes.h>
  # endif
  
! #endif // __GXX_EXPERIMENTAL_CXX0X__
  
! #endif // _GLIBCXX_INTTYPES_H

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]