Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.237
 
1.238
 
MAIN:ragge:20081211071747
 
pftn.c
_>100100         int     rstr;
 101101         struct  symtab *rsym;
 102102         struct  symtab *rb;
<> 103+        struct  suedef *rsue;
103104         int     flags;
 104105 #define LASTELM 1
 105106 } *rpole;
     
 !
770771  * begining of structure or union declaration
 771772  */
 772773 struct rstack *
<>773 -bstruct(char *name, int soru)
  774+bstruct(char *name, int soru, struct suedef *sue)
774775 {
 775776         struct rstack *r;
 776777         struct symtab *sp;
     
 !
791792         r->rsou = soru;
 792793         r->rsym = sp;
 793794         r->rb = NULL;
<> 795+        r->rsue = sue;
794796         r->rnext = rpole;
 795797         rpole = r;
 796798 
     
 !
813815         struct suedef *sue;
 814816         struct symtab *sp;
 815817         int al, sa, sz, coff;
<> 818+        struct suedef sues;
816819 
<> 820+        if (suep && r->rsue) { /* merge */
  821+                if (suep->suealigned == 0)
  822+                        suep->suealigned = r->rsue->suealigned;
  823+                if (suep->suepacked == 0)
  824+                        suep->suepacked = r->rsue->suepacked;
  825+        } else if (suep == NULL)
  826+                suep = r->rsue;
  827+        if (suep == NULL)
  828+                suep = memset(&sues, 0, sizeof sues);
  829+
817830         if (pragma_allpacked && !suep->suepacked)
 818831                 suep->suepacked = pragma_allpacked;
 819832 
     
 !
853866                  * set al, the alignment, to the lcm of the alignments
 854867                  * of the members.
 855868                  */
<>856 -                SETOFF(al, sa);
  869+                if (suep->suepacked == 0)
  870+                        SETOFF(al, sa);
857871         }
 858872 
 859873         /* If alignment given is larger that calculated, expand */
 860874         if (suep->suealigned)
 861875                 SETOFF(al, suep->suealigned);
 862876 
<>863 -        if (!suep->suepacked)
 864 -                SETOFF(rpole->rstr, al);
  877+        SETOFF(rpole->rstr, al);
<_865878 
 866879         sue->suesize = rpole->rstr;
 867880         sue->suealign = al;
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 10:34 +0100