mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-21 03:30:26 +08:00
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.
This commit is contained in:
parent
50106208ff
commit
b66b30a807
@ -9,6 +9,12 @@ struct a
|
||||
a () { }
|
||||
|
||||
~a ()
|
||||
#if __cplusplus >= 201103L
|
||||
// Give this destructor a potentially-throwing exception specification so
|
||||
// that we verify std::terminate gets called due to an exception during
|
||||
// unwinding, not just because the destructor is noexcept.
|
||||
noexcept(false)
|
||||
#endif
|
||||
{
|
||||
try
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user