/* PR rtl-optimization/51667 */ /* Testcase by Uros Bizjak */ extern void abort (void); void __attribute__((noinline,noclone)) bar (int a) { if (a != -1) abort (); } void __attribute__((noinline,noclone)) foo (short *a, int t) { short r = *a; if (t) bar ((unsigned short) r); else bar ((signed short) r); } short v = -1; int main(void) { foo (&v, 0); return 0; }