Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.48
 
1.49
 
MAIN:ragge:20030707135304
 
trees.c
_>705705         struct suedef *sue;
 706706         union dimfun *d;
 707707         TWORD t;
<>708 -        int dsc, align/* XXX 4.4 */
  708+        int dsc;
709709         OFFSZ off;
 710710         register struct symtab *q;
 711711 
     
 !
734734         off = q->soffset;
 735735         dsc = q->sclass;
 736736 
<>737 -        if (dsc & FIELD) {  /* normalize offset */
 738 -                align = ALINT;  /* XXX 4.4 */
  737+        if (dsc & FIELD) {  /* make fields look like ints */
  738+                off = (off/ALINT)*ALINT;
739739                 sue = MKSUE(INT);
<>740 -                off = (off/align)*align;        /* XXX 4.4 */
741740         }
 742741         if (off != 0)
 743742                 p = clocal(block(PLUS, p, offcon(off, t, d, sue), t, d, sue));
     
 !
748747 
 749748         if (dsc & FIELD) {
 750749                 p = block(FLD, p, NIL, q->stype, 0, q->ssue);
<>751 -                p->n_rval = PKFIELD(dsc&FLDSIZ, q->soffset%align);
  750+                p->n_rval = PKFIELD(dsc&FLDSIZ, q->soffset%ALINT);
752751         }
 753752 
 754753         p = clocal(p);
     
 !
768767                 p = p->n_left;
 769768                 goto again;
 770769 
<>771 -        case UNARY MUL/* XXX 4.4 */
 772 -                /* fix the &(a=b) bug, given that a and b are structures */
 773 -                if( p->n_left->n_op == STASG ) return( 1 );
 774 -                /* and the f().a bug, given that f returns a structure */
 775 -                if( p->n_left->n_op == UNARY STCALL ||
 776 -                    p->n_left->n_op == STCALL ) return( 1 );
777770         case NAME:
 778771         case OREG:
<> 772+        case UNARY MUL:
779773                 if( ISARY(p->n_type) || ISFTN(p->n_type) ) return(1);
 780774         case REG:
 781775                 return(0);
     
 !
957951                          * to cast to/from any pointers.
 958952                          */
 959953                         if (ISPTR(t1) && ISPTR(t2) &&
<>960 -                            (BTYPE(t1) == UNDEF || BTYPE(t2) == UNDEF))
  954+                            (BTYPE(t1) == VOID || BTYPE(t2) == VOID))
961955                                 break;
 962956                         uerror("illegal types in :");
 963957                 }
     
 !
983977                 break;
 984978                 }
 985979 
<>986 -        p->n_left = makety( p->n_left, t, d, 0 );
 987 -        p->n_left->n_sue = sue;
 988 -        p->n_right = makety( p->n_right, t, d, 0 );
 989 -        p->n_right->n_sue = sue;
  980+        p->n_left = makety( p->n_left, t, d, sue );
  981+        p->n_right = makety( p->n_right, t, d, sue );
<_990982         if( o!=MINUS && !logop(o) ){
 991983 
 992984                 p->n_type = t;
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-08-29 20:05 +0200