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 foo(bufp)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