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