Browse Source

* don't overwrite the curroffset field while adding bytes for bitpacked fields

git-svn-id: trunk@32569 -
Jonas Maebe 9 years ago
parent
commit
00d97d54ca
1 changed files with 3 additions and 3 deletions
  1. 3 3
      compiler/symtable.pas

+ 3 - 3
compiler/symtable.pas

@@ -1841,12 +1841,12 @@ implementation
                   tmpsize:=vardef.packedbitsize;
                   tmpsize:=vardef.packedbitsize;
                   sizectr:=((curroffset+tmpsize+7) shr 3)-((curroffset+7) shr 3);
                   sizectr:=((curroffset+tmpsize+7) shr 3)-((curroffset+7) shr 3);
                   inc(curroffset,tmpsize);
                   inc(curroffset,tmpsize);
-                  curroffset:=0;
+                  tmpsize:=0;
                   while sizectr<>0 do
                   while sizectr<>0 do
                     begin
                     begin
-                      symdeflist.add(tllvmshadowsymtableentry.create(u8inttype,fieldoffset+curroffset*8));
+                      symdeflist.add(tllvmshadowsymtableentry.create(u8inttype,fieldoffset+tmpsize*8));
                       dec(sizectr);
                       dec(sizectr);
-                      inc(curroffset);
+                      inc(tmpsize);
                     end;
                     end;
                 end
                 end
               else
               else