diff options
-rw-r--r-- | gcc/gimplify.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/gimplify.cc b/gcc/gimplify.cc index 250782b..c9c800a 100644 --- a/gcc/gimplify.cc +++ b/gcc/gimplify.cc @@ -17098,6 +17098,9 @@ gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p, Compare scalar mode aggregates as scalar mode values. Using memcmp for them would be very inefficient at best, and is plain wrong if bitfields are involved. */ + if (error_operand_p (TREE_OPERAND (*expr_p, 1))) + ret = GS_ERROR; + else { tree type = TREE_TYPE (TREE_OPERAND (*expr_p, 1)); @@ -17122,9 +17125,8 @@ gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p, ret = gimplify_scalar_mode_aggregate_compare (expr_p); else ret = gimplify_variable_sized_compare (expr_p); - - break; } + break; /* If *EXPR_P does not need to be special-cased, handle it according to its class. */ |