1/* Used to be miscompiled at -O0 due to incorrect choice of sign extension 2 vs. zero extension. __attribute__ ((noinline)) added to try to make it 3 fail at higher optimization levels too. */ 4 5extern void abort (void); 6 7long long __attribute__ ((noinline)) 8div (long long val) 9{ 10 return val / 32768; 11} 12 13int main (void) 14{ 15 long long d1 = -990000000; 16 long long d2 = div(d1); 17 if (d2 != -30212) 18 abort (); 19 return 0; 20} 21 22