comparison gcc/testsuite/c-c++-common/Wshift-overflow-6.c @ 111:04ced10e8804

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