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