Skip to content

Commit 4dfb407

Browse files
committed
Update the tests to cover right shift operations
1 parent 58d9f80 commit 4dfb407

File tree

2 files changed

+54
-6
lines changed

2 files changed

+54
-6
lines changed

source/compiler/tests/warning_241.meta

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,27 @@
33
'errors': """
44
warning_241.pwn(8) : warning 241: negative or too big shift count
55
warning_241.pwn(9) : warning 241: negative or too big shift count
6-
warning_241.pwn(14) : warning 241: negative or too big shift count
7-
warning_241.pwn(15) : warning 241: negative or too big shift count
8-
warning_241.pwn(18) : warning 241: negative or too big shift count
9-
warning_241.pwn(19) : warning 241: negative or too big shift count
10-
warning_241.pwn(24) : warning 241: negative or too big shift count
11-
warning_241.pwn(25) : warning 241: negative or too big shift count
6+
warning_241.pwn(10) : warning 241: negative or too big shift count
7+
warning_241.pwn(11) : warning 241: negative or too big shift count
8+
warning_241.pwn(12) : warning 241: negative or too big shift count
9+
warning_241.pwn(13) : warning 241: negative or too big shift count
10+
warning_241.pwn(26) : warning 241: negative or too big shift count
11+
warning_241.pwn(27) : warning 241: negative or too big shift count
12+
warning_241.pwn(28) : warning 241: negative or too big shift count
13+
warning_241.pwn(29) : warning 241: negative or too big shift count
14+
warning_241.pwn(30) : warning 241: negative or too big shift count
15+
warning_241.pwn(31) : warning 241: negative or too big shift count
16+
warning_241.pwn(34) : warning 241: negative or too big shift count
17+
warning_241.pwn(35) : warning 241: negative or too big shift count
18+
warning_241.pwn(36) : warning 241: negative or too big shift count
19+
warning_241.pwn(37) : warning 241: negative or too big shift count
20+
warning_241.pwn(38) : warning 241: negative or too big shift count
21+
warning_241.pwn(39) : warning 241: negative or too big shift count
22+
warning_241.pwn(52) : warning 241: negative or too big shift count
23+
warning_241.pwn(53) : warning 241: negative or too big shift count
24+
warning_241.pwn(54) : warning 241: negative or too big shift count
25+
warning_241.pwn(55) : warning 241: negative or too big shift count
26+
warning_241.pwn(56) : warning 241: negative or too big shift count
27+
warning_241.pwn(57) : warning 241: negative or too big shift count
1228
"""
1329
}

source/compiler/tests/warning_241.pwn

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,54 @@ main()
77
// Case 1: Both values are compile-time constants
88
printf("%d", 1 << -1); // warning 241
99
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
1014
printf("%d", 1 << 0);
1115
printf("%d", 1 << 1);
16+
printf("%d", 1 >> 0);
17+
printf("%d", 1 >> 1);
18+
printf("%d", 1 >>> 0);
19+
printf("%d", 1 >>> 1);
1220
printf("%d", 1 << 30);
1321
printf("%d", 1 << 31);
22+
printf("%d", 1 >> 30);
23+
printf("%d", 1 >> 31);
24+
printf("%d", 1 >>> 30);
25+
printf("%d", 1 >>> 31);
1426
printf("%d", 1 << 32); // warning 241
1527
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
1632

1733
// Case 2: Only the shift count is constant
1834
printf("%d", var << -1); // warning 241
1935
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
2040
printf("%d", var << 0);
2141
printf("%d", var << 1);
42+
printf("%d", var >> 0);
43+
printf("%d", var >> 1);
44+
printf("%d", var >>> 0);
45+
printf("%d", var >>> 1);
2246
printf("%d", var << 30);
2347
printf("%d", var << 31);
48+
printf("%d", var >> 30);
49+
printf("%d", var >> 31);
50+
printf("%d", var >>> 30);
51+
printf("%d", var >>> 31);
2452
printf("%d", var << 32); // warning 241
2553
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
2658

2759
printf("%d", 1 << var); // Just to make sure the warning works only
2860
// if the shift count is a constant value

0 commit comments

Comments
 (0)