OSDN Git Service

2008-05-01 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 May 2008 11:22:33 +0000 (11:22 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 May 2008 11:22:33 +0000 (11:22 +0000)
PR middle-end/36093
* gcc.c-torture/execute/pr36093.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134851 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/pr36093.c [new file with mode: 0644]

index da38b1b..36ebbf9 100644 (file)
@@ -1,3 +1,8 @@
+2008-05-01  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/36093
+       * gcc.c-torture/execute/pr36093.c: New testcase.
+
 2008-04-30  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        * gfortran.dg/selected_char_kind_1.f90: New test.
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr36093.c b/gcc/testsuite/gcc.c-torture/execute/pr36093.c
new file mode 100644 (file)
index 0000000..9549bc3
--- /dev/null
@@ -0,0 +1,28 @@
+extern void abort (void);
+
+typedef struct Bar {
+      char c[129];
+} Bar __attribute__((__aligned__(128)));
+
+typedef struct Foo {
+      Bar bar[4];
+} Foo;
+
+Foo foo[4];
+
+int main()
+{
+   int i, j;
+   Foo *foop = &foo[0];
+
+   for (i=0; i < 4; i++) {
+      Bar *bar = &foop->bar[i];
+      for (j=0; j < 129; j++) {
+         bar->c[j] = 'a' + i;
+      }
+   }
+
+   if (foo[0].bar[3].c[128] != 'd')
+     abort ();
+   return 0;
+}