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