expr.c (do_store_flag): Don't crash if either side of a comparison is error_mark_node.

2000-10-24  Andrew Haley  <aph@cygnus.co.uk>

        * expr.c (do_store_flag): Don't crash if either side of a
        comparison is error_mark_node.

From-SVN: r37036
This commit is contained in:
Andrew Haley 2000-10-24 20:06:13 +00:00 committed by Andrew Haley
parent dcc41852e1
commit 5129d2ceee
2 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2000-10-24 Andrew Haley <aph@cygnus.co.uk>
* expr.c (do_store_flag): Don't crash if either side of a
comparison is error_mark_node.
2000-10-24 Jakub Jelinek <jakub@redhat.com>
* sibcall.c (purge_mem_unchanging_flag): New function.

View File

@ -10133,6 +10133,11 @@ do_store_flag (exp, target, mode, only_cheap)
arg0 = TREE_OPERAND (exp, 0);
arg1 = TREE_OPERAND (exp, 1);
/* Don't crash if the comparison was erroneous. */
if (arg0 == error_mark_node || arg1 == error_mark_node)
return const0_rtx;
type = TREE_TYPE (arg0);
operand_mode = TYPE_MODE (type);
unsignedp = TREE_UNSIGNED (type);