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

     1  typedef __SIZE_TYPE__ size_t;
     2  typedef unsigned long int reg_syntax_t;
     3  struct re_pattern_buffer
     4  {
     5    unsigned char *buffer;
     6  };
     7  typedef enum
     8  {
     9    jump,
    10    jump_n,
    11  } re_opcode_t;
    12  static int
    13  foo (bufp)
    14       struct re_pattern_buffer *bufp;
    15  {
    16    int mcnt;
    17    unsigned char *p = bufp->buffer;
    18    switch (((re_opcode_t) * p++))
    19      {
    20      unconditional_jump:
    21        ;
    22        /* This test case caused an ICE because the statement insertion
    23  	 routines were failing to update basic block boundaries.  */
    24      case jump:
    25        do
    26          {
    27            (mcnt) = *(p) & 0377;
    28          }
    29        while (0);
    30        (p) += 2;
    31        p += mcnt;
    32      case jump_n:
    33        (mcnt) = *(p + 2) & 0377;
    34        if (mcnt)
    35          goto unconditional_jump;
    36      }
    37  }