1 /* PR rtl-optimization/34302 */
2 /* { dg-require-effective-target label_values } */
3 /* { dg-require-effective-target indirect_jumps } */
5 extern void abort (void);
12 __attribute__((noinline
)) struct S
13 foo (int x
, int y
, int z
)
15 if (x
!= 10 || y
!= 9 || z
!= 8)
17 struct S s
= { 1, 2, 3, 4 };
21 __attribute__((noinline
)) void **
22 bar (void **u
, int *v
)
27 static void *l
[] = { &&lab1
, &&lab1
, &&lab2
, &&lab3
, &&lab4
};
41 struct S r
= foo (x
, y
, z
);
61 void **u
= bar ((void **) 0, (int *) 0);
62 void *t
[] = { u
[2], u
[4] };
63 int s
[] = { 7, 8, 9, 10, 11, 12 };
64 if (bar (t
, &s
[1]) != (void **) 0
65 || s
[0] != 4 || s
[1] != 3 || s
[2] != 2 || s
[3] != 1
66 || s
[4] != 11 || s
[5] != 12)