|
7 | 7 | // Case 1: Both values are compile-time constants
|
8 | 8 | printf("%d", 1 << -1); // warning 241
|
9 | 9 | printf("%d", 1 << -2); // warning 241
|
| 10 | + printf("%d", 1 >> -1); // warning 241 |
| 11 | + printf("%d", 1 >> -2); // warning 241 |
| 12 | + printf("%d", 1 >>> -1); // warning 241 |
| 13 | + printf("%d", 1 >>> -2); // warning 241 |
10 | 14 | printf("%d", 1 << 0);
|
11 | 15 | printf("%d", 1 << 1);
|
| 16 | + printf("%d", 1 >> 0); |
| 17 | + printf("%d", 1 >> 1); |
| 18 | + printf("%d", 1 >>> 0); |
| 19 | + printf("%d", 1 >>> 1); |
12 | 20 | printf("%d", 1 << 30);
|
13 | 21 | printf("%d", 1 << 31);
|
| 22 | + printf("%d", 1 >> 30); |
| 23 | + printf("%d", 1 >> 31); |
| 24 | + printf("%d", 1 >>> 30); |
| 25 | + printf("%d", 1 >>> 31); |
14 | 26 | printf("%d", 1 << 32); // warning 241
|
15 | 27 | printf("%d", 1 << 33); // warning 241
|
| 28 | + printf("%d", 1 >> 32); // warning 241 |
| 29 | + printf("%d", 1 >> 33); // warning 241 |
| 30 | + printf("%d", 1 >>> 32); // warning 241 |
| 31 | + printf("%d", 1 >>> 33); // warning 241 |
16 | 32 |
|
17 | 33 | // Case 2: Only the shift count is constant
|
18 | 34 | printf("%d", var << -1); // warning 241
|
19 | 35 | printf("%d", var << -2); // warning 241
|
| 36 | + printf("%d", var >> -1); // warning 241 |
| 37 | + printf("%d", var >> -2); // warning 241 |
| 38 | + printf("%d", var >>> -1); // warning 241 |
| 39 | + printf("%d", var >>> -2); // warning 241 |
20 | 40 | printf("%d", var << 0);
|
21 | 41 | printf("%d", var << 1);
|
| 42 | + printf("%d", var >> 0); |
| 43 | + printf("%d", var >> 1); |
| 44 | + printf("%d", var >>> 0); |
| 45 | + printf("%d", var >>> 1); |
22 | 46 | printf("%d", var << 30);
|
23 | 47 | printf("%d", var << 31);
|
| 48 | + printf("%d", var >> 30); |
| 49 | + printf("%d", var >> 31); |
| 50 | + printf("%d", var >>> 30); |
| 51 | + printf("%d", var >>> 31); |
24 | 52 | printf("%d", var << 32); // warning 241
|
25 | 53 | printf("%d", var << 33); // warning 241
|
| 54 | + printf("%d", var >> 32); // warning 241 |
| 55 | + printf("%d", var >> 33); // warning 241 |
| 56 | + printf("%d", var >>> 32); // warning 241 |
| 57 | + printf("%d", var >>> 33); // warning 241 |
26 | 58 |
|
27 | 59 | printf("%d", 1 << var); // Just to make sure the warning works only
|
28 | 60 | // if the shift count is a constant value
|
|
0 commit comments