On 17.06.24 20:53, Jonathan Wakely wrote:
On Mon, 17 Jun 2024 at 19:03, Joseph Myers <josmy...@redhat.com> wrote:

On Fri, 14 Jun 2024, Jonathan Wakely wrote:

Both, ideally. The libstdc++ test should definitely be fixed because
it fails with released versions of glibc already in the wild. But
glibc should also be fixed because it's a standards conformance issue.

The __ctx macro used in various sys/ucontext.h headers prepends __ in
standards conformance modes (the point being to avoid breaking the API
outside such modes when we fixed the namespace issues).

#ifdef __USE_MISC
# define __ctx(fld) fld
#else
# define __ctx(fld) __ ## fld
#endif

(bits/sigcontext.h didn't get any such fixes as it's not included at all
in standards conformance modes, only if __USE_MISC.)

I see, thanks. So it's not a problem in C, only in C++ due to G++
defining _GNU_SOURCE.

Let's just change the libstdc++ tests then.

Great, I did test that patched in the same way as in [1] on Friday. It
makes the three failing tests pass:

```
# make check-target-libstdc++-v3
RUNTESTFLAGS="conformance.exp=17_intro/names*\ experimental/names.cc"

Test run by root on Fri Jun 14 16:04:26 2024
Native configuration is ia64-t2-linux-gnu

                === libstdc++ tests ===

Schedule of variations:
    unix

Running target unix
Running
/dev/shm/gcc-15-lra/src.gcc.ia64-toolchain-3.240529.123346.921189/gcc/libstdc++-v3/testsuite/libstdc++-dg/conformance.exp
...
PASS: 17_intro/names.cc  -std=gnu++17 (test for excess errors)
PASS: 17_intro/names_pstl.cc  -std=gnu++17 (test for excess errors)
PASS: experimental/names.cc  -std=gnu++17 (test for excess errors)

                === libstdc++ Summary ===

# of expected passes            3
```

[1]:
https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=cf5f7791056b3ed993bc8024be767a86157514a9

You most likely want the workaround as separate patch on this list, as
the failures were happening for both the non-LRA and LRA case, right?

Cheers,
Frank

Reply via email to