Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.329
 
1.330
 
MAIN:ragge:20110706201538
 
pftn.c
_>379379 #endif
 380380         if (type < BTMASK && (ap = attr_find(q->n_ap, GCC_ATYP_MODE))) {
 381381                 int u = ISUNSIGNED(type);
<>382 -                type = u ? ENUNSIGN(ap->iarg(0)) : ap->iarg(0);
  382+                type = ENUNSIGN(ap->iarg(0));
383383                 if (type == XTYPE)
 384384                         uerror("fix XTYPE basetyp");
 385385         }
     
 !
10921092 talign(unsigned int ty, struct attr *apl)
 10931093 {
 10941094         struct attr *al;
<>1095 -        int i, a;
  1095+        int a;
10961096 
<>1097 -        for( i=0; i<=(SZINT-BTSHIFT-1); i+=TSHIFT ){
 1098 -                switch( (ty>>i)&TMASK ){
 1099 -
  1097+        for (; ty > BTMASK; ty = DECREF(ty)) {
  1098+                switch (ty & TMASK) {
11001099                 case PTR:
 11011100                         return(ALPOINT);
 11021101                 case ARY:
 11031102                         continue;
 11041103                 case FTN:
 11051104                         cerror("compiler takes alignment of function");
<>1106 -                case 0:
 1107 -                        break;
 1108 -                        }
11091105                 }
<> 1106+        }
11101107 
 11111108         /* check for alignment attribute */
 11121109         if ((al = attr_find(apl, GCC_ATYP_ALIGNED))) {
     
 !
11181115         }
 11191116 
 11201117         ty = BTYPE(ty);
<>1121 -        if (ISUNSIGNED(ty))
  1118+        if (ty >= CHAR && ty <= ULONGLONG && ISUNSIGNED(ty))
11221119                 ty = DEUNSIGN(ty);
 11231120 
 11241121         switch (ty) {
     
 !
11381135         return a;
 11391136 }
 11401137 
<>1141 -short sztable[] = { 0, 0, SZCHAR, SZCHAR, SZSHORT, SZSHORT, SZINT, SZINT,
  1138+short sztable[] = { 0, SZBOOL, SZCHAR, SZCHAR, SZSHORT, SZSHORT, SZINT, SZINT,
11421139         SZLONG, SZLONG, SZLONGLONG, SZLONGLONG, SZFLOAT, SZDOUBLE, SZLDOUBLE };
 11431140 
 11441141 /* compute the size associated with type ty,
     
 !
11491146 {
 11501147         struct attr *ap, *ap2;
 11511148         OFFSZ mult, sz;
<>1152 -        int i;
11531149 
 11541150         mult = 1;
 11551151 
<>1156 -        for( i=0; i<=(SZINT-BTSHIFT-1); i+=TSHIFT ){
 1157 -                switch( (ty>>i)&TMASK ){
  1152+        for (; ty > BTMASK; ty = DECREF(ty)) {
  1153+                switch (ty & TMASK) {
11581154 
 11591155                 case FTN:
 11601156                         uerror( "cannot take size of function");
     
 !
11671163                                 cerror("tsize: dynarray");
 11681164                         mult *= d->ddim;
 11691165                         d++;
<>1170 -                        continue;
 1171 -                case 0:
 1172 -                        break;
 1173 -
 1174 -                        }
11751166                 }
<> 1167+        }
11761168 
<>1177 -        if ((ty = BTYPE(ty)) == VOID)
  1169+        if (ty == VOID)
11781170                 ty = CHAR;
 11791171         if (ty <= LDOUBLE)
 11801172                 sz = sztable[ty];
<>1181 -        else if (ty == BOOL)
 1182 -                sz = SZBOOL;
<_11831173         else if (ISSOU(ty)) {
 11841174                 if ((ap = strattr(apl)) == NULL ||
 11851175                     (ap2 = attr_find(apl, GCC_ATYP_ALIGNED)) == NULL ||
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-30 14:03 +0100