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