1/* PR sanitizer/58413 */ 2/* { dg-do run { target int32plus } } */ 3/* { dg-options "-fsanitize=shift -w -fno-sanitize-recover=shift" } */ 4 5int x = 7; 6int 7main (void) 8{ 9 /* All of the following should pass. */ 10 int A[128 >> 5] = {}; 11 int B[128 << 5] = {}; 12 13 static int e = 14 ((int) 15 (0x00000000 | ((31 & ((1 << (4)) - 1)) << (((15) + 6) + 4)) | 16 ((0) << ((15) + 6)) | ((0) << (15)))); 17 18 if (e != 503316480) 19 __builtin_abort (); 20 21 switch (x) 22 { 23 case 1 >> 4: 24 case 1 << 4: 25 case 128 << (4 + 1): 26 case 128 >> (4 + 1): 27 return 1; 28 } 29 return 0; 30} 31