On Mon, 13 Jan 2025 at 11:03, Thomas Schwinge <[email protected]> wrote:
>
> Hi!
>
> On 2025-01-12T08:38:05+0100, Torbjorn SVENSSON
> <[email protected]> wrote:
> > On 2025-01-12 01:05, Jonathan Wakely wrote:
> >> On Mon, 23 Dec 2024, 19:05 Torbjörn SVENSSON,
> >> <[email protected] <mailto:[email protected]>>
> >> wrote:
> >>
> >> Ok for trunk and releases/gcc-14?
> >>
> >> OK
> >
> > Pushed as r15-6828-g4b0ef49d02f and r14.2.0-680-gd82fc939f91.
>
> On a configuration where libatomic does get built, I see (with standard
Does *not* get built?
> build-tree testing: 'make check'):
>
> [-PASS:-]{+UNSUPPORTED:+}
> 29_atomics/atomic_float/compare_exchange_padding.cc -std=gnu++20[-(test for
> excess errors)-]
> [-PASS: 29_atomics/atomic_float/compare_exchange_padding.cc -std=gnu++20
> execution test-]
> [Etc.]
>
> [...]
> spawn -ignore SIGHUP [...]/gcc/xg++ [...] libatomic_available1221570.c
> -latomic [...] -o libatomic_available1221570.exe
> /usr/bin/ld: cannot find -latomic: No such file or directory
> [...]
>
> I presume that the new 'dg-require-effective-target libatomic_available'
> is evaluated when the 'atomic_link_flags' via 'dg-additional-options'
> have not yet been set?
>
> Would it work to call 'atomic_init' (plus 'atomic_finish', I suppose?)
> (see 'gcc/testsuite/lib/atomic-dg.exp') in libstdc++ test suite setup,
> and then to '29_atomics/atomic_float/compare_exchange_padding.cc' apply
> the usual pattern:
>
> -// { dg-require-effective-target libatomic_available }
> -// { dg-additional-options "[atomic_link_flags [get_multilibs]]
> -latomic" }
> +// { dg-additional-options -latomic { target libatomic_available } }
Yes that seems OK