changeset 839:aed9be3c8b78

CAST and rvalue problem
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 03 Dec 2010 22:31:38 +0900
parents c7c19e5aefe7
children 1547193bddde
files Changes mc-parse.c
diffstat 2 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Changes	Fri Dec 03 22:06:34 2010 +0900
+++ b/Changes	Fri Dec 03 22:31:38 2010 +0900
@@ -9961,3 +9961,9 @@
 Fri Dec  3 14:27:04 JST 2010
 
 assign_expr0 の rvalue は、取ってしまっても意外に動く。float がおかしくなるらしい。
+
+Fri Dec  3 22:22:14 JST 2010
+
+non parse mode の CAST で、rvalue を取れば良いのかどうかがわからない。
+ad-hoc な直し方ではダメらしい。
+
--- a/mc-parse.c	Fri Dec 03 22:06:34 2010 +0900
+++ b/mc-parse.c	Fri Dec 03 22:31:38 2010 +0900
@@ -4275,7 +4275,8 @@
 		type = t;
 		return e1;
 	    } else {
-		// e1 = rvalue(e1);    this can be left value
+		if (integral(t) || t==DOUBLE || t==FLOAT || t==LONGLONG || t==ULONGLONG)
+		    e1 = rvalue(e1);    // this can be left value
 		e1 =  correct_type(e1,t);
 		type = t;
 		return e1;