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 5 extern void abort (void); 6 7 long long __attribute__ ((noinline)) div(long long val)8div (long long val) 9 { 10 return val / 32768; 11 } 12 main(void)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