testsuite: Add noexcept(false) to throwing destructor
authorJonathan Wakely <jwakely@redhat.com>
Fri, 23 Oct 2020 14:03:38 +0000 (15:03 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Fri, 23 Oct 2020 14:03:38 +0000 (15:03 +0100)
commitb66b30a807918ee1cf89b3376bb410b9046639b8
tree77dd2f334e1c360895cacc35ef91ceb6828016a5
parent50106208ff65fe8076329169cd97460a03e27388
testsuite: Add noexcept(false) to throwing destructor

I think this test is intended to check this property of the C++
standard:

"If a destructor directly invoked by stack unwinding exits via an
exception, std::terminate is invoked." [except.throw]

Since C++11 any exception escaping a destructor will call
std::terminate, so the test would terminate even if the unwinding
behaviour was wrong.

Give the destructor a potentially-throwing exception specification,
so that we know that terminate was called for the right reason.

gcc/testsuite/ChangeLog:

* g++.dg/compat/eh/filter2_y.C: Add noexcept(false) to
destructor.
gcc/testsuite/g++.dg/compat/eh/filter2_y.C