Prechádzať zdrojové kódy

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

Resolves #40015
Jonas Maebe 2 rokov pred
rodič
commit
c5f4a6acd0
1 zmenil súbory, kde vykonal 2 pridanie a 1 odobranie
  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