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

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The problem is here:
      /* Also strip a TARGET_EXPR that would force an extra copy.  */
      if (TREE_CODE (*arg_p) == TARGET_EXPR)
        {
          tree init = TARGET_EXPR_INITIAL (*arg_p);
          if (init
              && !VOID_TYPE_P (TREE_TYPE (init)))
            *arg_p = init;
        }

--- CUT ---
We don't do what gimplify_target_expr does:
      /* Add a clobber for the temporary going out of scope, like
         gimplify_bind_expr.  */

Reply via email to