From a9766b7fd69768ec614f838edcb6a38fd7b3cb0d 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 48d44160baba..d30c44e51896 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 5cd11fff9ece..01d8c7fa5fcd 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 c6f650394357..1540a3259454 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 9e47b182d25c..250ea5d7744a 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 81d9772ed9f6..660440fc810b 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 255bed411259..919e1ec4855d 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 4258df1958b6..95357d40ca1b 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 43020eee9d29..619031ba8e4a 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 4a5b0334590f..4a7744ba1c7e 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 040b48368f94..afe91f7c7866 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 5d97e043da84..568dc07994f6 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 4fd889a1dffc..28997b73a647 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 01293054d501..6632e5b09586 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 f5707f8a8ce4..4156882e09aa 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 0082080fcab0..209ccd112faa 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 5476ff7da399..33c61aa08d73 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 430d1ff50ba1..7b2c9d738269 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 7a62eb74abbf..c1857099ef12 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 011ceadbb1b4..6a67549ea4bd 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 114b0693151e..bea5665a293d 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 7bb11f5b788a..5a6a28898221 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 -- 2.49.0