comparison mc-codegen.c @ 191:8646a4a9cde9

*** empty log message ***
author kono
date Tue, 02 Dec 2003 02:25:53 +0900
parents f53d70110377
children 114e9d64b5cc
comparison
equal deleted inserted replaced
190:1b1c58483e67 191:8646a4a9cde9
76 } 76 }
77 77
78 int 78 int
79 g_expr0(int e1) 79 g_expr0(int e1)
80 { 80 {
81 int e2,e3,t,d; 81 int e2,e3,t,d,t1;
82 NMTBL *n; 82 NMTBL *n;
83 83
84 code_gexpr(e1); 84 code_gexpr(e1);
85 85
86 e2 = cadr(e1); 86 e2 = cadr(e1);
289 b_expr(cadr(e1),0,e2,0); 289 b_expr(cadr(e1),0,e2,0);
290 g_expr0(caddr(e1)); 290 g_expr0(caddr(e1));
291 t = code_get_fixed_creg(creg,d); 291 t = code_get_fixed_creg(creg,d);
292 jmp(e3=fwdlabel()); 292 jmp(e3=fwdlabel());
293 fwddef(e2); 293 fwddef(e2);
294 g_expr0(cadddr(e1)); 294 t1=g_expr0(cadddr(e1));
295 code_set_fixed_creg(t,1,d); 295 code_set_fixed_creg(t,1,d);
296 fwddef(e3); 296 fwddef(e3);
297 return d; 297 return t1;
298 case STASS: 298 case STASS:
299 sassign(e1); 299 sassign(e1);
300 return RSTRUCT; 300 return RSTRUCT;
301 case ASS: case CASS: case SASS: 301 case ASS: case CASS: case SASS:
302 assign(e1); 302 assign(e1);