Skip to content

Commit 1b64b42

Browse files
committed
Add tests for warning 210
1 parent 1102bc3 commit 1b64b42

File tree

2 files changed

+227
-0
lines changed

2 files changed

+227
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
'test_type': 'output_check',
3+
'errors': """
4+
warning_210.pwn(59) : warning 210: possible use of symbol before initialization: "local_var3"
5+
warning_210.pwn(62) : warning 210: possible use of symbol before initialization: "local_var4"
6+
warning_210.pwn(66) : warning 210: possible use of symbol before initialization: "local_var5"
7+
warning_210.pwn(70) : warning 210: possible use of symbol before initialization: "local_var6"
8+
warning_210.pwn(85) : warning 210: possible use of symbol before initialization: "local_arr1d4"
9+
warning_210.pwn(88) : warning 210: possible use of symbol before initialization: "local_arr1d5"
10+
warning_210.pwn(92) : warning 210: possible use of symbol before initialization: "local_arr1d6"
11+
warning_210.pwn(96) : warning 210: possible use of symbol before initialization: "local_arr1d7"
12+
warning_210.pwn(100) : warning 210: possible use of symbol before initialization: "local_arr1d8"
13+
warning_210.pwn(104) : warning 210: possible use of symbol before initialization: "local_arr1d9"
14+
warning_210.pwn(119) : warning 210: possible use of symbol before initialization: "local_arr2d4"
15+
warning_210.pwn(122) : warning 210: possible use of symbol before initialization: "local_arr2d5"
16+
warning_210.pwn(126) : warning 210: possible use of symbol before initialization: "local_arr2d6"
17+
warning_210.pwn(130) : warning 210: possible use of symbol before initialization: "local_arr2d7"
18+
warning_210.pwn(134) : warning 210: possible use of symbol before initialization: "local_arr2d8"
19+
warning_210.pwn(138) : warning 210: possible use of symbol before initialization: "local_arr2d9"
20+
warning_210.pwn(142) : warning 210: possible use of symbol before initialization: "local_arr2d10"
21+
warning_210.pwn(149) : warning 210: possible use of symbol before initialization: "global_var3"
22+
warning_210.pwn(151) : warning 210: possible use of symbol before initialization: "global_var4"
23+
warning_210.pwn(154) : warning 210: possible use of symbol before initialization: "global_var5"
24+
warning_210.pwn(165) : warning 210: possible use of symbol before initialization: "global_arr1d4"
25+
warning_210.pwn(167) : warning 210: possible use of symbol before initialization: "global_arr1d5"
26+
warning_210.pwn(170) : warning 210: possible use of symbol before initialization: "global_arr1d6"
27+
warning_210.pwn(181) : warning 210: possible use of symbol before initialization: "global_arr2d4"
28+
warning_210.pwn(184) : warning 210: possible use of symbol before initialization: "global_arr2d5"
29+
warning_210.pwn(187) : warning 210: possible use of symbol before initialization: "global_arr2d6"
30+
"""
31+
}

