Quick Search:

Mode

Context

Displaying 3 lines of context. None | Less | More | Full

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.61
 
1.62
 
MAIN:ragge:20071112190215
 
local.c
_>188188                 }
 189189                 break;
 190190 
<>191 -        case STCALL:
 192 -        case CALL:
 193 -                /* Fix function call arguments. On x86, just add funarg */
 194 -                for (r = p->n_right; r->n_op == CM; r = r->n_left) {
 195 -                        if (r->n_right->n_op != STARG &&
 196 -                            r->n_right->n_op != FUNARG)
 197 -                                r->n_right = block(FUNARG, r->n_right, NIL,
 198 -                                    r->n_right->n_type, r->n_right->n_df,
 199 -                                    r->n_right->n_sue);
 200 -                }
 201 -                if (r->n_op != STARG && r->n_op != FUNARG) {
 202 -                        l = talloc();
 203 -                        *l = *r;
 204 -                        r->n_op = FUNARG; r->n_left = l; r->n_type = l->n_type;
 205 -                }
 206 -                if (kflag == 0)
 207 -                        break;
 208 -                /* FALLTHROUGH */
209191         case UCALL:
 210192         case USTCALL:
<>211 -                /* Add move node for GOT */
  193+                if (kflag == 0)
  194+                        break;
  195+                /* Change to CALL node with ebx as argument */
  196+                l = block(REG, NIL, NIL, INT, 0, MKSUE(INT));
  197+                l->n_rval = EBX;
  198+                p->n_right = buildtree(ASSIGN, l,
  199+                    tempnode(gotnr, INT, 0, MKSUE(INT)));
  200+                p->n_op -= (UCALL-CALL);
<_212201                 break;
 213202                 
 214203         case CBRANCH:
FishEye: Open Source License registered to PCC.
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-12-23 04:44 +0100