From b419bac76437541dd7887158f0d231dfc2aa4f90 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Thu, 14 Oct 2004 20:49:34 +0100 Subject: [PATCH] eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS), [...]): Disallow -m64. * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS), config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow -m64. testsuite: * gcc.dg/ppc-spe64-1.c: New test. From-SVN: r89048 --- gcc/ChangeLog | 6 ++++++ gcc/config/rs6000/eabispe.h | 4 +++- gcc/config/rs6000/linuxspe.h | 4 +++- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.dg/ppc-spe64-1.c | 6 ++++++ 5 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/ppc-spe64-1.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a685ef6e705a..0a10096f447e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-10-14 Joseph S. Myers + + * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS), + config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow + -m64. + 2004-10-14 Ulrich Weigand * reload.c (find_reloads): When reloading a PLUS with constant diff --git a/gcc/config/rs6000/eabispe.h b/gcc/config/rs6000/eabispe.h index 1551dc1305da..3abad991b741 100644 --- a/gcc/config/rs6000/eabispe.h +++ b/gcc/config/rs6000/eabispe.h @@ -40,7 +40,9 @@ if (rs6000_spe_string == NULL) \ rs6000_spe = 1; \ if (rs6000_isel_string == NULL) \ - rs6000_isel = 1 + rs6000_isel = 1; \ + if (target_flags & MASK_64BIT) \ + error ("-m64 not supported in this configuration") /* The e500 ABI says that either long doubles are 128 bits, or if implemented in any other size, the compiler/linker should error out. diff --git a/gcc/config/rs6000/linuxspe.h b/gcc/config/rs6000/linuxspe.h index 59eb8316f04b..91ad950256e3 100644 --- a/gcc/config/rs6000/linuxspe.h +++ b/gcc/config/rs6000/linuxspe.h @@ -53,7 +53,9 @@ if (rs6000_spe_string == NULL) \ rs6000_spe = 1; \ if (rs6000_isel_string == NULL) \ - rs6000_isel = 1 + rs6000_isel = 1; \ + if (target_flags & MASK_64BIT) \ + error ("-m64 not supported in this configuration") /* The e500 ABI says that either long doubles are 128 bits, or if implemented in any other size, the compiler/linker should error out. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0932934fd73b..e4544974e55e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2004-10-14 Joseph S. Myers + + * gcc.dg/ppc-spe64-1.c: New test. + 2004-10-14 Devang Patel PR 17635 diff --git a/gcc/testsuite/gcc.dg/ppc-spe64-1.c b/gcc/testsuite/gcc.dg/ppc-spe64-1.c new file mode 100644 index 000000000000..8055668d1c14 --- /dev/null +++ b/gcc/testsuite/gcc.dg/ppc-spe64-1.c @@ -0,0 +1,6 @@ +/* Test that SPE targets do not permit -m64. */ +/* Origin: Joseph Myers */ +/* { dg-do compile { target powerpc-*-*spe } } */ +/* { dg-options "-m64" } */ + +/* { dg-error "-m64 not supported in this configuration" "SPE not 64-bit" { target *-*-* } 0 } */