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

--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Perhaps gimplify_asm_expr should also reject MODIFY_EXPR:

--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -5210,7 +5210,8 @@ gimplify_asm_expr (tree *expr_p, gimple_seq *pre_p,
gimple_seq *post_p)
      if (TREE_CODE (inputv) == PREDECREMENT_EXPR
          || TREE_CODE (inputv) == PREINCREMENT_EXPR
          || TREE_CODE (inputv) == POSTDECREMENT_EXPR
-         || TREE_CODE (inputv) == POSTINCREMENT_EXPR)
+         || TREE_CODE (inputv) == POSTINCREMENT_EXPR
+         || TREE_CODE (inputv) == MODIFY_EXPR)
        TREE_VALUE (link) = error_mark_node;
      tret = gimplify_expr (&TREE_VALUE (link), pre_p, post_p,
                is_gimple_lvalue, fb_lvalue | fb_mayfail);

Reply via email to