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