We have recently added the predefined macro __S390_ARCH_LEVEL__ to expand to a numerical value representing the architecture document level currently in use. However, the IBM XL compiler already has a macro named __ARCH__ for that purpose. So we change our macro to that in order to improve portability.
gcc/ChangeLog: 2017-01-31 Andreas Krebbel <kreb...@linux.vnet.ibm.com> * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename __S390_ARCH_LEVEL__ to __ARCH__. gcc/testsuite/ChangeLog: 2017-01-31 Andreas Krebbel <kreb...@linux.vnet.ibm.com> * gcc.target/s390/s390.exp: Rename __S390_ARCH_LEVEL__ to __ARCH__. --- gcc/config/s390/s390-c.c | 4 ++-- gcc/testsuite/gcc.target/s390/s390.exp | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/gcc/config/s390/s390-c.c b/gcc/config/s390/s390-c.c index bf84269..8f184ea 100644 --- a/gcc/config/s390/s390-c.c +++ b/gcc/config/s390/s390-c.c @@ -340,8 +340,8 @@ s390_cpu_cpp_builtins_internal (cpp_reader *pfile, arch_level--; /* Review when a new arch is added and increase the value. */ char dummy[23 - 2 * PROCESSOR_max] __attribute__((unused)); - sprintf (macro_def, "__S390_ARCH_LEVEL__=%d", arch_level); - cpp_undef (pfile, "__S390_ARCH_LEVEL__"); + sprintf (macro_def, "__ARCH__=%d", arch_level); + cpp_undef (pfile, "__ARCH__"); cpp_define (pfile, macro_def); } diff --git a/gcc/testsuite/gcc.target/s390/s390.exp b/gcc/testsuite/gcc.target/s390/s390.exp index c74d659..107ba98 100644 --- a/gcc/testsuite/gcc.target/s390/s390.exp +++ b/gcc/testsuite/gcc.target/s390/s390.exp @@ -100,19 +100,19 @@ proc check_effective_target_s390_useable_hw { } { int main (void) { asm (".machinemode zarch" : : ); - #if __S390_ARCH_LEVEL__ >= 11 + #if __ARCH__ >= 11 asm ("lcbb %%r2,0(%%r15),0" : : ); - #elif __S390_ARCH_LEVEL__ >= 10 + #elif __ARCH__ >= 10 asm ("risbgn %%r2,%%r2,0,0,0" : : ); - #elif __S390_ARCH_LEVEL__ >= 9 + #elif __ARCH__ >= 9 asm ("sgrk %%r2,%%r2,%%r2" : : ); - #elif __S390_ARCH_LEVEL__ >= 8 + #elif __ARCH__ >= 8 asm ("rosbg %%r2,%%r2,0,0,0" : : ); - #elif __S390_ARCH_LEVEL__ >= 7 + #elif __ARCH__ >= 7 asm ("nilf %%r2,0" : : ); - #elif __S390_ARCH_LEVEL__ >= 6 + #elif __ARCH__ >= 6 asm ("lay %%r2,0(%%r15)" : : ); - #elif __S390_ARCH_LEVEL__ >= 5 + #elif __ARCH__ >= 5 asm ("tam" : : ); #endif #ifdef __HTM__ -- 2.9.1