http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48530

--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> 2011-04-27 23:07:09 
UTC ---
(In reply to comment #4)
> The issue noticed by Daniel in Comment #3 seems simple: happens only with
> checking enabled and disappears with the below (which passes testing).
> 
> Jason, if you want, I can handle this.
> 
> /////////////
> 
> Index: tree.c
> ===================================================================
> --- tree.c    (revision 173048)
> +++ tree.c    (working copy)
> @@ -456,6 +456,9 @@ build_cplus_new (tree type, tree init, tsubst_flag
>      return rval;
> 
>    rval = build_target_expr (slot, rval, complain);
> +  if (rval == error_mark_node)
> +    return error_mark_node;
> +
>    TARGET_EXPR_IMPLICIT_P (rval) = 1;
> 
>    return rval;

Why not just

if (rval != error_mark_node)
  TARGET_EXPR_IMPLICIT_P (rval) = 1;

return rval;

Reply via email to