aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2004-10-14 20:49:34 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2004-10-14 20:49:34 +0100
commitb419bac76437541dd7887158f0d231dfc2aa4f90 (patch)
tree83879e3b08938947ffe10b507adda4454e793824 /gcc
parentd58005c7d647a2c0ae5f842c34792f2582879e10 (diff)
downloadgcc-b419bac76437541dd7887158f0d231dfc2aa4f90.zip
gcc-b419bac76437541dd7887158f0d231dfc2aa4f90.tar.gz
gcc-b419bac76437541dd7887158f0d231dfc2aa4f90.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/eabispe.h4
-rw-r--r--gcc/config/rs6000/linuxspe.h4
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/ppc-spe64-1.c6
5 files changed, 22 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a685ef6..0a10096 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
+
+ * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
+ config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
+ -m64.
+
2004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
* 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 1551dc1..3abad99 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 59eb831..91ad950 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 0932934..e454497 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2004-10-14 Joseph S. Myers <joseph@codesourcery.com>
+
+ * gcc.dg/ppc-spe64-1.c: New test.
+
2004-10-14 Devang Patel <dpatel@apple.com>
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 0000000..8055668
--- /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 <joseph@codesourcery.com> */
+/* { dg-do compile { target powerpc-*-*spe } } */
+/* { dg-options "-m64" } */
+
+/* { dg-error "-m64 not supported in this configuration" "SPE not 64-bit" { target *-*-* } 0 } */