diff options
author | Janis Johnson <janis187@us.ibm.com> | 2004-07-23 18:25:47 +0000 |
---|---|---|
committer | Janis Johnson <janis@gcc.gnu.org> | 2004-07-23 18:25:47 +0000 |
commit | b9eef87830def2bce1c2f87e62205d2fa70ed2e3 (patch) | |
tree | 5adb9c55f58d449bb566ac0941905d839311f366 /gcc/testsuite | |
parent | 47120c071d9fc9d6645b7b1febbc416af4b749b4 (diff) | |
download | gcc-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/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/vmx/darwin-abi-3.c | 34 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/vmx/varargs-4.c | 8 |
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)"); |