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-require-effective-target int32plus } */ 6/* { dg-options "-std=c89" } */ 7 8extern void abort (void); 9extern void exit (int); 10 11int 12f (int n) 13{ 14 return (n << 24) / (1 << 23); 15} 16 17volatile int x = 128; 18 19int 20main (void) 21{ 22 if (f(x) != -256) 23 abort (); 24 exit (0); 25} 26