comparison mc-code-powerpc.c @ 901:8bdd5061cb8f

RSTRUCT removal (at last)
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 08 Apr 2014 11:10:41 +0900
parents 5313ed059cee
children 485f13206916
comparison
equal deleted inserted replaced
900:8d225b0c3cf3 901:8bdd5061cb8f
2610 if (t>=0&&(car(t)==STRUCT||car(t)==UNION)) { 2610 if (t>=0&&(car(t)==STRUCT||car(t)==UNION)) {
2611 // The struct should be pushed after complex arguments. 2611 // The struct should be pushed after complex arguments.
2612 if (e5) { // compute address only, complex_ is me now. Clear it. 2612 if (e5) { // compute address only, complex_ is me now. Clear it.
2613 complex_ = 0; 2613 complex_ = 0;
2614 e4 = car(e3); 2614 e4 = car(e3);
2615 if (car(e4)==RSTRUCT) e4 = cadr(e4); 2615 if (car(e4)==INDIRECT) e4 = cadr(e4);
2616 else if (car(e4)==INDIRECT) e4 = cadr(e4);
2617 if (!simple_arg(e4)) { 2616 if (!simple_arg(e4)) {
2618 // Calculate complex struct address here. 2617 // Calculate complex struct address here.
2619 // If simple, leave it. 2618 // If simple, leave it.
2620 arg = get_register_var(0); 2619 arg = get_register_var(0);
2621 g_expr_u(assign_expr0(arg,e4,INT,INT)); 2620 g_expr_u(assign_expr0(arg,e4,INT,INT));