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

     1  typedef struct basic_block_def *basic_block;
     2  typedef struct gimple_seq_node_d *gimple_seq_node;
     3  typedef struct gimple_seq_d *gimple_seq;
     4  typedef struct
     5  {
     6    gimple_seq_node ptr;
     7    gimple_seq seq;
     8    basic_block bb;
     9  } gimple_stmt_iterator;
    10  typedef void *gimple;
    11  extern void exit(int);
    12  struct gimple_seq_node_d
    13  {
    14    gimple stmt;
    15    struct gimple_seq_node_d *next;
    16  };
    17  struct gimple_seq_d
    18  {
    19  };
    20  static __inline__ gimple_stmt_iterator
    21  gsi_start (gimple_seq seq)
    22  {
    23    gimple_stmt_iterator i;
    24    i.seq = seq;
    25    return i;
    26  }
    27  static __inline__ unsigned char
    28  gsi_end_p (gimple_stmt_iterator i)
    29  {
    30    return i.ptr == ((void *)0);
    31  }
    32  static __inline__ void
    33  gsi_next (gimple_stmt_iterator *i)
    34  {
    35    i->ptr = i->ptr->next;
    36  }
    37  static __inline__ gimple
    38  gsi_stmt (gimple_stmt_iterator i)
    39  {
    40    return i.ptr->stmt;
    41  }
    42  void
    43  c_warn_unused_result (gimple_seq seq)
    44  {
    45    gimple_stmt_iterator i;
    46    for (i = gsi_start (seq); !gsi_end_p (i); gsi_next (&i))
    47      {
    48        gimple g = gsi_stmt (i);
    49        if (!g) exit(0);
    50      }
    51  }