diff options
author | Volker Reichelt <reichelt@igpm.rwth-aachen.de> | 2006-08-01 23:45:11 +0000 |
---|---|---|
committer | Volker Reichelt <reichelt@gcc.gnu.org> | 2006-08-01 23:45:11 +0000 |
commit | 413803d3d8166febfdde1cceb9f81807d429f01e (patch) | |
tree | 0eb145643527d321f335c44b085ee5a642fe2c2f /gcc/cgraphunit.c | |
parent | d2b815074b745370cc5ebb541dcf41b52ea8c648 (diff) | |
download | gcc-413803d3d8166febfdde1cceb9f81807d429f01e.zip gcc-413803d3d8166febfdde1cceb9f81807d429f01e.tar.gz gcc-413803d3d8166febfdde1cceb9f81807d429f01e.tar.bz2 |
re PR c++/28250 (ICE with invalid catch)
PR c++/28250
PR c++/28257
PR c++/28259
PR c++/28267
* toplev.c (compile_file): Return early on errorcount or sorrycount.
* cgraphunit.c (cgraph_finalize_compilation_unit): Likewise.
(cgraph_optimize): Likewise.
PR c++/28250
* g++.dg/eh/catch4.C: New test.
PR c++/28257
* g++.dg/other/qual1.C: New test.
PR c++/28259
* g++.dg/inherit/error2.C: New test.
PR c++/28267
* g++.dg/other/new1.C: New test.
* g++.dg/warn/pr23075.C: Remove obsolete test.
* g++.old-deja/g++.brendan/crash52.C: Remove dg-warning marker.
* g++.old-deja/g++.jason/report.C: Remove dg-warning marker.
From-SVN: r115866
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r-- | gcc/cgraphunit.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 606cd75..2568502 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -1018,6 +1018,9 @@ cgraph_finalize_compilation_unit (void) static struct cgraph_node *first_analyzed; static struct cgraph_varpool_node *first_analyzed_var; + if (errorcount || sorrycount) + return; + finish_aliases_1 (); if (!flag_unit_at_a_time) @@ -1466,6 +1469,9 @@ ipa_passes (void) void cgraph_optimize (void) { + if (errorcount || sorrycount) + return; + #ifdef ENABLE_CHECKING verify_cgraph (); #endif |