This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problem with std_expand_builtin_va_start on targets where sizetype and ptr_type_node don't have the same mode


"Zack Weinberg" <zackw@panix.com> writes:

> On 05 Jul 2007 18:22:50 -0700, Ian Lance Taylor <iant@google.com> wrote:
> > "Zack Weinberg" <zackw@panix.com> writes:
> >
> > [std_expand_builtin_va_start]
> >
> > >   rtx va_r = expand_normal (valist);
> > >   emit_move_insn (va_r, nextarg);
> > >
> > > but this is a part of the compiler I am not at all familiar with...
> >
> > I think you would want something more like
> >     rtx va_r = expand_expr (valist, NULL_RTX, VOIDmode, EXPAND_WRITE);
> >     convert_move (va_r, nextarg, 0);
> 
> No regressions on arm-elf (simulator, default and -mthumb); in fact,
> execute/20040709-1.c stops ICEing at -O3 -fomit-frame-pointer, but I
> think this is spurious, as that test has no variadic functions in it.
> OK to commit?

Yes, this is OK.  Thanks for testing it.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]