2 /* { dg-do compile } */
3 /* { dg-options "-O -Wextra" } */
8 C
= -1 << 1, /* { dg-warning "10:left shift of negative value|not an integer constant" "" { target { c || { c++11 && c++17_down } } } } */
9 /* { dg-error "left operand of shift expression" "shift" { target { c++11 && c++17_down } } .-1 } */
18 /* Warn for LSHIFT_EXPR. */
25 r
+= m
<< x
; /* { dg-warning "10:left shift of negative value" "" { target { c || { c++11 && c++17_down } } } } */
28 r
+= -1 << x
; /* { dg-warning "11:left shift of negative value" "" { target { c || { c++11 && c++17_down } } } } */
36 /* Shouldn't warn for RSHIFT_EXPR. */