From 06866a732572672982d3a22fdec8ae6ac700d281 Mon Sep 17 00:00:00 2001 From: Volker Reichelt Date: Thu, 20 Apr 2006 16:19:21 +0000 Subject: [PATCH] re PR c++/26789 (ICE on incomplete struct with -fmudflap) PR mudflap/26789 * tree-mudflap.c (mudflap_finish_file): Skip function when there were errors. Remove check for erroneous objects. From-SVN: r113121 --- gcc/ChangeLog | 6 ++++++ gcc/tree-mudflap.c | 7 ++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8241b9882e1..164b3e34be9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-04-20 Volker Reichelt + + PR mudflap/26789 + * tree-mudflap.c (mudflap_finish_file): Skip function when there + were errors. Remove check for erroneous objects. + 2006-04-20 Jeff Law PR tree-optimization/26854 diff --git a/gcc/tree-mudflap.c b/gcc/tree-mudflap.c index 1a62859e6f1..ed5ef4867da 100644 --- a/gcc/tree-mudflap.c +++ b/gcc/tree-mudflap.c @@ -1232,6 +1232,10 @@ mudflap_finish_file (void) { tree ctor_statements = NULL_TREE; + /* No need to continue when there were errors. */ + if (errorcount != 0 || sorrycount != 0) + return; + /* Insert a call to __mf_init. */ { tree call2_stmt = build_function_call_expr (mf_init_fndecl, NULL_TREE); @@ -1256,9 +1260,6 @@ mudflap_finish_file (void) { gcc_assert (DECL_P (obj)); - if (TREE_TYPE (obj) == error_mark_node) - continue; - if (mf_marked_p (obj)) continue; -- 2.30.2