]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: Workaround glibc headers on ia64-linux
authorFrank Scheiner <frank.scheiner@web.de>
Tue, 8 Oct 2024 18:48:09 +0000 (19:48 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 9 Oct 2024 13:05:49 +0000 (14:05 +0100)
commitc0bc9a153ae6ab649e2fcc3af53ebcd37df0a871
tree9180698ad96226d47ce233529e67f6b3c4ccc5d5
parentfee3adbac055c3ff2649fed866c66d44ebfcbe90
libstdc++: Workaround glibc headers on ia64-linux

We see:

```
FAIL: 17_intro/names.cc  -std=gnu++17 (test for excess errors)
FAIL: 17_intro/names_pstl.cc  -std=gnu++17 (test for excess errors)
FAIL: experimental/names.cc  -std=gnu++17 (test for excess errors)
```

...on ia64-linux.

This is due to:

* /usr/include/bits/sigcontext.h:32-38:
```
32 struct __ia64_fpreg
33   {
34     union
35       {
36         unsigned long bits[2];
37       } u;
38   } __attribute__ ((__aligned__ (16)));
```

* /usr/include/sys/ucontext.h:39-45:
```
  39 struct __ia64_fpreg_mcontext
  40   {
  41     union
  42       {
  43         unsigned long __ctx(bits)[2];
  44       } __ctx(u);
  45   } __attribute__ ((__aligned__ (16)));
```

...from glibc 2.39 (w/ia64 support re-added). See the discussion
starting on [1].

[1]: https://gcc.gnu.org/pipermail/gcc-patches/2024-June/654487.html

Signed-off-by: Frank Scheiner <frank.scheiner@web.de>
libstdc++-v3/ChangeLog:

* testsuite/17_intro/names.cc [__linux__ && __ia64__]: Undefine
'u' as used in glibc headers.
libstdc++-v3/testsuite/17_intro/names.cc