Explorar o código

* fixed skipping if intermediate fields in llvm shadow symtable

git-svn-id: trunk@31640 -
Jonas Maebe %!s(int64=10) %!d(string=hai) anos
pai
achega
5a50d05e50
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      compiler/symtable.pas

+ 1 - 1
compiler/symtable.pas

@@ -1956,7 +1956,7 @@ implementation
             { find the last shadowfield whose offset <= the current field's offset }
             while (tllvmshadowsymtableentry(symdeflist[shadowindex]).fieldoffset<tfieldvarsym(equivst.symlist[i]).fieldoffset) and
                   (shadowindex<symdeflist.count-1) and
-                  (tllvmshadowsymtableentry(symdeflist[shadowindex+1]).fieldoffset>=tfieldvarsym(equivst.symlist[i]).fieldoffset) do
+                  (tllvmshadowsymtableentry(symdeflist[shadowindex+1]).fieldoffset<=tfieldvarsym(equivst.symlist[i]).fieldoffset) do
               inc(shadowindex);
             { set the field number and potential offset from that field (in case }
             { of overlapping variants)                                           }