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
This commit is contained in:
Volker Reichelt 2006-04-20 16:19:21 +00:00 committed by Volker Reichelt
parent bfc646bfc0
commit 06866a7325
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2006-04-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
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 <law@redhat.com> 2006-04-20 Jeff Law <law@redhat.com>
PR tree-optimization/26854 PR tree-optimization/26854

View File

@ -1232,6 +1232,10 @@ mudflap_finish_file (void)
{ {
tree ctor_statements = NULL_TREE; 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. */ /* Insert a call to __mf_init. */
{ {
tree call2_stmt = build_function_call_expr (mf_init_fndecl, NULL_TREE); 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)); gcc_assert (DECL_P (obj));
if (TREE_TYPE (obj) == error_mark_node)
continue;
if (mf_marked_p (obj)) if (mf_marked_p (obj))
continue; continue;