aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
authorVolker Reichelt <reichelt@igpm.rwth-aachen.de>2006-08-01 23:45:11 +0000
committerVolker Reichelt <reichelt@gcc.gnu.org>2006-08-01 23:45:11 +0000
commit413803d3d8166febfdde1cceb9f81807d429f01e (patch)
tree0eb145643527d321f335c44b085ee5a642fe2c2f /gcc/cgraphunit.c
parentd2b815074b745370cc5ebb541dcf41b52ea8c648 (diff)
downloadgcc-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.c6
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