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

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #3)
> Here is the simple fix, I will submit it this weekend.
> [apinski@xeond2 gcc]$ git diff
> diff --git a/gcc/gimplify.cc b/gcc/gimplify.cc
> index f0fbdb48012..d9ada8e0f9e 100644
> --- a/gcc/gimplify.cc
> +++ b/gcc/gimplify.cc
> @@ -6012,6 +6012,11 @@ gimplify_modify_expr (tree *expr_p, gimple_seq
> *pre_p, gimple_seq *post_p,
>    gcc_assert (TREE_CODE (*expr_p) == MODIFY_EXPR
>               || TREE_CODE (*expr_p) == INIT_EXPR);
> 
> +  if (TREE_TYPE (*from_p) == error_mark_node)

  if (error_operand_p (*from_p))


> +    return GS_ERROR;
> +  if (TREE_TYPE (*to_p) == error_mark_node)
> +    return GS_ERROR;
> +
>    /* Trying to simplify a clobber using normal logic doesn't work,
>       so handle it here.  */
>    if (TREE_CLOBBER_P (*from_p))

Reply via email to