/* { dg-do run } */ /* { dg-options "-fsanitize=undefined -fno-sanitize-recover=signed-integer-overflow" } */ /* { dg-additional-options "-std=gnu11" { target c } } */ /* { dg-additional-options "-std=c++11" { target c++ } } */ volatile int w, z; __attribute__ ((noinline, noclone)) int foo (int x, int y) { z++; return x << y; } int main () { w = foo (0, -__INT_MAX__); return 0; } /* { dg-output "shift exponent -\[^\n\r]* is negative" } */