Fixed compiler not handling constant chained relational operators correctly (bug 3838, r=fyren).
This commit is contained in:
parent
d4798ccaa5
commit
a1543f79cb
@ -708,13 +708,16 @@ static int plnge_rel(int *opstr,int opoff,int (*hier)(value *lval),value *lval)
|
|||||||
rvalue(lval);
|
rvalue(lval);
|
||||||
count=0;
|
count=0;
|
||||||
lval->boolresult=TRUE;
|
lval->boolresult=TRUE;
|
||||||
|
char boolresult;
|
||||||
do {
|
do {
|
||||||
/* same check as in plnge(), but "chkbitwise" is always TRUE */
|
/* same check as in plnge(), but "chkbitwise" is always TRUE */
|
||||||
if (count>0 && bitwise_opercount!=0)
|
if (count>0 && bitwise_opercount!=0)
|
||||||
error(212);
|
error(212);
|
||||||
if (count>0) {
|
if (count>0) {
|
||||||
relop_prefix();
|
relop_prefix();
|
||||||
|
boolresult=lval->boolresult;
|
||||||
*lval=lval2; /* copy right hand expression of the previous iteration */
|
*lval=lval2; /* copy right hand expression of the previous iteration */
|
||||||
|
lval->boolresult=boolresult;
|
||||||
} /* if */
|
} /* if */
|
||||||
opidx+=opoff;
|
opidx+=opoff;
|
||||||
plnge2(op1[opidx],hier,lval,&lval2);
|
plnge2(op1[opidx],hier,lval,&lval2);
|
||||||
|
Loading…
Reference in New Issue
Block a user