Fix error recovery in toplev::finalize.
PR ipa/104648 gcc/ChangeLog: * main.cc (main): Use flag_checking instead of CHECKING_P and run toplev::finalize only if there is not error seen. gcc/testsuite/ChangeLog: * g++.dg/pr104648.C: New test.
This commit is contained in:
parent
800b3191c7
commit
1060d06b4d
|
@ -37,9 +37,9 @@ main (int argc, char **argv)
|
|||
true /* init_signals */);
|
||||
|
||||
int r = toplev.main (argc, argv);
|
||||
#if CHECKING_P
|
||||
toplev.finalize ();
|
||||
#endif
|
||||
|
||||
if (flag_checking && !seen_error ())
|
||||
toplev.finalize ();
|
||||
|
||||
return r;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
// { dg-do compile }
|
||||
// { dg-options "-fvtable-verify=preinit" }
|
||||
|
||||
struct A {};
|
||||
struct B : virtual A
|
||||
{
|
||||
B () {};
|
||||
B () {}; /* { dg-error "cannot be overloaded with" } */
|
||||
};
|
Loading…
Reference in New Issue