middle-end/107994 - ICE after error with comparison gimplification
The following avoids passing down error_mark_node to fold_convert. PR middle-end/107994 * gimplify.cc (gimplify_expr): Catch errorneous comparison operand.
This commit is contained in:
parent
89ba8366fe
commit
845b514e8a
1 changed files with 4 additions and 2 deletions
|
@ -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. */
|
||||
|
|
Loading…
Add table
Reference in a new issue