2
0
Эх сурвалжийг харах

LLVM: fix variant records when alignment of first part is not the highest

Resolves #40015
Jonas Maebe 2 жил өмнө
parent
commit
c5f4a6acd0
1 өөрчлөгдсөн 2 нэмэгдсэн , 1 устгасан
  1. 2 1
      compiler/symtable.pas

+ 2 - 1
compiler/symtable.pas

@@ -2288,7 +2288,8 @@ implementation
                 if (varcount>=variantstarts.count) then
                   internalerror(2008051005);
                 { new variant part -> use the one with the biggest alignment }
-                i:=tempsymlist.indexof(tobject(variantstarts[varcount]));
+                fieldvs:=tfieldvarsym(variantstarts[varcount]);
+                i:=tempsymlist.indexof(fieldvs);
                 lastvaroffsetprocessed:=fieldvs.fieldoffset;
                 inc(varcount);
                 if (i<0) then