Small ChangeLog tweak.
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / 20131115-1.c
blobd0cdfa5a22019f0681246738abafdd93cb1e8061
1 /* { dg-do run } */
2 /* { dg-skip-if "RAM usage too large" { "avr-*-*" } } */
4 struct S { int i; };
5 __attribute__((const, noinline, noclone))
6 struct S foo (int x)
8 struct S s;
9 s.i = x;
10 return s;
13 int a[2048], b[2048], c[2048], d[2048];
14 struct S e[2048];
16 __attribute__((noinline, noclone)) void
17 bar (void)
19 int i;
20 for (i = 0; i < 1024; i++)
22 e[i] = foo (i);
23 a[i+2] = a[i] + a[i+1];
24 b[10] = b[10] + i;
25 c[i] = c[2047 - i];
26 d[i] = d[i + 1];
30 int
31 main ()
33 int i;
34 bar ();
35 for (i = 0; i < 1024; i++)
36 if (e[i].i != i)
37 __builtin_abort ();
38 return 0;