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:
Jason Merrill 2019-05-22 18:00:14 -04:00 committed by Jason Merrill
parent c652ff8312
commit 5859a68d5f
2 changed files with 8 additions and 2 deletions

View File

@ -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

View File

@ -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. */