On Tue, 10 Sept 2024 at 05:10, Jason Merrill wrote: > > Tested x86_64-pc-linux-gnu, OK for trunk?
I'm going to have to do some digging ... I _think_ there's some obscure reason for this. Maybe a weird bootstrap situation. Or maybe I made that up as rationale for a scripting error. > > -- 8< -- > > Ever since the c_global and c_compatibility directories were added in > r122533, the include guards have been oddly late in the files, with no > comment about why that might be either in the commit message or the files > themselves. I don't see any justification for this; it seems like a > scripting error in creating these files based on the ones in include/c. > > libstdc++-v3/ChangeLog: > > * include/c_compatibility/ctype.h > * include/c_compatibility/errno.h > * include/c_compatibility/float.h > * include/c_compatibility/iso646.h > * include/c_compatibility/limits.h > * include/c_compatibility/locale.h > * include/c_compatibility/setjmp.h > * include/c_compatibility/signal.h > * include/c_compatibility/stdarg.h > * include/c_compatibility/stdbool.h > * include/c_compatibility/stddef.h > * include/c_compatibility/stdio.h > * include/c_compatibility/string.h > * include/c_compatibility/tgmath.h > * include/c_compatibility/time.h > * include/c_compatibility/uchar.h > * include/c_compatibility/wchar.h > * include/c_compatibility/wctype.h > * include/c_global/cctype > * include/c_global/cerrno > * include/c_global/cfloat > * include/c_global/climits > * include/c_global/clocale > * include/c_global/cmath > * include/c_global/csetjmp > * include/c_global/csignal > * include/c_global/cstdarg > * include/c_global/cstdio > * include/c_global/cstdlib > * include/c_global/cstring > * include/c_global/ctime > * include/c_global/cwchar > * include/c_global/cwctype: Move header guard before #includes. > --- > libstdc++-v3/include/c_compatibility/ctype.h | 4 ++-- > libstdc++-v3/include/c_compatibility/errno.h | 4 ++-- > libstdc++-v3/include/c_compatibility/float.h | 4 ++-- > libstdc++-v3/include/c_compatibility/iso646.h | 4 ++-- > libstdc++-v3/include/c_compatibility/limits.h | 4 ++-- > libstdc++-v3/include/c_compatibility/locale.h | 4 ++-- > libstdc++-v3/include/c_compatibility/setjmp.h | 4 ++-- > libstdc++-v3/include/c_compatibility/signal.h | 4 ++-- > libstdc++-v3/include/c_compatibility/stdarg.h | 4 ++-- > libstdc++-v3/include/c_compatibility/stdbool.h | 6 +++--- > libstdc++-v3/include/c_compatibility/stddef.h | 4 ++-- > libstdc++-v3/include/c_compatibility/stdio.h | 4 ++-- > libstdc++-v3/include/c_compatibility/string.h | 4 ++-- > libstdc++-v3/include/c_compatibility/tgmath.h | 6 +++--- > libstdc++-v3/include/c_compatibility/time.h | 4 ++-- > libstdc++-v3/include/c_compatibility/uchar.h | 4 ++-- > libstdc++-v3/include/c_compatibility/wchar.h | 4 ++-- > libstdc++-v3/include/c_compatibility/wctype.h | 4 ++-- > libstdc++-v3/include/c_global/cctype | 6 +++--- > libstdc++-v3/include/c_global/cerrno | 6 +++--- > libstdc++-v3/include/c_global/cfloat | 6 +++--- > libstdc++-v3/include/c_global/climits | 6 +++--- > libstdc++-v3/include/c_global/clocale | 6 +++--- > libstdc++-v3/include/c_global/cmath | 6 +++--- > libstdc++-v3/include/c_global/csetjmp | 6 +++--- > libstdc++-v3/include/c_global/csignal | 6 +++--- > libstdc++-v3/include/c_global/cstdarg | 6 +++--- > libstdc++-v3/include/c_global/cstdio | 6 +++--- > libstdc++-v3/include/c_global/cstdlib | 6 +++--- > libstdc++-v3/include/c_global/cstring | 6 +++--- > libstdc++-v3/include/c_global/ctime | 6 +++--- > libstdc++-v3/include/c_global/cwchar | 6 +++--- > libstdc++-v3/include/c_global/cwctype | 6 +++--- > 33 files changed, 83 insertions(+), 83 deletions(-) > > diff --git a/libstdc++-v3/include/c_compatibility/ctype.h > b/libstdc++-v3/include/c_compatibility/ctype.h > index 7b57a4d118a..d975dff1529 100644 > --- a/libstdc++-v3/include/c_compatibility/ctype.h > +++ b/libstdc++-v3/include/c_compatibility/ctype.h > @@ -26,11 +26,11 @@ > * This is a Standard C++ Library header. > */ > > -#include <cctype> > - > #ifndef _GLIBCXX_CTYPE_H > #define _GLIBCXX_CTYPE_H 1 > > +#include <cctype> > + > #ifdef _GLIBCXX_NAMESPACE_C > using std::isalnum; > using std::isalpha; > diff --git a/libstdc++-v3/include/c_compatibility/errno.h > b/libstdc++-v3/include/c_compatibility/errno.h > index 06a7e5e1ee4..402810456a5 100644 > --- a/libstdc++-v3/include/c_compatibility/errno.h > +++ b/libstdc++-v3/include/c_compatibility/errno.h > @@ -26,9 +26,9 @@ > * This is a Standard C++ Library header. > */ > > -#include <cerrno> > - > #ifndef _GLIBCXX_ERRNO_H > #define _GLIBCXX_ERRNO_H 1 > > +#include <cerrno> > + > #endif > diff --git a/libstdc++-v3/include/c_compatibility/float.h > b/libstdc++-v3/include/c_compatibility/float.h > index 9d8f4b62276..3d3c994db51 100644 > --- a/libstdc++-v3/include/c_compatibility/float.h > +++ b/libstdc++-v3/include/c_compatibility/float.h > @@ -26,9 +26,9 @@ > * This is a Standard C++ Library header. > */ > > -#include <cfloat> > - > #ifndef _GLIBCXX_FLOAT_H > #define _GLIBCXX_FLOAT_H 1 > > +#include <cfloat> > + > #endif > diff --git a/libstdc++-v3/include/c_compatibility/iso646.h > b/libstdc++-v3/include/c_compatibility/iso646.h > index cf95847a857..665166c7f03 100644 > --- a/libstdc++-v3/include/c_compatibility/iso646.h > +++ b/libstdc++-v3/include/c_compatibility/iso646.h > @@ -26,9 +26,9 @@ > * This is a Standard C++ Library header. > */ > > -#include <ciso646> > - > #ifndef _GLIBCXX_ISO646_H > #define _GLIBCXX_ISO646_H 1 > > +#include <ciso646> > + > #endif > diff --git a/libstdc++-v3/include/c_compatibility/limits.h > b/libstdc++-v3/include/c_compatibility/limits.h > index 3c3cbd58eb1..465ad4f7d52 100644 > --- a/libstdc++-v3/include/c_compatibility/limits.h > +++ b/libstdc++-v3/include/c_compatibility/limits.h > @@ -26,9 +26,9 @@ > * This is a Standard C++ Library header. > */ > > -#include <climits> > - > #ifndef _GLIBCXX_LIMITS_H > #define _GLIBCXX_LIMITS_H 1 > > +#include <climits> > + > #endif > diff --git a/libstdc++-v3/include/c_compatibility/locale.h > b/libstdc++-v3/include/c_compatibility/locale.h > index 91cf5e351aa..c7407ab5444 100644 > --- a/libstdc++-v3/include/c_compatibility/locale.h > +++ b/libstdc++-v3/include/c_compatibility/locale.h > @@ -26,11 +26,11 @@ > * This is a Standard C++ Library header. > */ > > -#include <clocale> > - > #ifndef _GLIBCXX_LOCALE_H > #define _GLIBCXX_LOCALE_H 1 > > +#include <clocale> > + > #ifdef _GLIBCXX_NAMESPACE_C > using std::lconv; > using std::setlocale; > diff --git a/libstdc++-v3/include/c_compatibility/setjmp.h > b/libstdc++-v3/include/c_compatibility/setjmp.h > index 4ffc9e60b90..7cf1e59bb8b 100644 > --- a/libstdc++-v3/include/c_compatibility/setjmp.h > +++ b/libstdc++-v3/include/c_compatibility/setjmp.h > @@ -26,11 +26,11 @@ > * This is a Standard C++ Library header. > */ > > -#include <csetjmp> > - > #ifndef _GLIBCXX_SETJMP_H > #define _GLIBCXX_SETJMP_H 1 > > +#include <csetjmp> > + > #ifdef _GLIBCXX_NAMESPACE_C > using std::jmp_buf; > using std::longjmp; > diff --git a/libstdc++-v3/include/c_compatibility/signal.h > b/libstdc++-v3/include/c_compatibility/signal.h > index e4d4fb2906b..9497985edb3 100644 > --- a/libstdc++-v3/include/c_compatibility/signal.h > +++ b/libstdc++-v3/include/c_compatibility/signal.h > @@ -26,11 +26,11 @@ > * This is a Standard C++ Library header. > */ > > -#include <csignal> > - > #ifndef _GLIBCXX_SIGNAL_H > #define _GLIBCXX_SIGNAL_H 1 > > +#include <csignal> > + > #ifdef _GLIBCXX_NAMESPACE_C > using std::sig_atomic_t; > using std::raise; > diff --git a/libstdc++-v3/include/c_compatibility/stdarg.h > b/libstdc++-v3/include/c_compatibility/stdarg.h > index 39033559cdb..b93037ef155 100644 > --- a/libstdc++-v3/include/c_compatibility/stdarg.h > +++ b/libstdc++-v3/include/c_compatibility/stdarg.h > @@ -26,11 +26,11 @@ > * This is a Standard C++ Library header. > */ > > -#include <cstdarg> > - > #ifndef _GLIBCXX_STDARG_H > #define _GLIBCXX_STDARG_H 1 > > +#include <cstdarg> > + > #ifdef _GLIBCXX_NAMESPACE_C > using std::va_list; > #endif > diff --git a/libstdc++-v3/include/c_compatibility/stdbool.h > b/libstdc++-v3/include/c_compatibility/stdbool.h > index 0ddf19a4884..1c7e70bad9a 100644 > --- a/libstdc++-v3/include/c_compatibility/stdbool.h > +++ b/libstdc++-v3/include/c_compatibility/stdbool.h > @@ -26,6 +26,9 @@ > * This is a Standard C++ Library header. > */ > > +#ifndef _GLIBCXX_STDBOOL_H > +#define _GLIBCXX_STDBOOL_H 1 > + > #include <bits/c++config.h> > > #if __cplusplus >= 201103L > @@ -36,7 +39,4 @@ > # endif > #endif > > -#ifndef _GLIBCXX_STDBOOL_H > -#define _GLIBCXX_STDBOOL_H 1 > - > #endif > diff --git a/libstdc++-v3/include/c_compatibility/stddef.h > b/libstdc++-v3/include/c_compatibility/stddef.h > index e7478d2a919..ba4aaaea96e 100644 > --- a/libstdc++-v3/include/c_compatibility/stddef.h > +++ b/libstdc++-v3/include/c_compatibility/stddef.h > @@ -26,11 +26,11 @@ > * This is a Standard C++ Library header. > */ > > -#include <cstddef> > - > #ifndef _GLIBCXX_STDDEF_H > #define _GLIBCXX_STDDEF_H 1 > > +#include <cstddef> > + > #ifdef _GLIBCXX_NAMESPACE_C > using std::size_t; > using std::ptrdiff_t; > diff --git a/libstdc++-v3/include/c_compatibility/stdio.h > b/libstdc++-v3/include/c_compatibility/stdio.h > index 2980b143a8e..573ada2f148 100644 > --- a/libstdc++-v3/include/c_compatibility/stdio.h > +++ b/libstdc++-v3/include/c_compatibility/stdio.h > @@ -26,11 +26,11 @@ > * This is a Standard C++ Library header. > */ > > -#include <cstdio> > - > #ifndef _GLIBCXX_STDIO_H > #define _GLIBCXX_STDIO_H 1 > > +#include <cstdio> > + > #ifdef _GLIBCXX_NAMESPACE_C > using std::FILE; > using std::fpos_t; > diff --git a/libstdc++-v3/include/c_compatibility/string.h > b/libstdc++-v3/include/c_compatibility/string.h > index 0939f092424..5cb354b09f9 100644 > --- a/libstdc++-v3/include/c_compatibility/string.h > +++ b/libstdc++-v3/include/c_compatibility/string.h > @@ -26,11 +26,11 @@ > * This is a Standard C++ Library header. > */ > > -#include <cstring> > - > #ifndef _GLIBCXX_STRING_H > #define _GLIBCXX_STRING_H 1 > > +#include <cstring> > + > #ifdef _GLIBCXX_NAMESPACE_C > using std::memcpy; > using std::memmove; > diff --git a/libstdc++-v3/include/c_compatibility/tgmath.h > b/libstdc++-v3/include/c_compatibility/tgmath.h > index e3c264843e3..aadddd91b60 100644 > --- a/libstdc++-v3/include/c_compatibility/tgmath.h > +++ b/libstdc++-v3/include/c_compatibility/tgmath.h > @@ -26,6 +26,9 @@ > * This is a Standard C++ Library header. > */ > > +#ifndef _GLIBCXX_TGMATH_H > +#define _GLIBCXX_TGMATH_H 1 > + > #include <bits/c++config.h> > > #if __cplusplus >= 201103L > @@ -36,7 +39,4 @@ > # endif > #endif > > -#ifndef _GLIBCXX_TGMATH_H > -#define _GLIBCXX_TGMATH_H 1 > - > #endif > diff --git a/libstdc++-v3/include/c_compatibility/time.h > b/libstdc++-v3/include/c_compatibility/time.h > index 4b2efab6ec7..a7afa626293 100644 > --- a/libstdc++-v3/include/c_compatibility/time.h > +++ b/libstdc++-v3/include/c_compatibility/time.h > @@ -26,11 +26,11 @@ > * This is a Standard C++ Library header. > */ > > -#include <ctime> > - > #ifndef _GLIBCXX_TIME_H > #define _GLIBCXX_TIME_H 1 > > +#include <ctime> > + > #ifdef _GLIBCXX_NAMESPACE_C > // Get rid of those macros defined in <time.h> in lieu of real functions. > #undef clock > diff --git a/libstdc++-v3/include/c_compatibility/uchar.h > b/libstdc++-v3/include/c_compatibility/uchar.h > index b3bbc901473..776380d3a5e 100644 > --- a/libstdc++-v3/include/c_compatibility/uchar.h > +++ b/libstdc++-v3/include/c_compatibility/uchar.h > @@ -26,11 +26,11 @@ > * This is a Standard C++ Library header. > */ > > -#include <cuchar> > - > #ifndef _GLIBCXX_UCHAR_H > #define _GLIBCXX_UCHAR_H 1 > > +#include <cuchar> > + > #ifdef _GLIBCXX_NAMESPACE_C > > #if (_GLIBCXX_USE_CHAR8_T \ > diff --git a/libstdc++-v3/include/c_compatibility/wchar.h > b/libstdc++-v3/include/c_compatibility/wchar.h > index 8dab7cb80a7..c618b1779c6 100644 > --- a/libstdc++-v3/include/c_compatibility/wchar.h > +++ b/libstdc++-v3/include/c_compatibility/wchar.h > @@ -26,11 +26,11 @@ > * This is a Standard C++ Library header. > */ > > -#include <cwchar> > - > #ifndef _GLIBCXX_WCHAR_H > #define _GLIBCXX_WCHAR_H 1 > > +#include <cwchar> > + > #ifdef _GLIBCXX_NAMESPACE_C > using std::mbstate_t; > > diff --git a/libstdc++-v3/include/c_compatibility/wctype.h > b/libstdc++-v3/include/c_compatibility/wctype.h > index d0b24880c7f..834639d763b 100644 > --- a/libstdc++-v3/include/c_compatibility/wctype.h > +++ b/libstdc++-v3/include/c_compatibility/wctype.h > @@ -26,11 +26,11 @@ > * This is a Standard C++ Library header. > */ > > -#include <cwctype> > - > #ifndef _GLIBCXX_CWCTYPE_H > #define _GLIBCXX_CWCTYPE_H 1 > > +#include <cwctype> > + > #ifdef _GLIBCXX_NAMESPACE_C > using std::wctype_t; > using std::wctrans_t; > diff --git a/libstdc++-v3/include/c_global/cctype > b/libstdc++-v3/include/c_global/cctype > index 925433a7d80..0c6d027ed24 100644 > --- a/libstdc++-v3/include/c_global/cctype > +++ b/libstdc++-v3/include/c_global/cctype > @@ -36,14 +36,14 @@ > // ISO C++ 14882: <ccytpe> > // > > +#ifndef _GLIBCXX_CCTYPE > +#define _GLIBCXX_CCTYPE 1 > + > #pragma GCC system_header > > #include <bits/c++config.h> > #include <ctype.h> > > -#ifndef _GLIBCXX_CCTYPE > -#define _GLIBCXX_CCTYPE 1 > - > // Get rid of those macros defined in <ctype.h> in lieu of real functions. > #undef isalnum > #undef isalpha > diff --git a/libstdc++-v3/include/c_global/cerrno > b/libstdc++-v3/include/c_global/cerrno > index 772d4bed8aa..5cad0795b27 100644 > --- a/libstdc++-v3/include/c_global/cerrno > +++ b/libstdc++-v3/include/c_global/cerrno > @@ -36,14 +36,14 @@ > // ISO C++ 14882: 19.3 Error numbers > // > > +#ifndef _GLIBCXX_CERRNO > +#define _GLIBCXX_CERRNO 1 > + > #pragma GCC system_header > > #include <bits/c++config.h> > #include <errno.h> > > -#ifndef _GLIBCXX_CERRNO > -#define _GLIBCXX_CERRNO 1 > - > // Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998 > #ifndef errno > #define errno errno > diff --git a/libstdc++-v3/include/c_global/cfloat > b/libstdc++-v3/include/c_global/cfloat > index 38ff8309f19..bc90e75ba57 100644 > --- a/libstdc++-v3/include/c_global/cfloat > +++ b/libstdc++-v3/include/c_global/cfloat > @@ -36,14 +36,14 @@ > // ISO C++ 14882: 18.2.2 Implementation properties: C library > // > > +#ifndef _GLIBCXX_CFLOAT > +#define _GLIBCXX_CFLOAT 1 > + > #pragma GCC system_header > > #include <bits/c++config.h> > #include <float.h> > > -#ifndef _GLIBCXX_CFLOAT > -#define _GLIBCXX_CFLOAT 1 > - > #if __cplusplus >= 201103L > # ifndef DECIMAL_DIG > # define DECIMAL_DIG __DECIMAL_DIG__ > diff --git a/libstdc++-v3/include/c_global/climits > b/libstdc++-v3/include/c_global/climits > index 7e374ef0c79..3fee65d36d2 100644 > --- a/libstdc++-v3/include/c_global/climits > +++ b/libstdc++-v3/include/c_global/climits > @@ -36,14 +36,14 @@ > // ISO C++ 14882: 18.2.2 Implementation properties: C library > // > > +#ifndef _GLIBCXX_CLIMITS > +#define _GLIBCXX_CLIMITS 1 > + > #pragma GCC system_header > > #include <bits/c++config.h> > #include <limits.h> > > -#ifndef _GLIBCXX_CLIMITS > -#define _GLIBCXX_CLIMITS 1 > - > #ifndef LLONG_MIN > #define LLONG_MIN (-__LONG_LONG_MAX__ - 1) > #endif > diff --git a/libstdc++-v3/include/c_global/clocale > b/libstdc++-v3/include/c_global/clocale > index 74114455a66..b795f5759d1 100644 > --- a/libstdc++-v3/include/c_global/clocale > +++ b/libstdc++-v3/include/c_global/clocale > @@ -36,14 +36,14 @@ > // ISO C++ 14882: 18.2.2 Implementation properties: C library > // > > +#ifndef _GLIBCXX_CLOCALE > +#define _GLIBCXX_CLOCALE 1 > + > #pragma GCC system_header > > #include <bits/c++config.h> > #include <locale.h> > > -#ifndef _GLIBCXX_CLOCALE > -#define _GLIBCXX_CLOCALE 1 > - > // Get rid of those macros defined in <locale.h> in lieu of real functions. > #undef setlocale > #undef localeconv > diff --git a/libstdc++-v3/include/c_global/cmath > b/libstdc++-v3/include/c_global/cmath > index dd0174f1987..ea76f446652 100644 > --- a/libstdc++-v3/include/c_global/cmath > +++ b/libstdc++-v3/include/c_global/cmath > @@ -36,6 +36,9 @@ > // ISO C++ 14882: 26.5 C library > // > > +#ifndef _GLIBCXX_CMATH > +#define _GLIBCXX_CMATH 1 > + > #pragma GCC system_header > > #include <bits/requires_hosted.h> > @@ -48,9 +51,6 @@ > #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS > #include <bits/std_abs.h> > > -#ifndef _GLIBCXX_CMATH > -#define _GLIBCXX_CMATH 1 > - > #define __glibcxx_want_hypot > #define __glibcxx_want_interpolate > #include <bits/version.h> > diff --git a/libstdc++-v3/include/c_global/csetjmp > b/libstdc++-v3/include/c_global/csetjmp > index c378dfaa54c..6b1a484d539 100644 > --- a/libstdc++-v3/include/c_global/csetjmp > +++ b/libstdc++-v3/include/c_global/csetjmp > @@ -36,14 +36,14 @@ > // ISO C++ 14882: 20.4.6 C library > // > > +#ifndef _GLIBCXX_CSETJMP > +#define _GLIBCXX_CSETJMP 1 > + > #pragma GCC system_header > > #include <bits/c++config.h> > #include <setjmp.h> > > -#ifndef _GLIBCXX_CSETJMP > -#define _GLIBCXX_CSETJMP 1 > - > // Get rid of those macros defined in <setjmp.h> in lieu of real functions. > #undef longjmp > > diff --git a/libstdc++-v3/include/c_global/csignal > b/libstdc++-v3/include/c_global/csignal > index 4a6f25e86ea..dc8a3e00b29 100644 > --- a/libstdc++-v3/include/c_global/csignal > +++ b/libstdc++-v3/include/c_global/csignal > @@ -36,14 +36,14 @@ > // ISO C++ 14882: 20.4.6 C library > // > > +#ifndef _GLIBCXX_CSIGNAL > +#define _GLIBCXX_CSIGNAL 1 > + > #pragma GCC system_header > > #include <bits/c++config.h> > #include <signal.h> > > -#ifndef _GLIBCXX_CSIGNAL > -#define _GLIBCXX_CSIGNAL 1 > - > // Get rid of those macros defined in <signal.h> in lieu of real functions. > #undef raise > > diff --git a/libstdc++-v3/include/c_global/cstdarg > b/libstdc++-v3/include/c_global/cstdarg > index ed5e0509094..fd960c8ca4b 100644 > --- a/libstdc++-v3/include/c_global/cstdarg > +++ b/libstdc++-v3/include/c_global/cstdarg > @@ -36,15 +36,15 @@ > // ISO C++ 14882: 20.4.6 C library > // > > +#ifndef _GLIBCXX_CSTDARG > +#define _GLIBCXX_CSTDARG 1 > + > #pragma GCC system_header > > #undef __need___va_list > #include <bits/c++config.h> > #include <stdarg.h> > > -#ifndef _GLIBCXX_CSTDARG > -#define _GLIBCXX_CSTDARG 1 > - > // Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998 > #ifndef va_end > #define va_end(ap) va_end (ap) > diff --git a/libstdc++-v3/include/c_global/cstdio > b/libstdc++-v3/include/c_global/cstdio > index 7674a4330c1..2b1f4fe78cd 100644 > --- a/libstdc++-v3/include/c_global/cstdio > +++ b/libstdc++-v3/include/c_global/cstdio > @@ -36,14 +36,14 @@ > // ISO C++ 14882: 27.8.2 C Library files > // > > +#ifndef _GLIBCXX_CSTDIO > +#define _GLIBCXX_CSTDIO 1 > + > #pragma GCC system_header > > #include <bits/c++config.h> > #include <stdio.h> > > -#ifndef _GLIBCXX_CSTDIO > -#define _GLIBCXX_CSTDIO 1 > - > #if __cplusplus <= 201103L && !defined(_GLIBCXX_HAVE_GETS) > extern "C" char* gets (char* __s) __attribute__((__deprecated__)); > #endif > diff --git a/libstdc++-v3/include/c_global/cstdlib > b/libstdc++-v3/include/c_global/cstdlib > index 69e7a39eb44..e210b23e588 100644 > --- a/libstdc++-v3/include/c_global/cstdlib > +++ b/libstdc++-v3/include/c_global/cstdlib > @@ -36,13 +36,13 @@ > // ISO C++ 14882: 20.4.6 C library > // > > +#ifndef _GLIBCXX_CSTDLIB > +#define _GLIBCXX_CSTDLIB 1 > + > #pragma GCC system_header > > #include <bits/c++config.h> > > -#ifndef _GLIBCXX_CSTDLIB > -#define _GLIBCXX_CSTDLIB 1 > - > #if !_GLIBCXX_HOSTED > // The C standard does not require a freestanding implementation to > // provide <stdlib.h>. However, the C++ standard does still require > diff --git a/libstdc++-v3/include/c_global/cstring > b/libstdc++-v3/include/c_global/cstring > index 5ccc6cc686e..eba409fd613 100644 > --- a/libstdc++-v3/include/c_global/cstring > +++ b/libstdc++-v3/include/c_global/cstring > @@ -36,15 +36,15 @@ > // ISO C++ 14882: 20.4.6 C library > // > > +#ifndef _GLIBCXX_CSTRING > +#define _GLIBCXX_CSTRING 1 > + > #pragma GCC system_header > > #define __glibcxx_want_freestanding_cstring > #include <bits/version.h> > #include <string.h> > > -#ifndef _GLIBCXX_CSTRING > -#define _GLIBCXX_CSTRING 1 > - > // Get rid of those macros defined in <string.h> in lieu of real functions. > #undef memchr > #undef memcmp > diff --git a/libstdc++-v3/include/c_global/ctime > b/libstdc++-v3/include/c_global/ctime > index cb6eb88959f..da16ba686db 100644 > --- a/libstdc++-v3/include/c_global/ctime > +++ b/libstdc++-v3/include/c_global/ctime > @@ -36,14 +36,14 @@ > // ISO C++ 14882: 20.5 Date and time > // > > +#ifndef _GLIBCXX_CTIME > +#define _GLIBCXX_CTIME 1 > + > #pragma GCC system_header > > #include <bits/c++config.h> > #include <time.h> > > -#ifndef _GLIBCXX_CTIME > -#define _GLIBCXX_CTIME 1 > - > // Get rid of those macros defined in <time.h> in lieu of real functions. > #undef clock > #undef difftime > diff --git a/libstdc++-v3/include/c_global/cwchar > b/libstdc++-v3/include/c_global/cwchar > index 325b3ac6bad..fabe178429f 100644 > --- a/libstdc++-v3/include/c_global/cwchar > +++ b/libstdc++-v3/include/c_global/cwchar > @@ -36,6 +36,9 @@ > // ISO C++ 14882: 21.4 > // > > +#ifndef _GLIBCXX_CWCHAR > +#define _GLIBCXX_CWCHAR 1 > + > #pragma GCC system_header > > #include <bits/c++config.h> > @@ -44,9 +47,6 @@ > #include <wchar.h> > #endif > > -#ifndef _GLIBCXX_CWCHAR > -#define _GLIBCXX_CWCHAR 1 > - > // Need to do a bit of trickery here with mbstate_t as char_traits > // assumes it is in wchar.h, regardless of wchar_t specializations. > #ifndef _GLIBCXX_HAVE_MBSTATE_T > diff --git a/libstdc++-v3/include/c_global/cwctype > b/libstdc++-v3/include/c_global/cwctype > index 55c79d63cd2..54c8572426a 100644 > --- a/libstdc++-v3/include/c_global/cwctype > +++ b/libstdc++-v3/include/c_global/cwctype > @@ -36,6 +36,9 @@ > // ISO C++ 14882: <cwctype> > // > > +#ifndef _GLIBCXX_CWCTYPE > +#define _GLIBCXX_CWCTYPE 1 > + > #pragma GCC system_header > > #include <bits/c++config.h> > @@ -50,9 +53,6 @@ > #include <wctype.h> > #endif // _GLIBCXX_HAVE_WCTYPE_H > > -#ifndef _GLIBCXX_CWCTYPE > -#define _GLIBCXX_CWCTYPE 1 > - > // Get rid of those macros defined in <wctype.h> in lieu of real functions. > #undef iswalnum > #undef iswalpha > > base-commit: 898e3e95a6acf542baf03be95ce5bf7b3ad04276 > prerequisite-patch-id: b879726293513fcbc4b7df92bcc976404416b695 > -- > 2.46.0 >