/* PR c/65830 */ /* { dg-do compile } */ /* { dg-options "-O -Wno-shift-count-negative -Wno-shift-count-overflow" } */ int foo (int x) { const int a = sizeof (int) * __CHAR_BIT__; const int b = -7; int c = 0; c += x << a; /* { dg-bogus "10:left shift count >= width of type" } */ c += x << b; /* { dg-bogus "10:left shift count is negative" } */ c += x >> a; /* { dg-bogus "10:right shift count >= width of type" } */ c += x >> b; /* { dg-bogus "10:right shift count is negative" } */ return c; }