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] | |
Andrew Pinski/R&D/SCEA wrote on 05/15/2007 02:38:59 PM:
> Hi,
> THe issue is here is mostly PLUS_EXPR was being used for pointer
addition which is no longer valid. This fixes those cases in both the
rs6000 backend and one more case in the fortran front-end. The stdargs
testcase was failing because I changed tree-stdarg.c too much to check for
POINTER_PLUS_EXPR when it should check for both. This patch fixes those
three problems.
>
> Committed to the branch after a bootstrap/test on powerpc64-linux-gnu
with no regressions.
>
> Thanks,
> Andrew Pinski
>
> ChangeLog:
> * config/rs6000/rs6000.c (rs6000_va_start): Use POINTER_PLUS_EXPR
> instead of PLUS_EXPR for pointer addition.
> (rs6000_va_start): Likewise.
> Also use sizetype for the offset.
> * tree-stdarg.c (va_list_counter_bump): Check for PLUS_EXPR
> and POINTER_PLUS_EXPR.
> (check_va_list_escapes): Likewise.
I forgot the fortran part of the changelog:
fortran/ChangeLog:
* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
POINTER_PLUS_EXPR
instead of PLUS_EXPR for pointer addition.
Sorry about that,
Andrew Pinski
Attachment:
fixppc64.diff.txt
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |