Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.207
 
1.208
 
MAIN:ragge:20081019152220
 
trees.c
_>7070 # include "pass2.h"
 7171 
 7272 # include <stdarg.h>
<> 73+#ifdef mach_pdp11
  74+#include <setjmp.h>
  75+#endif
7376 
 7477 static void chkpun(NODE *p);
 7578 static int opact(NODE *p);
     
 !
106109         */
 107110 
 108111 int bdebug = 0;
<> 112+extern int negrel[];
109113 
<> 114+
110115 NODE *
 111116 buildtree(int o, NODE *l, NODE *r)
 112117 {
     
 !
562567 {
 563568         p = buildtree(CBRANCH, p, q);
 564569         if (p->n_left->n_op == ICON) {
<>565 -                if (p->n_left->n_lval != 0)
  570+                if (p->n_left->n_lval != 0) {
566571                         branch(q->n_lval); /* branch always */
<> 572+                        reached = 0;
  573+                }
567574                 tfree(p);
 568575                 tfree(q);
 569576                 return;
     
 !
16271634 }
 16281635 # endif
 16291636 
<>1630 -extern int negrel[];
 1631 -
16321637 /*
 16331638  * Walk up through the tree from the leaves,
 16341639  * removing constant operators.
     
 !
18101815         }
 18111816 }
 18121817 
<> 1818+#ifdef mach_pdp11
  1819+jmp_buf comopbuf;
  1820+#endif
  1821+
18131822 /*
 18141823  * Massage the output trees to remove C-specific nodes:
 18151824  *      COMOPs are split into separate statements.
     
 !
18241833         NODE *q, *r;
 18251834         int o, ty, lbl, lbl2, tval = 0;
 18261835 
<> 1836+#ifndef mach_pdp11
18271837 again:
<> 1838+#endif
18281839         o = p->n_op;
 18291840         ty = coptype(o);
 18301841         switch (o) {
     
 !
19131924                 q = p->n_right;
 19141925                 *p = *p->n_right;
 19151926                 nfree(q);
<> 1927+#ifdef mach_pdp11
  1928+                longjmp(comopbuf, 1);
  1929+#else
19161930                 goto again;
<> 1931+#endif
19171932 
 19181933         default:
 19191934                 if (ty == LTYPE)
     
 !
20192034                 reached = 1;
 20202035         }
 20212036         p = optim(p);
<> 2037+#ifdef mach_pdp11
  2038+        setjmp(comopbuf);
  2039+#endif
<_20222040         rmcops(p);
 20232041         p = delasgop(p);
 20242042         if (p->n_op == ICON && p->n_type == VOID)
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-10-02 10:25 +0200