diff options
author | Volker Reichelt <reichelt@igpm.rwth-aachen.de> | 2006-04-20 16:19:21 +0000 |
---|---|---|
committer | Volker Reichelt <reichelt@gcc.gnu.org> | 2006-04-20 16:19:21 +0000 |
commit | 06866a732572672982d3a22fdec8ae6ac700d281 (patch) | |
tree | 47c0c5b95d88fc3848ab235c8fef9c9b3a0e6a72 /gcc/tree-mudflap.c | |
parent | bfc646bfc0fe67e0665c2cb2d350339cc10f0b7d (diff) | |
download | gcc-06866a732572672982d3a22fdec8ae6ac700d281.zip gcc-06866a732572672982d3a22fdec8ae6ac700d281.tar.gz gcc-06866a732572672982d3a22fdec8ae6ac700d281.tar.bz2 |
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
Diffstat (limited to 'gcc/tree-mudflap.c')
-rw-r--r-- | gcc/tree-mudflap.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/tree-mudflap.c b/gcc/tree-mudflap.c index 1a62859..ed5ef48 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; |