libstdc++: Make testsuite usable with -fno-exceptions
authorJonathan Wakely <jwakely@redhat.com>
Thu, 30 Jul 2020 11:23:54 +0000 (12:23 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Thu, 30 Jul 2020 11:50:02 +0000 (12:50 +0100)
commit4c27c6584d0c15926f57ac40f931e238cf0b3110
tree9b36a440b2c106289b413e3cccb3d19c291f08b8
parent7d4ee8bc5843997cdc4408848ab2d9ec82f085b2
libstdc++: Make testsuite usable with -fno-exceptions

Previously it was not possible to add -fno-exceptions to the testsuite
flags, because some files that are compiled by the v3-build_support
procedure failed with exceptions disabled.

This adjusts those files to still compile without exceptions (with
degraded functionality in some cases).

The sole testcase that explicitly checks for -fno-exceptions has also
been adjusted to use the more robust exceptions_enabled effective-target
keyword from gcc/testsuite/lib/target-supports.exp.

libstdc++-v3/ChangeLog:

* testsuite/23_containers/vector/bool/72847.cc: Use the
exceptions_enabled effective-target keyword instead of
checking for an explicit -fno-exceptions option.
* testsuite/util/testsuite_abi.cc (examine_symbol): Remove
redundant try-catch.
* testsuite/util/testsuite_allocator.h [!__cpp_exceptions]:
Do not define check_allocate_max_size and memory_resource.
* testsuite/util/testsuite_containers.h: Replace comment with
#error if wrong standard dialect used.
* testsuite/util/testsuite_shared.cc: Likewise.
libstdc++-v3/testsuite/23_containers/vector/bool/72847.cc
libstdc++-v3/testsuite/util/testsuite_abi.cc
libstdc++-v3/testsuite/util/testsuite_allocator.h
libstdc++-v3/testsuite/util/testsuite_containers.h
libstdc++-v3/testsuite/util/testsuite_shared.cc