From 5129d2ceee602f1539c4024d081485ea0a7c5f7c Mon Sep 17 00:00:00 2001 From: Andrew Haley Date: Tue, 24 Oct 2000 20:06:13 +0000 Subject: [PATCH] expr.c (do_store_flag): Don't crash if either side of a comparison is error_mark_node. 2000-10-24 Andrew Haley * expr.c (do_store_flag): Don't crash if either side of a comparison is error_mark_node. From-SVN: r37036 --- gcc/ChangeLog | 5 +++++ gcc/expr.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 67586d8a703..729e8899f0f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-10-24 Andrew Haley + + * expr.c (do_store_flag): Don't crash if either side of a + comparison is error_mark_node. + 2000-10-24 Jakub Jelinek * sibcall.c (purge_mem_unchanging_flag): New function. diff --git a/gcc/expr.c b/gcc/expr.c index b030c7a0c29..06aebb6ee8c 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -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);