The declaration of the destructor of an invalid class was not properly marked
as noexcept. As a result, the definition of the same destructor, which was
properly implicitly marked as noexcept, would not match the definition.
This would cause the definition CXXDestructorDecl to be matked as invalid
and omited from the AST.
class Invalid { ~Invalid(); UnknownType xx; }; // The constructor definition should not have errors Invalid::~Invalid() {} // Before the patch, the error was error: exception specification in declaration does not match previous declaration