* [v3] Fix libstdc++/38000
@ 2008-11-13 1:23 Paolo Carlini
0 siblings, 0 replies; only message in thread
From: Paolo Carlini @ 2008-11-13 1:23 UTC (permalink / raw)
To: Gcc Patch List; +Cc: libstdc++
[-- Attachment #1: Type: text/plain, Size: 101 bytes --]
Hi,
tested x86_64-linux, with and without PCHs, committed to mainline.
Paolo.
///////////////////
[-- Attachment #2: CL_38000 --]
[-- Type: text/plain, Size: 1432 bytes --]
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.
[-- Attachment #3: patch_38000 --]
[-- Type: text/plain, Size: 36834 bytes --]
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-11-13 0:09 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-13 1:23 [v3] Fix libstdc++/38000 Paolo Carlini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).