gimplify.c (gimplify_cond_expr): Don't check TREE_ADDRESSABLE.
* gimplify.c (gimplify_cond_expr): Don't check TREE_ADDRESSABLE. The front end shouldn't produce a GENERIC COND_EXPR of TREE_ADDRESSABLE type. From-SVN: r271524
This commit is contained in:
parent
c652ff8312
commit
5859a68d5f
@ -1,3 +1,7 @@
|
||||
2019-05-22 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* gimplify.c (gimplify_cond_expr): Don't check TREE_ADDRESSABLE.
|
||||
|
||||
2019-05-22 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR target/88483
|
||||
|
@ -3990,10 +3990,12 @@ gimplify_cond_expr (tree *expr_p, gimple_seq *pre_p, fallback_t fallback)
|
||||
tree result;
|
||||
|
||||
/* If either an rvalue is ok or we do not require an lvalue, create the
|
||||
temporary. But we cannot do that if the type is addressable. */
|
||||
temporary. We cannot do that if the type is addressable, but
|
||||
that should have been avoided before we got here. */
|
||||
if (((fallback & fb_rvalue) || !(fallback & fb_lvalue))
|
||||
&& !TREE_ADDRESSABLE (type))
|
||||
&& (flag_checking || !TREE_ADDRESSABLE (type)))
|
||||
{
|
||||
gcc_assert (!TREE_ADDRESSABLE (type));
|
||||
if (gimplify_ctxp->allow_rhs_cond_expr
|
||||
/* If either branch has side effects or could trap, it can't be
|
||||
evaluated unconditionally. */
|
||||
|
Loading…
Reference in New Issue
Block a user