1 /* { dg-do compile } */
2 /* { dg-options "-Os -fselective-scheduling2" } */
4 extern void abort (void);
11 __attribute__((noinline
)) struct S
12 foo (int x
, int y
, int z
)
14 if (x
!= 10 || y
!= 9 || z
!= 8)
16 struct S s
= { 1, 2, 3, 4 };
20 __attribute__((noinline
)) void **
21 bar (void **u
, int *v
)
26 static void *l
[] = { &&lab1
, &&lab1
, &&lab2
, &&lab3
, &&lab4
};
40 struct S r
= foo (x
, y
, z
);
60 void **u
= bar ((void **) 0, (int *) 0);
61 void *t
[] = { u
[2], u
[4] };
62 int s
[] = { 7, 8, 9, 10, 11, 12 };
63 if (bar (t
, &s
[1]) != (void **) 0
64 || s
[0] != 4 || s
[1] != 3 || s
[2] != 2 || s
[3] != 1
65 || s
[4] != 11 || s
[5] != 12)