Mercurial > hg > CbC > old > device
changeset 567:790ecb8900f0
*** empty log message ***
author | kono |
---|---|
date | Wed, 11 Jan 2006 14:09:27 +0900 |
parents | ddc435b64fc8 |
children | 559eb65d1289 |
files | Changes mc-codegen.c |
diffstat | 2 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/Changes Wed Jan 11 13:59:06 2006 +0900 +++ b/Changes Wed Jan 11 14:09:27 2006 +0900 @@ -8209,3 +8209,5 @@ これだと、parse tree を正確に保存することはできない。 type を含めた変換をしないと構文解析できないし。 +long long のEQ/NEQ が、long long を返しているようですが。 +
--- a/mc-codegen.c Wed Jan 11 13:59:06 2006 +0900 +++ b/mc-codegen.c Wed Jan 11 14:09:27 2006 +0900 @@ -3886,7 +3886,7 @@ if (inmode) return list3(ST_OP,op,list4(e1,e2,t1,t2)); return(list3(op+LOP+(t1==ULONGLONG),e1,e2)); } - if (op==DIV||op==MUL||op==ADD||op==SUB||op==MOD||op==EQ||op==NEQ) { + if (op==DIV||op==MUL||op==ADD||op==SUB||op==MOD) { if (inmode) return list3(ST_OP,op,list4(e1,e2,t1,t2)); return(list3(op+LOP,e1,e2)); } @@ -3897,6 +3897,8 @@ return(list3(GT+LOP+us,e2,e1)); } else if(op==LE) { return(list3(GE+LOP+us,e2,e1)); + } else if(op==EQ||op==NEQ) { // EQ/NEQ has no unsign + return(list3(op+LOP,e1,e2)); } else if(op==GT||op==GE||op==LT||op==LE) { return(list3(op+LOP+us,e1,e2)); } else