diff options
author | Martin Liska <mliska@suse.cz> | 2022-02-28 11:58:01 +0100 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2022-02-28 13:58:41 +0100 |
commit | 1060d06b4df8836135ed15d020afbd3637dc625b (patch) | |
tree | 84d525726195996f7a1309527c83c5356ca00001 /gcc/main.cc | |
parent | 800b3191c7506259a7452bde26b0b5ca3810c0cd (diff) | |
download | gcc-1060d06b4df8836135ed15d020afbd3637dc625b.zip gcc-1060d06b4df8836135ed15d020afbd3637dc625b.tar.gz gcc-1060d06b4df8836135ed15d020afbd3637dc625b.tar.bz2 |
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.
Diffstat (limited to 'gcc/main.cc')
-rw-r--r-- | gcc/main.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/main.cc b/gcc/main.cc index f9dd6b2..4ba28b7 100644 --- a/gcc/main.cc +++ b/gcc/main.cc @@ -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; } |