From f0d8b3aa44fc418fa7b0b794567d48a590477be3 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 24 Jan 2021 14:20:33 -0800 Subject: [PATCH] Remove use of include_next from c++ headers Using include_next bypasses the default header search path and lets files later in the include path take priority over earlier files. This makes replacing libc impossible as the default libc headers will occur after the libstdc++ headers, and so be picked up in place of headers inserted at the begining of the search path or appended to the end of the search path. Using include_next is a hack to work-around broken combinations of libraries, and is not necessary in a well constructed toolchain. Signed-off-by: Keith Packard --- libstdc++-v3/include/bits/std_abs.h | 4 ++-- libstdc++-v3/include/c/cassert | 2 +- libstdc++-v3/include/c/cctype | 2 +- libstdc++-v3/include/c/cerrno | 2 +- libstdc++-v3/include/c/cfloat | 2 +- libstdc++-v3/include/c/climits | 2 +- libstdc++-v3/include/c/clocale | 2 +- libstdc++-v3/include/c/cmath | 2 +- libstdc++-v3/include/c/csetjmp | 2 +- libstdc++-v3/include/c/csignal | 2 +- libstdc++-v3/include/c/cstdarg | 2 +- libstdc++-v3/include/c/cstddef | 2 +- libstdc++-v3/include/c/cstdio | 2 +- libstdc++-v3/include/c/cstdlib | 2 +- libstdc++-v3/include/c/cstring | 2 +- libstdc++-v3/include/c/ctime | 2 +- libstdc++-v3/include/c/cuchar | 2 +- libstdc++-v3/include/c/cwchar | 2 +- libstdc++-v3/include/c/cwctype | 2 +- libstdc++-v3/include/c_global/cmath | 2 +- libstdc++-v3/include/c_global/cstdlib | 2 +- 21 files changed, 22 insertions(+), 22 deletions(-) diff --git a/libstdc++-v3/include/bits/std_abs.h b/libstdc++-v3/include/bits/std_abs.h index 48d44160babae..d30c44e51896d 100644 --- a/libstdc++-v3/include/bits/std_abs.h +++ b/libstdc++-v3/include/bits/std_abs.h @@ -35,9 +35,9 @@ #include #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS -#include_next +#include #ifdef __CORRECT_ISO_CPP_MATH_H_PROTO -# include_next +# include #endif #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS diff --git a/libstdc++-v3/include/c/cassert b/libstdc++-v3/include/c/cassert index 5cd11fff9eceb..01d8c7fa5fcd9 100644 --- a/libstdc++-v3/include/c/cassert +++ b/libstdc++-v3/include/c/cassert @@ -31,4 +31,4 @@ #pragma GCC system_header #include -#include_next +#include diff --git a/libstdc++-v3/include/c/cctype b/libstdc++-v3/include/c/cctype index c6f650394357e..1540a3259454c 100644 --- a/libstdc++-v3/include/c/cctype +++ b/libstdc++-v3/include/c/cctype @@ -31,6 +31,6 @@ #pragma GCC system_header -#include_next +#include #endif diff --git a/libstdc++-v3/include/c/cerrno b/libstdc++-v3/include/c/cerrno index 9e47b182d25cf..250ea5d7744a3 100644 --- a/libstdc++-v3/include/c/cerrno +++ b/libstdc++-v3/include/c/cerrno @@ -41,7 +41,7 @@ #pragma GCC system_header #include -#include_next +#include // Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998 #ifndef errno diff --git a/libstdc++-v3/include/c/cfloat b/libstdc++-v3/include/c/cfloat index 81d9772ed9f6a..660440fc810ba 100644 --- a/libstdc++-v3/include/c/cfloat +++ b/libstdc++-v3/include/c/cfloat @@ -32,6 +32,6 @@ #pragma GCC system_header #include -#include_next +#include #endif diff --git a/libstdc++-v3/include/c/climits b/libstdc++-v3/include/c/climits index 255bed4112594..919e1ec4855d3 100644 --- a/libstdc++-v3/include/c/climits +++ b/libstdc++-v3/include/c/climits @@ -32,6 +32,6 @@ #pragma GCC system_header #include -#include_next +#include #endif diff --git a/libstdc++-v3/include/c/clocale b/libstdc++-v3/include/c/clocale index 4258df1958b6f..95357d40ca1b6 100644 --- a/libstdc++-v3/include/c/clocale +++ b/libstdc++-v3/include/c/clocale @@ -31,6 +31,6 @@ #pragma GCC system_header -#include_next +#include #endif diff --git a/libstdc++-v3/include/c/cmath b/libstdc++-v3/include/c/cmath index 43020eee9d297..619031ba8e4a8 100644 --- a/libstdc++-v3/include/c/cmath +++ b/libstdc++-v3/include/c/cmath @@ -33,7 +33,7 @@ #include -#include_next +#include // Get rid of those macros defined in in lieu of real functions. #undef abs diff --git a/libstdc++-v3/include/c/csetjmp b/libstdc++-v3/include/c/csetjmp index 4a5b0334590f3..4a7744ba1c7e8 100644 --- a/libstdc++-v3/include/c/csetjmp +++ b/libstdc++-v3/include/c/csetjmp @@ -31,7 +31,7 @@ #pragma GCC system_header -#include_next +#include // Get rid of those macros defined in in lieu of real functions. #undef longjmp diff --git a/libstdc++-v3/include/c/csignal b/libstdc++-v3/include/c/csignal index 040b48368f941..afe91f7c7866a 100644 --- a/libstdc++-v3/include/c/csignal +++ b/libstdc++-v3/include/c/csignal @@ -31,6 +31,6 @@ #pragma GCC system_header -#include_next +#include #endif diff --git a/libstdc++-v3/include/c/cstdarg b/libstdc++-v3/include/c/cstdarg index 5d97e043da843..568dc07994f63 100644 --- a/libstdc++-v3/include/c/cstdarg +++ b/libstdc++-v3/include/c/cstdarg @@ -32,6 +32,6 @@ #pragma GCC system_header #undef __need___va_list -#include_next +#include #endif diff --git a/libstdc++-v3/include/c/cstddef b/libstdc++-v3/include/c/cstddef index 4fd889a1dffc6..28997b73a6475 100644 --- a/libstdc++-v3/include/c/cstddef +++ b/libstdc++-v3/include/c/cstddef @@ -35,6 +35,6 @@ #define __need_ptrdiff_t #define __need_NULL #define __need_offsetof -#include_next +#include #endif diff --git a/libstdc++-v3/include/c/cstdio b/libstdc++-v3/include/c/cstdio index 01293054d501c..6632e5b095862 100644 --- a/libstdc++-v3/include/c/cstdio +++ b/libstdc++-v3/include/c/cstdio @@ -31,7 +31,7 @@ #pragma GCC system_header -#include_next +#include // Get rid of those macros defined in in lieu of real functions. #undef clearerr diff --git a/libstdc++-v3/include/c/cstdlib b/libstdc++-v3/include/c/cstdlib index f5707f8a8ce49..4156882e09aa0 100644 --- a/libstdc++-v3/include/c/cstdlib +++ b/libstdc++-v3/include/c/cstdlib @@ -31,6 +31,6 @@ #pragma GCC system_header -#include_next +#include #endif diff --git a/libstdc++-v3/include/c/cstring b/libstdc++-v3/include/c/cstring index 0082080fcab07..209ccd112faab 100644 --- a/libstdc++-v3/include/c/cstring +++ b/libstdc++-v3/include/c/cstring @@ -31,6 +31,6 @@ #pragma GCC system_header -#include_next +#include #endif diff --git a/libstdc++-v3/include/c/ctime b/libstdc++-v3/include/c/ctime index 5476ff7da399d..33c61aa08d734 100644 --- a/libstdc++-v3/include/c/ctime +++ b/libstdc++-v3/include/c/ctime @@ -31,6 +31,6 @@ #pragma GCC system_header -#include_next +#include #endif diff --git a/libstdc++-v3/include/c/cuchar b/libstdc++-v3/include/c/cuchar index 430d1ff50ba16..7b2c9d7382692 100644 --- a/libstdc++-v3/include/c/cuchar +++ b/libstdc++-v3/include/c/cuchar @@ -39,7 +39,7 @@ #include #if _GLIBCXX_USE_C11_UCHAR_CXX11 -# include_next +# include #endif #endif // C++11 diff --git a/libstdc++-v3/include/c/cwchar b/libstdc++-v3/include/c/cwchar index 7a62eb74abbfe..c1857099ef126 100644 --- a/libstdc++-v3/include/c/cwchar +++ b/libstdc++-v3/include/c/cwchar @@ -36,7 +36,7 @@ #include #if _GLIBCXX_HAVE_WCHAR_H -#include_next +#include #endif // Need to do a bit of trickery here with mbstate_t as char_traits diff --git a/libstdc++-v3/include/c/cwctype b/libstdc++-v3/include/c/cwctype index 011ceadbb1b4e..6a67549ea4bdd 100644 --- a/libstdc++-v3/include/c/cwctype +++ b/libstdc++-v3/include/c/cwctype @@ -34,7 +34,7 @@ #include #if _GLIBCXX_HAVE_WCTYPE_H -#include_next +#include #endif #endif diff --git a/libstdc++-v3/include/c_global/cmath b/libstdc++-v3/include/c_global/cmath index dd0174f1987f6..2886d2cb7d918 100644 --- a/libstdc++-v3/include/c_global/cmath +++ b/libstdc++-v3/include/c_global/cmath @@ -44,7 +44,7 @@ #include #include #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS -#include_next +#include #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS #include diff --git a/libstdc++-v3/include/c_global/cstdlib b/libstdc++-v3/include/c_global/cstdlib index 69e7a39eb44e9..a1a60fadedf9c 100644 --- a/libstdc++-v3/include/c_global/cstdlib +++ b/libstdc++-v3/include/c_global/cstdlib @@ -76,7 +76,7 @@ namespace std // Need to ensure this finds the C library's not a libstdc++ // wrapper that might already be installed later in the include search path. #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS -#include_next +#include #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS #include