1typedef __SIZE_TYPE__ size_t;
2typedef unsigned long int reg_syntax_t;
3struct re_pattern_buffer
4{
5  unsigned char *buffer;
6};
7typedef enum
8{
9  jump,
10  jump_n,
11} re_opcode_t;
12static int
13foo (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}
38