https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104274

--- Comment #3 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
In theory, 

3978                  gimplify_assign (local, parm, &stmts);

ought to be generating a "pl.0 = pl;" assignment, but we're hitting this case
in gimplify_modify_expr:
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV

5927      /* For empty types only gimplify the left hand side and right hand
5928         side as statements and throw away the assignment.  Do this after
5929         gimplify_modify_expr_rhs so we handle TARGET_EXPRs of addressable
5930         types properly.  */
5931      if (is_empty_type (TREE_TYPE (*from_p))
5932          && !want_value
5933          /* Don't do this for calls that return addressable types,
expand_call
5934             relies on those having a lhs.  */
5935          && !(TREE_ADDRESSABLE (TREE_TYPE (*from_p))
5936               && TREE_CODE (*from_p) == CALL_EXPR))
(gdb) 
5937        {
5938          gimplify_stmt (from_p, pre_p);
5939          gimplify_stmt (to_p, pre_p);
5940          *expr_p = NULL_TREE;
5941          return GS_ALL_DONE;
5942        }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Reply via email to