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