1/* { dg-require-effective-target untyped_assembly } */
2extern void abort(void);
3
4typedef struct
5{
6  unsigned int unchanging : 1;
7} struc, *rtx;
8
9rtx dummy ( int *a, rtx *b)
10{
11  *a = 1;
12  *b = (rtx)7;
13  return (rtx)1;
14}
15
16void 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
35int main()
36{
37  struc baz;
38  bogus (&baz, (rtx)7, 0);
39  exit(0);
40  return 0;
41}
42