atomic_float/value_init.cc requires libatomic on some targets, i.e., when it tries to perform an atomic operation with a 64 bit floating point double type on a 32 bit target. This patch adds AIX to the list of targets that require the libatomic option and adds the option to the atomic_float/value_init.cc testcase.
Bootstrapped on powerpc-ibm-aix7.2.0.0 Okay? Thanks, David 2020-07-28 David Edelsohn <dje....@gmail.com> Jonathan Wakely <jwak...@redhat.com> * testsuite/lib/dg-options.exp (add_options_for_libatomic): Add target powerpc-ibm-aix*. * testsuite/29_atomics/atomic_float/value_init.cc: Add options for libatomic. diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_float/value_init.cc b/libstdc++-v3/testsuite/29_atomics/atomic_float/value_init.cc index 237c0dd13ed..38af9bdc8d4 100644 --- a/libstdc++-v3/testsuite/29_atomics/atomic_float/value_init.cc +++ b/libstdc++-v3/testsuite/29_atomics/atomic_float/value_init.cc @@ -17,6 +17,7 @@ // { dg-options "-std=gnu++2a" } // { dg-do run { target c++2a } } +// { dg-add-options libatomic } #include <atomic> #include <testsuite_hooks.h> diff --git a/libstdc++-v3/testsuite/lib/dg-options.exp b/libstdc++-v3/testsuite/lib/dg-options.exp index 9bfae71adf3..bf6219c3042 100644 --- a/libstdc++-v3/testsuite/lib/dg-options.exp +++ b/libstdc++-v3/testsuite/lib/dg-options.exp @@ -260,7 +260,8 @@ proc add_options_for_net_ts { flags } { # Add to FLAGS all the target-specific flags to link to libatomic, if required. proc add_options_for_libatomic { flags } { - if { [istarget hppa*-*-hpux*] || [istarget riscv*-*-*] } { + if { [istarget hppa*-*-hpux*] || [istarget riscv*-*-*] + || [istarget powerpc-ibm-aix*] } { return "$flags -L../../libatomic/.libs -latomic" } return $flags