(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
Wshift-overflow-6.c
       1  /* PR c++/55095 */
       2  /* { dg-do compile { target int32 } } */
       3  /* { dg-options "-Wshift-overflow=1" } */
       4  
       5  int i00 = 0b1 << 31;
       6  int i01 = 0b10 << 30;
       7  int i02 = 0b100 << 29;
       8  int i03 = 0b1000 << 28;
       9  int i04 = 0b10000 << 27;
      10  int i05 = 0b100000 << 26;
      11  int i06 = 0b1000000 << 25;
      12  int i07 = 0b10000000 << 24;
      13  int i08 = 0b100000000 << 23;
      14  int i09 = 0b1000000000 << 22;
      15  int i10 = 0b10000000000 << 21;
      16  int i11 = 0b100000000000 << 20;
      17  int i12 = 0b1000000000000 << 19;
      18  int i13 = 0b10000000000000 << 18;
      19  int i14 = 0b100000000000000 << 17;
      20  int i15 = 0b1000000000000000 << 16;
      21  int i16 = 0b10000000000000000 << 15;
      22  int i17 = 0b100000000000000000 << 14;
      23  int i18 = 0b1000000000000000000 << 13;
      24  int i19 = 0b10000000000000000000 << 12;
      25  int i20 = 0b100000000000000000000 << 11;
      26  int i21 = 0b1000000000000000000000 << 10;
      27  int i22 = 0b10000000000000000000000 << 9;
      28  int i23 = 0b100000000000000000000000 << 8;
      29  int i24 = 0b1000000000000000000000000 << 7;
      30  int i25 = 0b10000000000000000000000000 << 6;
      31  int i26 = 0b100000000000000000000000000 << 5;
      32  int i27 = 0b1000000000000000000000000000 << 4;
      33  int i28 = 0b10000000000000000000000000000 << 3;
      34  int i29 = 0b100000000000000000000000000000 << 2;
      35  int i30 = 0b1000000000000000000000000000000 << 1;
      36  int i31 = (int) 0b10000000000000000000000000000000u << 1; /* { dg-warning "requires 33 bits to represent" "" { target { c || c++17_down } } } */