Does this look OK for trunk/15/14 after testing? I'll test it on an
s390x cfarm machine before pushing.
-- >8 --
This is the s390 counterpart to r11-7364-gd0453cf5c68b6a, and fixes the
following test failure. If we look at the corresponding upstream header[1]
it's clear that the problematic identifier is 'u'.
In file included from /usr/include/linux/types.h:5,
from /usr/include/linux/sched/types.h:5,
from /usr/include/bits/sched.h:61,
from /usr/include/sched.h:43,
from /usr/include/pthread.h:22,
from
/usr/include/c++/14/s390x-redhat-linux/bits/gthr-default.h:35,
from /usr/include/c++/14/s390x-redhat-linux/bits/gthr.h:157,
from /usr/include/c++/14/ext/atomicity.h:35,
from /usr/include/c++/14/bits/ios_base.h:39,
from /usr/include/c++/14/streambuf:43,
from /usr/include/c++/14/bits/streambuf_iterator.h:35,
from /usr/include/c++/14/iterator:66,
from /usr/include/c++/14/s390x-redhat-linux/bits/stdc++.h:54,
from
/root/rpmbuild/BUILD/gcc-14.3.1-20250617/libstdc++-v3/testsuite/17_intro/names.cc:384:
/usr/include/asm/types.h:24: error: expected unqualified-id before '[' token
/usr/include/asm/types.h:24: error: expected ')' before '[' token
/root/rpmbuild/BUILD/gcc-14.3.1-20250617/libstdc++-v3/testsuite/17_intro/names.cc:101:
note: to match this '('
compiler exited with status 1
FAIL: 17_intro/names.cc -std=gnu++98 (test for excess errors)
Excess errors:
/usr/include/asm/types.h:24: error: expected unqualified-id before '[' token
/usr/include/asm/types.h:24: error: expected ')' before '[' token
[1]:
https://github.com/torvalds/linux/commits/master/arch/s390/include/uapi/asm/types.h
libstdc++-v3/ChangeLog:
* testsuite/17_intro/names.cc: Undefine 'u' on s390*-linux.
---
libstdc++-v3/testsuite/17_intro/names.cc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libstdc++-v3/testsuite/17_intro/names.cc
b/libstdc++-v3/testsuite/17_intro/names.cc
index e94da9defb29..befb5aad2575 100644
--- a/libstdc++-v3/testsuite/17_intro/names.cc
+++ b/libstdc++-v3/testsuite/17_intro/names.cc
@@ -286,6 +286,8 @@
// <sys/ucontext.h> defines fpreg_t::d and fpreg_t::f
#undef d
#undef f
+// <asm/types.h> defines __vector128::u
+#undef u
#endif
#if defined (__linux__) && defined (__sparc__)
--
2.51.0.297.gca2559c1d6