Skip to content

Commit 7d7b491

Browse files
committed
COMMON: Fixed compiler checking for redundant symbols
1 parent cbdf3aa commit 7d7b491

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

ChangeLog

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
Fixed issues with CHAIN
3333
Fixed TLOAD to work correctly with TRY/CATCH
3434
Fixed XPOS and YPOS to return 0 based values
35+
Fixed compiler checking for redundant symbols, for example: let a = 1 2 3
3536

3637
2016-02-11
3738
Added export to mobile command (SDL)

ide/android/assets/main.bas

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ sub do_okay_button()
5656
button.x = xmax / 2
5757
button.y = -1
5858
button.label = "Close"
59-
button.backgroundColor = "green"
60-
button.color = "white"
59+
button.backgroundColor = 8
60+
button.color = 10
6161
frm.inputs << button
6262
frm = form(frm)
6363
print

src/common/ceval.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,21 @@ void cev_prim_args() {
141141
}
142142
}
143143

144+
// test for repeated primatives
145+
void cev_check_dup_prim() {
146+
switch (CODE(IP)) {
147+
case kwTYPE_INT:
148+
case kwTYPE_NUM:
149+
case kwTYPE_STR:
150+
case kwTYPE_VAR:
151+
case kwTYPE_CALLF:
152+
cev_opr_err();
153+
break;
154+
default:
155+
break;
156+
}
157+
}
158+
144159
/*
145160
* prim
146161
*/
@@ -153,25 +168,31 @@ void cev_prim() {
153168
case kwTYPE_INT:
154169
bc_add_n(bc_out, bc_in->ptr + bc_in->cp, OS_INTSZ);
155170
IP += OS_INTSZ;
171+
cev_check_dup_prim();
156172
break;
157173
case kwTYPE_NUM:
158174
bc_add_n(bc_out, bc_in->ptr + bc_in->cp, OS_REALSZ);
159175
IP += OS_REALSZ;
176+
cev_check_dup_prim();
160177
break;
161178
case kwTYPE_STR:
162179
cev_prim_str();
180+
cev_check_dup_prim();
163181
break;
164182
case kwTYPE_CALL_UDP:
165183
cev_udp();
184+
cev_check_dup_prim();
166185
break;
167186
case kwTYPE_PTR:
168187
bc_add_n(bc_out, bc_in->ptr + bc_in->cp, ADDRSZ); // addr
169188
IP += ADDRSZ;
170189
bc_add_n(bc_out, bc_in->ptr + bc_in->cp, ADDRSZ); // return var
171190
IP += ADDRSZ;
191+
cev_check_dup_prim();
172192
break;
173193
case kwTYPE_VAR:
174194
cev_prim_var();
195+
cev_check_dup_prim();
175196
break;
176197
case kwTYPE_CALL_UDF: // [udf1][addr2]
177198
case kwTYPE_CALLEXTF: // [lib][index]
@@ -188,6 +209,9 @@ void cev_prim() {
188209
cev_prim_args();
189210
}
190211
}
212+
if (code != kwBYREF) {
213+
cev_check_dup_prim();
214+
}
191215
break;
192216
};
193217
}

0 commit comments

Comments
 (0)