finally, a correct fix
This commit is contained in:
parent
69b6ed5f56
commit
3b79a063b6
|
@ -356,10 +356,6 @@ static int skim(int *opstr,void (*testfunc)(int),int dropval,int endval,
|
||||||
for ( ;; ) {
|
for ( ;; ) {
|
||||||
lvalue=plnge1(hier,lval); /* evaluate left expression */
|
lvalue=plnge1(hier,lval); /* evaluate left expression */
|
||||||
|
|
||||||
if (!lvalue && sc_intest && (lval->ident==iARRAY && lval->ident==iREFARRAY)) {
|
|
||||||
error(33, lval->sym ? (lval->sym->name ? lval->sym->name : "-unknown") : "-unknown-"); /* array was not indexed in an expression */
|
|
||||||
}
|
|
||||||
|
|
||||||
allconst= allconst && (lval->ident==iCONSTEXPR);
|
allconst= allconst && (lval->ident==iCONSTEXPR);
|
||||||
if (allconst) {
|
if (allconst) {
|
||||||
if (hits) {
|
if (hits) {
|
||||||
|
@ -379,7 +375,13 @@ static int skim(int *opstr,void (*testfunc)(int),int dropval,int endval,
|
||||||
droplab=getlabel();
|
droplab=getlabel();
|
||||||
} /* if */
|
} /* if */
|
||||||
dropout(lvalue,testfunc,droplab,lval);
|
dropout(lvalue,testfunc,droplab,lval);
|
||||||
|
if (!lvalue && sc_intest && (lval->ident==iARRAY || lval->ident==iREFARRAY)) {
|
||||||
|
error(33, lval->sym ? (lval->sym->name ? lval->sym->name : "-unknown") : "-unknown-"); /* array was not indexed in an expression */
|
||||||
|
}
|
||||||
} else if (hits) { /* no (more) identical operators */
|
} else if (hits) { /* no (more) identical operators */
|
||||||
|
if (!lvalue && sc_intest && (lval->ident==iARRAY || lval->ident==iREFARRAY)) {
|
||||||
|
error(33, lval->sym ? (lval->sym->name ? lval->sym->name : "-unknown") : "-unknown-"); /* array was not indexed in an expression */
|
||||||
|
}
|
||||||
dropout(lvalue,testfunc,droplab,lval); /* found at least one operator! */
|
dropout(lvalue,testfunc,droplab,lval); /* found at least one operator! */
|
||||||
ldconst(endval,sPRI);
|
ldconst(endval,sPRI);
|
||||||
jumplabel(endlab=getlabel());
|
jumplabel(endlab=getlabel());
|
||||||
|
|
Loading…
Reference in New Issue
Block a user