Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.159
 
1.160
 
MAIN:ragge:20070811090505
 
trees.c
_>15481548         case UNIONTY:
 15491549                 return( MSTR );
 15501550 
<> 1551+        case BOOL:
15511552         case CHAR:
 15521553         case SHORT:
 15531554         case UCHAR:
     
 !
22142215         /* Convert "PTR undef" (void *) to "PTR uchar" */
 22152216         if (BTYPE(p->n_type) == VOID)
 22162217                 p->n_type = (p->n_type & ~BTMASK) | UCHAR;
<> 2218+        if (BTYPE(p->n_type) == BOOL) {
  2219+                if (p->n_op == SCONV && p->n_type == BOOL) {
  2220+                        /* create a jump and a set */
  2221+                        NODE *q, *r, *s;
  2222+                        int l, val;
22172223 
<> 2224+                        q = talloc();
  2225+                        *q = *p;
  2226+                        q->n_type = BOOL_TYPE;
  2227+                        r = tempnode(0, BOOL_TYPE, NULL, MKSUE(BOOL_TYPE));
  2228+                        val = r->n_lval;
  2229+                        s = tempnode(val, BOOL_TYPE, NULL, MKSUE(BOOL_TYPE));
  2230+                        *p = *s;
  2231+                        q = buildtree(ASSIGN, r, q);
  2232+                        cbranch(buildtree(EQ, q, bcon(0)), bcon(l = getlab()));
  2233+                        ecode(buildtree(ASSIGN, s, bcon(1)));
  2234+                        plabel(l);
  2235+                } else
  2236+                        p->n_type = (p->n_type & ~BTMASK) | BOOL_TYPE;
  2237+        }
  2238+                
<_22182239 }
 22192240 
 22202241 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-09-22 14:14 +0200