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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-09-06 
14:08:31 UTC ---
We expand __builtin_va_end as

/* Expand EXP, a call to __builtin_va_end.  */

static rtx
expand_builtin_va_end (tree exp)
{
  tree valist = CALL_EXPR_ARG (exp, 0);

  /* Evaluate for side effects, if needed.  I hate macros that don't
     do that.  */
  if (TREE_SIDE_EFFECTS (valist))
    expand_expr (valist, const0_rtx, VOIDmode, EXPAND_NORMAL);

  return const0_rtx;
}

thus, it has no side-effects (apart from those of its argument).  It's
simply dropped...

Attached patch is already applied.

Mine.

Reply via email to