diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7366aaa65f11043e5ac7c1691232d2c7629ec7d3..ad2449dc2af1b1db2328759f0332c51cd18219a5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,16 @@ +2004-03-10 David Edelsohn <edelsohn@gnu.org> + + * config/rs6000/aix.h (TARGET_OS_CPP_BUILTINS): Rename to ... + (TARGET_OS_AIX_CPP_BUILTINS): this. Conditionally define + __LONGDOUBLE128. + * config/rs6000/aix41.h (TARGET_OS_CPP_BUILTINS): Use + TARGET_OS_AIX_CPP_BUILTINS. + * config/rs6000/aix43.h (TARGET_OS_CPP_BUILTINS): Same. + * config/rs6000/aix51.h (TARGET_OS_CPP_BUILTINS): Same. + * config/rs6000/aix52.h (TARGET_OS_CPP_BUILTINS): Same. + * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Revert + previous change. + 2004-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * fold-const.c (tree_expr_nonnegative_p): Add more builtin cases. diff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h index f189407b3f48102cd1c5fc9ee9e6970d061d97c1..c530f988e2511fc58e5dd7bd4d8ad3f7adfb3898 100644 --- a/gcc/config/rs6000/aix.h +++ b/gcc/config/rs6000/aix.h @@ -58,19 +58,20 @@ #define LINK_LIBGCC_SPECIAL_1 /* Names to predefine in the preprocessor for this target machine. */ -#define TARGET_OS_CPP_BUILTINS() \ - do \ - { \ - builtin_define ("_IBMR2"); \ - builtin_define ("_POWER"); \ - builtin_define ("_AIX"); \ - builtin_define ("_AIX32"); \ - builtin_define ("_LONG_LONG"); \ - builtin_assert ("system=unix"); \ - builtin_assert ("system=aix"); \ - builtin_assert ("cpu=rs6000"); \ - builtin_assert ("machine=rs6000"); \ - } \ +#define TARGET_OS_AIX_CPP_BUILTINS() \ + do \ + { \ + builtin_define ("_IBMR2"); \ + builtin_define ("_POWER"); \ + builtin_define ("_AIX"); \ + builtin_define ("_AIX32"); \ + builtin_define ("_AIX41"); \ + builtin_define ("_LONG_LONG"); \ + if (TARGET_LONG_DOUBLE_128) \ + builtin_define ("__LONGDOUBLE128"); \ + builtin_assert ("system=unix"); \ + builtin_assert ("system=aix"); \ + } \ while (0) /* Define appropriate architecture macros for preprocessor depending on diff --git a/gcc/config/rs6000/aix41.h b/gcc/config/rs6000/aix41.h index 373c10c22ffaca7f48c9b0fd1f9539ad341510fe..b362e531bc2a9aa1423ae5f6577b7f4d36fbbf2c 100644 --- a/gcc/config/rs6000/aix41.h +++ b/gcc/config/rs6000/aix41.h @@ -33,18 +33,11 @@ #define ASM_DEFAULT_SPEC "-mcom" #undef TARGET_OS_CPP_BUILTINS -#define TARGET_OS_CPP_BUILTINS() \ - do \ - { \ - builtin_define ("_IBMR2"); \ - builtin_define ("_POWER"); \ - builtin_define ("_AIX"); \ - builtin_define ("_AIX32"); \ - builtin_define ("_AIX41"); \ - builtin_define ("_LONG_LONG"); \ - builtin_assert ("system=unix"); \ - builtin_assert ("system=aix"); \ - } \ +#define TARGET_OS_CPP_BUILTINS() \ + do \ + { \ + TARGET_OS_AIX_CPP_BUILTINS (); \ + } \ while (0) #undef CPP_SPEC diff --git a/gcc/config/rs6000/aix43.h b/gcc/config/rs6000/aix43.h index a76e694c1ee71dca295c44f9d7acb890da4f0e8b..3602bcbe081a7034bf36fb654d9099682d2c12fb 100644 --- a/gcc/config/rs6000/aix43.h +++ b/gcc/config/rs6000/aix43.h @@ -96,19 +96,12 @@ do { \ #define ASM_DEFAULT_SPEC "-mcom" #undef TARGET_OS_CPP_BUILTINS -#define TARGET_OS_CPP_BUILTINS() \ - do \ - { \ - builtin_define ("_IBMR2"); \ - builtin_define ("_POWER"); \ - builtin_define ("_AIX"); \ - builtin_define ("_AIX32"); \ - builtin_define ("_AIX41"); \ - builtin_define ("_AIX43"); \ - builtin_define ("_LONG_LONG"); \ - builtin_assert ("system=unix"); \ - builtin_assert ("system=aix"); \ - } \ +#define TARGET_OS_CPP_BUILTINS() \ + do \ + { \ + builtin_define ("_AIX43"); \ + TARGET_OS_AIX_CPP_BUILTINS (); \ + } \ while (0) #undef CPP_SPEC diff --git a/gcc/config/rs6000/aix51.h b/gcc/config/rs6000/aix51.h index f5bcfd339ab49b44dd64ea8d7cb042aebd00db02..266dc699c3be8506706b0e367a3218b7689f7b47 100644 --- a/gcc/config/rs6000/aix51.h +++ b/gcc/config/rs6000/aix51.h @@ -96,20 +96,13 @@ do { \ #define ASM_DEFAULT_SPEC "-mcom" #undef TARGET_OS_CPP_BUILTINS -#define TARGET_OS_CPP_BUILTINS() \ - do \ - { \ - builtin_define ("_IBMR2"); \ - builtin_define ("_POWER"); \ - builtin_define ("_LONG_LONG"); \ - builtin_define ("_AIX"); \ - builtin_define ("_AIX32"); \ - builtin_define ("_AIX41"); \ - builtin_define ("_AIX43"); \ - builtin_define ("_AIX51"); \ - builtin_assert ("system=unix"); \ - builtin_assert ("system=aix"); \ - } \ +#define TARGET_OS_CPP_BUILTINS() \ + do \ + { \ + builtin_define ("_AIX43"); \ + builtin_define ("_AIX51"); \ + TARGET_OS_AIX_CPP_BUILTINS (); \ + } \ while (0) #undef CPP_SPEC diff --git a/gcc/config/rs6000/aix52.h b/gcc/config/rs6000/aix52.h index 485151cd61e1bd67a5a3982e17a059128b181887..196854652d08cab0bc03e398faee5bffb3967f5d 100644 --- a/gcc/config/rs6000/aix52.h +++ b/gcc/config/rs6000/aix52.h @@ -83,21 +83,14 @@ do { \ #define ASM_DEFAULT_SPEC "-mppc" #undef TARGET_OS_CPP_BUILTINS -#define TARGET_OS_CPP_BUILTINS() \ - do \ - { \ - builtin_define ("_IBMR2"); \ - builtin_define ("_POWER"); \ - builtin_define ("_LONG_LONG"); \ - builtin_define ("_AIX"); \ - builtin_define ("_AIX32"); \ - builtin_define ("_AIX41"); \ - builtin_define ("_AIX43"); \ - builtin_define ("_AIX51"); \ - builtin_define ("_AIX52"); \ - builtin_assert ("system=unix"); \ - builtin_assert ("system=aix"); \ - } \ +#define TARGET_OS_CPP_BUILTINS() \ + do \ + { \ + builtin_define ("_AIX43"); \ + builtin_define ("_AIX51"); \ + builtin_define ("_AIX52"); \ + TARGET_OS_AIX_CPP_BUILTINS (); \ + } \ while (0) #undef CPP_SPEC diff --git a/gcc/config/rs6000/rs6000-c.c b/gcc/config/rs6000/rs6000-c.c index 646b0c2e5853bd9c22ff977cfde956d0732f69c4..5d36d5d28b378d6e9b1c5484c91681e2c83db5b2 100644 --- a/gcc/config/rs6000/rs6000-c.c +++ b/gcc/config/rs6000/rs6000-c.c @@ -113,11 +113,7 @@ rs6000_cpu_cpp_builtins (cpp_reader *pfile) RS6000_CPU_CPP_ENDIAN_BUILTINS(); if (TARGET_LONG_DOUBLE_128) - { - builtin_define ("__LONG_DOUBLE_128__"); - if (TARGET_AIX && TARGET_XCOFF) - builtin_define ("__LONGDOUBLE128"); - } + builtin_define ("__LONG_DOUBLE_128__"); switch (rs6000_current_abi) {