aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorJanis Johnson <janis187@us.ibm.com>2004-07-23 18:25:47 +0000
committerJanis Johnson <janis@gcc.gnu.org>2004-07-23 18:25:47 +0000
commitb9eef87830def2bce1c2f87e62205d2fa70ed2e3 (patch)
tree5adb9c55f58d449bb566ac0941905d839311f366 /gcc/testsuite
parent47120c071d9fc9d6645b7b1febbc416af4b749b4 (diff)
downloadgcc-b9eef87830def2bce1c2f87e62205d2fa70ed2e3.zip
gcc-b9eef87830def2bce1c2f87e62205d2fa70ed2e3.tar.gz
gcc-b9eef87830def2bce1c2f87e62205d2fa70ed2e3.tar.bz2
varargs-4.c: Remove a Darwin-specific check.
2004-07-23 Janis Johnson <janis187@us.ibm.com> * gcc.dg/vmx/varargs-4.c: Remove a Darwin-specific check. * gcc.dg/darwin-abi-3.c: New test. From-SVN: r85087
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/gcc.dg/vmx/darwin-abi-3.c34
-rw-r--r--gcc/testsuite/gcc.dg/vmx/varargs-4.c8
3 files changed, 37 insertions, 8 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ffb8606..7e6a5ea 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2004-07-23 Janis Johnson <janis187@us.ibm.com>
+ * gcc.dg/vmx/varargs-4.c: Remove a Darwin-specific check.
+ * gcc.dg/darwin-abi-3.c: New test.
+
* gcc.dg/vmx/debug-1.c: Use int, not long, in union with vector.
* gcc.dg/vmx/varargs-1.c: Use int, not long, in union with vector.
diff --git a/gcc/testsuite/gcc.dg/vmx/darwin-abi-3.c b/gcc/testsuite/gcc.dg/vmx/darwin-abi-3.c
new file mode 100644
index 0000000..af4d15a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vmx/darwin-abi-3.c
@@ -0,0 +1,34 @@
+/* { dg-do run { target powerpc*-*-darwin* } } */
+
+/* This check was originally in test vmx/varargs-4.c. It does not
+ match the expected behavior according to the PowerPC-64 ELF ABI. */
+
+#include <altivec.h>
+
+extern void abort (void);
+extern void exit (int);
+
+typedef struct n_a
+{
+ signed char m1;
+ short m2;
+ int m3;
+ double m4;
+ vector float m5;
+}
+n_a;
+
+typedef struct n_a_x
+{
+ n_a b;
+ char a;
+}
+n_a_x;
+
+int
+main ()
+{
+ if (sizeof (n_a_x) - sizeof (n_a) != sizeof (n_a))
+ abort ();
+ exit (0);
+}
diff --git a/gcc/testsuite/gcc.dg/vmx/varargs-4.c b/gcc/testsuite/gcc.dg/vmx/varargs-4.c
index 5433329..a175519 100644
--- a/gcc/testsuite/gcc.dg/vmx/varargs-4.c
+++ b/gcc/testsuite/gcc.dg/vmx/varargs-4.c
@@ -13,13 +13,6 @@ typedef struct n_a
}
n_a;
-typedef struct n_a_x
-{
- n_a b;
- char a;
-}
-n_a_x;
-
static n_a gn_a;
static int
@@ -103,7 +96,6 @@ initn_a(signed char p1, short p2, int p3, double p4, vector float p5)
"i.m5");
check(sizeof(n_a) == 32, "sizeof(n_a)");
- check(sizeof(n_a_x) - sizeof(n_a) == 32, "align(n_a_x)");
check(offsetof(n_a, m1) == 0, "offsetof(m1)");
check(offsetof(n_a, m2) == 2, "offsetof(m2)");