changeset 695:3e69986a7b82

*** empty log message ***
author kono
date Wed, 17 Oct 2007 22:22:12 +0900
parents edc024fc7472
children 7f0f92380714
files Changes mc-inline.c
diffstat 2 files changed, 12 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/Changes	Wed Oct 17 18:11:46 2007 +0900
+++ b/Changes	Wed Oct 17 22:22:12 2007 +0900
@@ -9576,9 +9576,9 @@
 type を返しているのがまずい。両方直すんだろうな。
 
 
-
-
-
-
-
-
+Wed Oct 17 18:36:23 JST 2007
+
+だいぶ破壊しちゃったよ... RSTRUCT が一貫してない。mc-code-*.c
+を直すのは本末転倒。-r scope-fix までだと、変更が多すぎる。
+
+はぁ〜 ちょっと頭痛い。酒か、血圧か? 血圧計が欲しい...
--- a/mc-inline.c	Wed Oct 17 18:11:46 2007 +0900
+++ b/mc-inline.c	Wed Oct 17 22:22:12 2007 +0900
@@ -652,7 +652,10 @@
 static int
 palloc(int e)
 {
-    return list2(car(e),pexpr(cadr(e)));
+    int e1 = pexpr(e);
+    if (car(e1)==CONST) 
+	return list2(ADDRESS,list3(LVAR,new_lvar_align(cadr(e1),16),0));
+    return list2(ALLOCA,e1);
 }
 
 static int
@@ -679,7 +682,8 @@
 static int
 pbassop(int e)
 {
-    int e1=pexpr(caddr(e));
+    int e1 = caddr(e);
+    if (car(e)==BASSOP) e1=pexpr(e1);
     return list4(car(e),pexpr(cadr(e)),e1,cadddr(e));
 }