On 06/19/2013 08:22 PM, Paolo Carlini wrote:
If, in check_bases_and_members, I simply move
deduce_noexcept_on_destructors after check_methods and nothing else, all
the new testcases are fine + the tests added for Core/1123, but there
are regressions, for example for testcases involving virtual
destructors, eg, debug/dwarf2/non-virtual-thunk.C.
Probably because we need to update the exception specification before we
check for overrides, since that check will look at the exception
specification.
Let's move
if (DECL_DESTRUCTOR_P (x) && user_provided_p (x))
TYPE_HAS_NONTRIVIAL_DESTRUCTOR (t) = 1;
to the top of the loop in check_methods, and call
deduce_noexcept_on_destructor under the same if.
Jason