source/compiler/tests/warning_210.pwn

Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
stock UseVariable(arg)
2+
{
3+
#pragma unused arg
4+
}
5+
6+
stock UseVariableRef(&arg)
7+
{
8+
#pragma unused arg
9+
}
10+
11+
stock Use1DArray(const arg[])
12+
{
13+
#pragma unused arg
14+
}
15+
16+
stock Use1DArrayConst(const arg[])
17+
{
18+
#pragma unused arg
19+
}
20+
21+
stock Use2DArray(const arg[][])
22+
{
23+
#pragma unused arg
24+
}
25+
26+
27+
new global_var1 = 0;
28+
new global_var2;
29+
new global_var3;
30+
new global_var4;
31+
new global_var5;
32+
new global_arr1d1[] = "hi there!";
33+
new global_arr1d2[8];
34+
new global_arr1d3[8];
35+
new global_arr1d4[8];
36+
new global_arr1d5[8];
37+
new global_arr1d6[8];
38+
new global_arr2d1[2][8] = { { 0 }, ... };
39+
new global_arr2d2[2][8];
40+
new global_arr2d3[2][8];
41+
new global_arr2d4[2][8];
42+
new global_arr2d5[2][8];
43+
new global_arr2d6[2][8];
44+
45+
TestFunc(arg_var, const arg_arr1d[], const arg_arr2d[][])
46+
{
47+
UseVariable(arg_var);
48+
Use1DArray(arg_arr1d);
49+
Use2DArray(arg_arr2d);
50+
51+
new local_var1 = 0;
52+
UseVariable(local_var1);
53+
54+
new local_var2;
55+
local_var2 = 0;
56+
UseVariable(local_var2);
57+
58+
new local_var3;
59+
UseVariable(local_var3); // warning
60+
61+
new local_var4;
62+
local_var4 = local_var4 + 1; // warning
63+
UseVariable(local_var4);
64+
65+
new local_var5;
66+
++local_var5; // warning
67+
UseVariable(local_var5);
68+
69+
new local_var6;
70+
local_var6++; // warning
71+
UseVariable(local_var6);
72+
73+
new local_arr1d1[] = "hi there!";
74+
Use1DArray(local_arr1d1);
75+
76+
new local_arr1d2[8];
77+
local_arr1d2 = "oh, hi!";
78+
Use1DArray(local_arr1d2);
79+
80+
new local_arr1d3[8];
81+
local_arr1d3[0] = 1;
82+
Use1DArray(local_arr1d3);
83+
84+
new local_arr1d4[8];
85+
Use1DArray(local_arr1d4); // warning
86+
87+
new local_arr1d5[8];
88+
local_arr1d5[0] = local_arr1d5[0] + 1; // warning
89+
Use1DArray(local_arr1d5);
90+
91+
new local_arr1d6[8];
92+
local_arr1d6[0] = local_arr1d6[1]; // warning
93+
Use1DArray(local_arr1d6);
94+
95+
new local_arr1d7[8];
96+
local_arr1d7[local_arr1d7[0]] = 1; // warning
97+
Use1DArray(local_arr1d7);
98+
99+
new local_arr1d8[8];
100+
++local_arr1d8[0]; // warning
101+
Use1DArray(local_arr1d8);
102+
103+
new local_arr1d9[8];
104+
local_arr1d9[0]++; // warning
105+
Use1DArray(local_arr1d9);
106+
107+
new local_arr2d1[2][8] = { { 0 }, ... };
108+
Use2DArray(local_arr2d1);
109+
110+
new local_arr2d2[2][8];
111+
local_arr2d2[0] = "oh, hi!";
112+
Use2DArray(local_arr2d2);
113+
114+
new local_arr2d3[2][8];
115+
local_arr2d3[0][0] = 1;
116+
Use2DArray(local_arr2d3);
117+
118+
new local_arr2d4[2][8];
119+
Use2DArray(local_arr2d4); // warning
120+
121+
new local_arr2d5[2][8];
122+
local_arr2d5[0][0] = local_arr2d5[0][0] + 1; // warning
123+
Use2DArray(local_arr2d5);
124+
125+
new local_arr2d6[2][8];
126+
local_arr2d6[0][0] = local_arr2d6[1][0]; // warning
127+
Use2DArray(local_arr2d6);
128+
129+
new local_arr2d7[2][8];
130+
local_arr2d7[0][local_arr2d7[0][0]] = 0; // warning
131+
Use2DArray(local_arr2d7);
132+
133+
new local_arr2d8[2][8];
134+
local_arr2d8[0] = local_arr2d8[1]; // warning
135+
Use2DArray(local_arr2d8);
136+
137+
new local_arr2d9[2][8];
138+
++local_arr2d9[0][0]; // warning
139+
Use2DArray(local_arr2d9);
140+
141+
new local_arr2d10[2][8];
142+
local_arr2d10[0][0]++; // warning
143+
Use2DArray(local_arr2d10);
144+
UseVariable(global_var1);
145+
146+
global_var2 = 0;
147+
UseVariable(global_var2);
148+
149+
UseVariable(global_var3); // warning
150+
151+
++global_var4; // warning
152+
UseVariable(global_var4);
153+
154+
global_var5++; // warning
155+
UseVariable(global_var5);
156+
157+
Use1DArray(global_arr1d1);
158+
159+
global_arr1d2 = "oh, hi!";
160+
Use1DArray(global_arr1d2);
161+
162+
global_arr1d3[0] = 1;
163+
Use1DArray(global_arr1d3);
164+
165+
Use1DArray(global_arr1d4); // warning
166+
167+
++global_arr1d5[0]; // warning
168+
Use1DArray(global_arr1d5);
169+
170+
global_arr1d6[0]++; // warning
171+
Use1DArray(global_arr1d6);
172+
173+
Use2DArray(global_arr2d1);
174+
175+
global_arr2d2[0] = "oh, hi!";
176+
Use2DArray(global_arr2d2);
177+
178+
global_arr2d3[0][0] = 1;
179+
Use2DArray(global_arr2d3);
180+
181+
Use2DArray(global_arr2d4); // warning
182+
183+
++global_arr2d5[0][0]; // warning
184+
Use2DArray(global_arr2d5);
185+
186+
global_arr2d6[0][0]++; // warning
187+
Use2DArray(global_arr2d6);
188+
}
189+
190+
main()
191+
{
192+
static arr1d[2] = { 0, 0 };
193+
static arr2d[2][2] = { { 0, 0 }, { 0, 0 } };
194+
TestFunc(0, arr1d, arr2d);
195+
}
196+

0 commit comments

Comments
 (0)