1 /* PR rtl-optimization/31691 */ 2 /* Origin: Chi-Hua Chen <stephaniechc-gccbug@yahoo.com> */ 3 4 extern void abort (void); 5 6 static int get_kind(int) __attribute__ ((noinline)); 7 get_kind(int v)8static int get_kind(int v) 9 { 10 volatile int k = v; 11 return k; 12 } 13 14 static int some_call(void) __attribute__ ((noinline)); 15 some_call(void)16static int some_call(void) 17 { 18 return 0; 19 } 20 example(int arg)21static void example (int arg) 22 { 23 int tmp, kind = get_kind (arg); 24 25 if (kind == 9 || kind == 10 || kind == 5) 26 { 27 if (some_call() == 0) 28 { 29 if (kind == 9 || kind == 10) 30 tmp = arg; 31 else 32 abort(); 33 } 34 } 35 } 36 main(void)37int main(void) 38 { 39 example(10); 40 return 0; 41 } 42