1 /* { dg-require-effective-target untyped_assembly } */
2 extern void abort(void);
3
4 typedef struct
5 {
6 unsigned int unchanging : 1;
7 } struc, *rtx;
8
dummy(int * a,rtx * b)9 rtx dummy ( int *a, rtx *b)
10 {
11 *a = 1;
12 *b = (rtx)7;
13 return (rtx)1;
14 }
15
bogus(insn,thread,delay_list)16 void bogus (insn, thread, delay_list)
17 rtx insn;
18 rtx thread;
19 rtx delay_list;
20 {
21 rtx new_thread;
22 int must_annul;
23
24 delay_list = dummy ( &must_annul, &new_thread);
25 if (delay_list == 0 && new_thread )
26 {
27 thread = new_thread;
28 }
29 if (delay_list && must_annul)
30 insn->unchanging = 1;
31 if (new_thread != thread )
32 abort();
33 }
34
main()35 int main()
36 {
37 struc baz;
38 bogus (&baz, (rtx)7, 0);
39 exit(0);
40 return 0;
41 }
42