Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.316
 
1.317
 
MAIN:ragge:20110511201237
 
pftn.c
_>10831083                 }
 10841084 
 10851085         /* check for alignment attribute */
<>1086 -        if ((al = attr_find(apl, GCC_ATYP_ALIGNED)))
 1087 -                return al->iarg(0);
  1086+        if ((al = attr_find(apl, GCC_ATYP_ALIGNED))) {
  1087+                if ((a = al->iarg(0)) == 0) {
  1088+                        uerror("no alignment");
  1089+                        a = ALINT;
  1090+                }
  1091+                return a;
  1092+        }
10881093 
 10891094         ty = BTYPE(ty);
 10901095         if (ISUNSIGNED(ty))
     
 !
11131118 OFFSZ
 11141119 tsize(TWORD ty, union dimfun *d, struct attr *apl)
 11151120 {
<>1116 -        struct attr *ap;
  1121+        struct attr *ap, *ap2;
11171122         OFFSZ mult, sz;
 11181123         int i;
 11191124 
     
 !
11591164         case LDOUBLE: sz = SZLDOUBLE; break;
 11601165         case STRTY:
 11611166         case UNIONTY:
<>1162 -                if ((ap = strattr(apl)) == NULL) {
  1167+                if ((ap = strattr(apl)) == NULL ||
  1168+                    (ap2 = attr_find(apl, GCC_ATYP_ALIGNED)) == NULL ||
  1169+                    (ap2->iarg(0) == 0)) {
<_11631170                         uerror("unknown structure/union/enum");
 11641171                         sz = SZINT;
 11651172                 } else
FishEye: Open Source License registered to PCC.
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-12-18 15:27 +0100