[RFC/RFT PATCH, middle end]: Fix PR 34621, [4.3 Regression] gcc.c-torture/execute/va-arg-25.c:32: internal compiler error: in expand_call, at calls.c:2785

Uros Bizjak ubizjak@gmail.com
Fri Feb 15 08:15:00 GMT 2008


On Thu, Feb 14, 2008 at 6:04 PM, Uros Bizjak <ubizjak@gmail.com> wrote:

>  Patch was bootstrapped and regression tested on i686-pc-linux-gnu and
>  x86_64-pc-linux-gnu. Also, I have compiled and successfully executed
>  va-arg-25.c with STACK_BOUNDARY set to 128. For added fun, it also works
>  when integer va-arguments are changed to double, so I'm pretty confident
>  in this patch.
>
>  While I believe that the patch is correct, I don't have
>  i686-apple-darwin target (or PPC that could also be affected) here to
>  fully test this change. Volunteers are welcome...

To quote Comment #34:

 ------- Comment #34 From Dominique d'Humieres  2008-02-15 07:21
[reply] -------

With the patch in http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00507.html, the
PR is fixed without regression on intel(32/64 bit) and ppc(32 bit) darwin9.
I'll post the test results ASAP.

---endquote---

OTOH, the test for STACK_BOUNDARY can simply be removed, because
PARM_BOUNDARY is always equal or smaller than STACK_BOUNDARY. I have checked
all targets, and this is true everywhere. So the updated patch:

2008-02-15  Uros Bizjak  <ubizjak@gmail.com>

       PR middle-end/34621
       * function.c (pad_to_arg_alignment): Remove test for STACK_BOUNDARY when
       calculating alignment_pad.

OK for mainline?

Uros.



More information about the Gcc-patches mailing list