xref: /openbsd-src/gnu/usr.bin/gcc/gcc/testsuite/gcc.c-torture/execute/950809-1.c (revision f2da64fbbbf1b03f09f390ab01267c93dfd77c4c)
1 struct S
2 {
3   int *sp, fc, *sc, a[2];
4 };
5 
6 f (struct S *x)
7 {
8   int *t = x->sc;
9   int t1 = t[0];
10   int t2 = t[1];
11   int t3 = t[2];
12   int a0 = x->a[0];
13   int a1 = x->a[1];
14   t[2] = t1;
15   t[0] = a1;
16   x->a[1] = a0;
17   x->a[0] = t3;
18   x->fc = t2;
19   x->sp = t;
20 }
21 
22 main ()
23 {
24   struct S s;
25   static int sc[3] = {2, 3, 4};
26   s.sc = sc;
27   s.a[0] = 10;
28   s.a[1] = 11;
29   f (&s);
30   if (s.sp[2] != 2)
31     abort ();
32   exit (0);
33 }
34