diff options
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20010904-1.c | 11 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20010904-2.c | 11 |
2 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010904-1.c b/gcc/testsuite/gcc.c-torture/execute/20010904-1.c new file mode 100644 index 0000000..92b258b --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20010904-1.c @@ -0,0 +1,11 @@ +typedef struct x { int a; int b; } __attribute__((aligned(32))) X; +typedef struct y { X x[32]; int c; } Y; + +Y y[2]; + +int main(void) +{ + if (((char *)&y[1] - (char *)&y[0]) & 31) + abort (); + exit (0); +} diff --git a/gcc/testsuite/gcc.c-torture/execute/20010904-2.c b/gcc/testsuite/gcc.c-torture/execute/20010904-2.c new file mode 100644 index 0000000..cbe4980 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20010904-2.c @@ -0,0 +1,11 @@ +typedef struct x { int a; int b; } __attribute__((aligned(32))) X; +typedef struct y { X x; X y[31]; int c; } Y; + +Y y[2]; + +int main(void) +{ + if (((char *)&y[1] - (char *)&y[0]) & 31) + abort (); + exit (0); +} |