Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.96
 
1.97
 
MAIN:ragge:20031215220206
 
trees.c
_>20422042 
 20432043 #endif
 20442044 
<> 2045+static int
  2046+storearg(NODE *p)
  2047+{
  2048+        static void storecall(NODE *);
  2049+        NODE *np;
  2050+        int al, tsz;
  2051+
  2052+        np = (p->n_op == CM ? p->n_right : p);
  2053+        storecall(np);
  2054+        al = talign(np->n_type, np->n_sue);
  2055+        tsz = tsize(np->n_type, np->n_df, np->n_sue);
  2056+        if (tsz < al)
  2057+                al = ALINT;
  2058+        SETOFF(tsz, al);
  2059+
  2060+        if (p->n_op == CM) {
  2061+                np = p->n_left;
  2062+                p->n_op = FUNARG;
  2063+                p->n_type = np->n_type;
  2064+                p->n_left = p->n_right;
  2065+                p->n_sue = MKSUE(p->n_type & BTMASK);
  2066+                p->n_rval = tsz;
  2067+                send_passt(IP_NODE, p);
  2068+                return storearg(np) + tsz;
  2069+        } else {
  2070+                p = block(FUNARG, p, NIL, p->n_type, 0,
  2071+                    MKSUE(p->n_type & BTMASK));
  2072+                p->n_rval = tsz;
  2073+                send_passt(IP_NODE, p);
  2074+                return tsz;
  2075+        }
  2076+}
  2077+
  2078+static void
  2079+storecall(NODE *p)
  2080+{
  2081+        int o = p->n_op;
  2082+        int ty = optype(o);
  2083+
  2084+        if (ty == LTYPE)
  2085+                return;
  2086+
  2087+        if (o == CALL || o == FORTCALL || o == STCALL) {
  2088+                p->n_op++; /* Make unary call XXX */
  2089+                storecall(p->n_left);
  2090+                p->n_rval = storearg(p->n_right);
  2091+                return;
  2092+        }
  2093+        if (ty != UTYPE)
  2094+                storecall(p->n_right);
  2095+        storecall(p->n_left);
  2096+}
  2097+
20452098 void
 20462099 ecode(NODE *p)  
 20472100 {
     
 !
20602113         }
 20612114 #endif
 20622115         p2tree(p);
<> 2116+        storecall(p);
<_20632117 #if !defined(MULTIPASS)
 20642118         send_passt(IP_NODE, p);
 20652119 #endif
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-11-01 11:24 +0100