Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.277
 
1.278
 
MAIN:ragge:20110417164512
 
trees.c
_>10191019         }
 10201020 }
 10211021 
<> 1022+static NODE *
  1023+offplus(NODE *p, int off, TWORD t, TWORD q, union dimfun *d, struct attr *ap) {
  1024+        if (off != 0) {
  1025+                p = block(PLUS, p, offcon(off, t, d, ap), t, d, ap);
  1026+                p->n_qual = q;
  1027+                p = optim(p);
  1028+        }
  1029+
  1030+        return buildtree(UMUL, p, NIL);
  1031+}
  1032+
10221033 NODE *
 10231034 stref(NODE *p)
 10241035 {
     
 !
10721083         }
 10731084 #endif
 10741085 
<>1075 -#if 0
 1076 -        if (dsc & FIELD) {  /* make fields look like ints */
 1077 -                off = (off/ALINT)*ALINT;
 1078 -        }
 1079 -#endif
 1080 -        if (off != 0) {
 1081 -                p = block(PLUS, p, offcon(off, t, d, ap), t, d, ap);
 1082 -                p->n_qual = q;
 1083 -                p = optim(p);
 1084 -        }
 1085 -
 1086 -        p = buildtree(UMUL, p, NIL);
 1087 -
 1088 -        /* if field, build field info */
 1089 -
10901086         if (dsc & FIELD) {
<>1091 -                p = block(FLD, p, NIL, s->stype, 0, s->sap);
  1087+                TWORD ftyp = s->stype;
  1088+                int fal = talign(ftyp, ap);
  1089+                off = (off/fal)*fal;
  1090+                p = offplus(p, off, t, q, d, ap);
  1091+                p = block(FLD, p, NIL, ftyp, 0, s->sap);
10921092                 p->n_qual = q;
<>1093 -                p->n_rval = PKFIELD(dsc&FLDSIZ, s->soffset%talign(s->stype, ap));
 1094 -        }
  1093+                p->n_rval = PKFIELD(dsc&FLDSIZ, s->soffset%fal);
  1094+        } else
  1095+                p = offplus(p, off, t, q, d, ap);
<_10951096 
 10961097         p = clocal(p);
 10971098         return p;
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 05:08 +0100