Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.178
 
1.179
 
MAIN:otto:20071012170232
 
pftn.c
_>20462046 static NODE *
 20472047 builtin_va_arg(NODE *f, NODE *a)
 20482048 {
<>2049 -        NODE *p, *q, *r;
  2049+        NODE *p, *q, *r, *rv;
20502050         int sz, nodnum;
 20512051 
 20522052         /* check num args and type */
     
 !
20582058         p = tcopy(a->n_left);
 20592059         q = tempnode(0, p->n_type, p->n_df, p->n_sue);
 20602060         nodnum = q->n_lval;
<>2061 -        ecomp(buildtree(ASSIGN, q, p)); /* done! */
  2061+        rv = buildtree(ASSIGN, q, p);
20622062 
 20632063         r = a->n_right;
 20642064         sz = tsize(r->n_type, r->n_df, r->n_sue)/SZCHAR;
 20652065         /* add one to ap */
 20662066 #ifdef BACKAUTO
<>2067 -        ecomp(buildtree(PLUSEQ, a->n_left, bcon(sz)));
  2067+        rv = buildtree(COMOP, rv , buildtree(PLUSEQ, a->n_left, bcon(sz)));
20682068 #else
<>2069 -        /* XXX fix this; wrong order */
  2069+#error fix wrong eval order in builtin_va_arg
20702070         ecomp(buildtree(MINUSEQ, a->n_left, bcon(sz)));
 20712071 #endif
 20722072 
 20732073         nfree(a->n_right);
 20742074         nfree(a);
 20752075         nfree(f);
 20762076         r = tempnode(nodnum, INCREF(r->n_type), r->n_df, r->n_sue);
<>2077 -        return buildtree(UMUL, r, NIL);
  2077+        return buildtree(COMOP, rv, buildtree(UMUL, r, NIL));
<_20782078 bad:
 20792079         uerror("bad argument to __builtin_va_arg");
 20802080         return bcon(0);
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-22 12:13 +0200