Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.32
 
1.33
 
MAIN:ragge:20121201085340
 
local.c
_>617617  *
 618618  * It turns out that this is easy on MIPS.  Just write the
 619619  * argument registers to the stack in va_arg_start() and
 620620  * use the traditional method of walking the stackframe.
 621621  */
 622622 NODE *
<>623 -mips_builtin_stdarg_start(NODE *f, NODE *a, TWORD t)
  623+mips_builtin_stdarg_start(const struct bitable *bt, NODE *a)
624624 {
 625625         NODE *p, *q;
 626626         int sz = 1;
 627627 
 628628         /* check num args and type */
 629629         if (a == NULL || a->n_op != CM || a->n_left->n_op == CM ||
     
 !
642642         q = block(NAME, NIL, NIL, PTR+VOID, 0, 0);
 643643         q = buildtree(CAST, q, p);
 644644         p = q->n_right;
 645645         nfree(q->n_left);
 646646         nfree(q);
 647647         p = buildtree(ASSIGN, a->n_left, p);
<>648 -        tfree(f);
649648         nfree(a);
 650649 
 651650         return p;
 652651 
 653652 bad:
 654653         uerror("bad argument to __builtin_stdarg_start");
 655654         return bcon(0);
 656655 }
 657656 
 658657 NODE *
<>659 -mips_builtin_va_arg(NODE *f, NODE *a, TWORD t)
  658+mips_builtin_va_arg(const struct bitable *bt, NODE *a)
660659 {
 661660         NODE *p, *q, *r;
 662661         int sz, tmpnr;
 663662 
 664663         /* check num args and type */
 665664         if (a == NULL || a->n_op != CM || a->n_left->n_op == CM ||
     
 !
694693         q = buildtree(ASSIGN, a->n_left, q);
 695694 
 696695         q = buildtree(COMOP, p, q);
 697696 
 698697         nfree(a->n_right);
 699698         nfree(a);
<>700 -        nfree(f);
701699 
 702700         p = tempnode(tmpnr, INCREF(r->n_type), r->n_df, r->n_ap);
 703701         p = buildtree(UMUL, p, NIL);
 704702         p = buildtree(COMOP, q, p);
 705703 
 706704         return p;
 707705 
 708706 bad:
 709707         uerror("bad argument to __builtin_va_arg");
 710708         return bcon(0);
 711709 }
 712710 
 713711 NODE *
<>714 -mips_builtin_va_end(NODE *f, NODE *a, TWORD t)
  712+mips_builtin_va_end(const struct bitable *bt, NODE *a)
715713 {
<>716 -        tfree(f);
717714         tfree(a);
 718715         return bcon(0);
 719716 }
 720717 
 721718 NODE *
<>722 -mips_builtin_va_copy(NODE *f, NODE *a, TWORD t)
  719+mips_builtin_va_copy(const struct bitable *bt, NODE *a)
723720 {
<> 721+        NODE *f;
  722+
724723         if (a == NULL || a->n_op != CM || a->n_left->n_op == CM)
 725724                 goto bad;
<>726 -        tfree(f);
<_727725         f = buildtree(ASSIGN, a->n_left, a->n_right);
 728726         nfree(a);
 729727         return f;
 730728 
 731729 bad:
 732730         uerror("bad argument to __buildtin_va_copy");
FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-09-02 08:50 +0200