modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/20001101.c (about)

     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  
     9  rtx dummy ( int *a, rtx *b)
    10  {
    11    *a = 1;
    12    *b = (rtx)7;
    13    return (rtx)1;
    14  }
    15  
    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  
    35  int main()
    36  {
    37    struc baz;
    38    bogus (&baz, (rtx)7, 0);
    39    exit(0);
    40    return 0;
    41  }