Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.19
 
1.20
 
MAIN:ragge:20030106225154
 
pftn.c
_>807807         /* rest is used to do a lot of conversion to ints... */
 808808 
 809809         if( inoff == n ) return;
<>810 -        if( inoff > n ) {
 811 -                cerror( "initialization alignment error");
 812 -                }
  810+        if (inoff > n)
  811+                cerror("initialization alignment error: inoff %lld n %lld",
  812+                    inoff, n);
813813 
 814814         wb = inoff;
 815815         SETOFF( wb, SZINT );
     
 !
932932                         ++pstk;
 933933 
 934934                 pstk->in_fl = 0;        /* { flag */
<>935 -                pstk->in_id = id ;
 936 -                pstk->in_t = t ;
 937 -                pstk->in_d = d ;
 938 -                pstk->in_s = s ;
  935+                pstk->in_id = id;
  936+                pstk->in_t = t;
  937+                pstk->in_d = d;
  938+                pstk->in_s = s;
939939                 pstk->in_n = 0/* number seen */
<>940 -                pstk->in_xt == STRTY ? dimtab[s+1] : 0 ;
  940+                pstk->in_x = (t == STRTY || t == UNIONTY) ? dimtab[s+1] : 0 ;
941941                 pstk->in_off = off;/* offset at the beginning of this element */
 942942 
 943943                 /* if t is an array, DECREF(t) can't be a field */
     
 !
960960                         t = DECREF(t);
 961961                         ++d;
 962962                         continue;
<>963 -                } else if (t == STRTY) {
  963+                } else if (t == STRTY || t == UNIONTY) {
964964                         if (dimtab[pstk->in_s] == 0) {
<>965 -                                uerror("can't initialize undefined structure");
  965+                                uerror("can't initialize undefined %s",
  966+                                    t == STRTY ? "structure" : "union");
966967                                 iclass = -1;
 967968                                 return;
 968969                         }
 969970                         id = dimtab[pstk->in_x];
 970971                         p = &stab[id];
<>971 -                        if (p->sclass != MOS && !(p->sclass&FIELD))
 972 -                                cerror("insane structure member list");
  972+                        if (((p->sclass != MOS && t == STRTY) ||
  973+                            (p->sclass != MOU && t == UNIONTY)) &&
  974+                            !(p->sclass&FIELD))
  975+                                cerror("insane %s member list",
  976+                                    t == STRTY ? "structure" : "union");
973977                         t = p->stype;
 974978                         d = p->dimoff;
 975979                         s = p->sizoff;
     
 !
12151219                 
 12161220                 t = pstk->in_t;
 12171221 
<>1218 -                if( t == STRTY ){
  1222+                if( t == STRTY || t == UNIONTY){
12191223                         ix = ++pstk->in_x;
 12201224                         if( (id=dimtab[ix]) < 0 ) continue;
 12211225 
     
 !
12551259         for (; pstk > instack; --pstk) {
 12561260 
 12571261                 t = pstk->in_t;
<>1258 -                if (t != STRTY && !ISARY(t))
  1262+                if (t != UNIONTY && t != STRTY && !ISARY(t))
<_12591263                         continue; /* not an aggregate */
 12601264                 if (pstk->in_fl) { /* already associated with a { */
 12611265                         if (pstk->in_n)
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-22 03:05 +0100