On Sun, 25 Jan 2026 at 19:28, Jonathan Wakely <[email protected]> wrote: > > > > On Sun, 25 Jan 2026, 16:06 Xi Ruoyao, <[email protected]> wrote: >> >> x86_64 glibc has started to use it since the 2.43 release. > > > The correct fix is to #undef it for glibc then. That way it's still defined > (and tested) for other targets.
Like this: --- a/libstdc++-v3/testsuite/17_intro/names.cc +++ b/libstdc++-v3/testsuite/17_intro/names.cc @@ -303,8 +303,8 @@ #if defined (__linux__) || defined (__gnu_hurd__) #if __has_include(<features.h>) #include <features.h> -#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 19 -// Glibc defines this prior to 2.19 +#if __GLIBC__ == 2 && (__GLIBC_MINOR__ < 19 || __GLIBC_MINOR__ >= 43) +// Glibc defines this prior to 2.19 and since 2.43 #undef __unused #endif #endif The change to badnames.cc is OK though. > > > >> >> Link: >> https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b9579342c68b#patch67 >> --- >> libstdc++-v3/testsuite/17_intro/badnames.cc | 2 +- >> libstdc++-v3/testsuite/17_intro/names.cc | 2 +- >> 2 files changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/libstdc++-v3/testsuite/17_intro/badnames.cc >> b/libstdc++-v3/testsuite/17_intro/badnames.cc >> index ff590fcdf4d..de4d94faf14 100644 >> --- a/libstdc++-v3/testsuite/17_intro/badnames.cc >> +++ b/libstdc++-v3/testsuite/17_intro/badnames.cc >> @@ -67,7 +67,7 @@ >> >> // BSD adds: >> #define __used __used is a BADNAME >> -#define __unused __unused is a BADNAME >> + // __unused (glibc uses this so can't test here) >> // __inline (glibc uses this so can't test here) >> // _Complex (glibc uses this so can't test here) >> #define __istype __istype is a BADNAME >> diff --git a/libstdc++-v3/testsuite/17_intro/names.cc >> b/libstdc++-v3/testsuite/17_intro/names.cc >> index 106acfa641b..2249735baae 100644 >> --- a/libstdc++-v3/testsuite/17_intro/names.cc >> +++ b/libstdc++-v3/testsuite/17_intro/names.cc >> @@ -150,7 +150,7 @@ >> # define __lockable cannot be used as an identifier >> # define __null_sentinel cannot be used as an identifier >> # define __packed cannot be used as an identifier >> -# define __unused cannot be used as an identifier >> + // __unused (glibc uses this so can't test here) >> # define __used cannot be used as an identifier >> >> #ifndef __APPLE__ >> -- >> 2.52.0 >>
