1/* { dg-do run } */ 2/* { dg-options "-fsanitize=shift -w" } */ 3 4int 5main (void) 6{ 7 int a = 1; 8 volatile int b = -5; 9 long long int c = -6; 10 11 a << -3; 12 1 << -4; 13 1 << b; 14 a << c; 15 a << (b + c); 16 17 return 0; 18} 19/* { dg-output "shift exponent -3 is negative\[^\n\r]*(\n|\r\n|\r)" } */ 20/* { dg-output "\[^\n\r]*shift exponent -4 is negative\[^\n\r]*(\n|\r\n|\r)" } */ 21/* { dg-output "\[^\n\r]*shift exponent -5 is negative\[^\n\r]*(\n|\r\n|\r)" } */ 22/* { dg-output "\[^\n\r]*shift exponent -6 is negative\[^\n\r]*(\n|\r\n|\r)" } */ 23/* { dg-output "\[^\n\r]*shift exponent -11 is negative\[^\n\r]*" } */ 24