1/* { dg-do run } */ 2/* { dg-options "-fsanitize=shift -w" } */ 3 4typedef const unsigned long long int CULLI; 5typedef volatile int VI; 6struct s { signed long int a; }; 7 8int 9main (void) 10{ 11 int a = 1; 12 struct s s = { .a = 400 }; 13 CULLI culli = 42; 14 VI vi = 370; 15 volatile int shiftcount = 153; 16 17 a <<= 152; 18 1 << shiftcount; 19 1 << 154; 20 culli << 524; 21 1 << vi++; 22 (long) 1 << (s.a + 2); 23 24 return 0; 25} 26/* { dg-output "shift exponent 152 is too large for \[^\n\r]*-bit type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ 27/* { dg-output "\[^\n\r]*shift exponent 153 is too large for \[^\n\r]*-bit type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ 28/* { dg-output "\[^\n\r]*shift exponent 154 is too large for \[^\n\r]*-bit type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ 29/* { dg-output "\[^\n\r]*shift exponent 524 is too large for \[^\n\r]*-bit type 'long long unsigned int'\[^\n\r]*(\n|\r\n|\r)" } */ 30/* { dg-output "\[^\n\r]*shift exponent 370 is too large for \[^\n\r]*-bit type 'int'\[^\n\r]*(\n|\r\n|\r)" } */ 31/* { dg-output "\[^\n\r]*shift exponent 402 is too large for \[^\n\r]*-bit type 'long int'\[^\n\r]*" } */ 32