1 /* Signed left-shift is implementation-defined in C89 (and see 2 DR#081), not undefined. Bug 7284 from Al Grant (AlGrant at 3 myrealbox.com). */ 4 5 /* { dg-options "-std=c89" } */ 6 7 extern void abort (void); 8 extern void exit (int); 9 10 int f(int n)11f (int n) 12 { 13 return (n << 24) / (1 << 23); 14 } 15 16 volatile int x = 128; 17 18 int main(void)19main (void) 20 { 21 if (f(x) != -256) 22 abort (); 23 exit (0); 24 } 25