* fixed field alignment when reusing an anonymous recorddef for LLVM and

the LLVM layout of an instance does not match the original one
    (e.g. because it contains procdefs of procedures with different
     signatures)

git-svn-id: trunk@42477 -
This commit is contained in:
Jonas Maebe 2019-07-21 11:06:54 +00:00
parent 217ae6e4bb
commit e7fbebfef5

View File

@ -388,9 +388,12 @@ implementation
newdef:=crecorddef.create_global_internal('',1,1); newdef:=crecorddef.create_global_internal('',1,1);
recorddef, recorddef,
objectdef: objectdef:
newdef:=crecorddef.create_global_internal('', begin
tabstractrecordsymtable(tabstractrecorddef(info.def).symtable).recordalignment, newdef:=crecorddef.create_global_internal('',
tabstractrecordsymtable(tabstractrecorddef(info.def).symtable).recordalignmin); tabstractrecordsymtable(tabstractrecorddef(info.def).symtable).usefieldalignment,
tabstractrecordsymtable(tabstractrecorddef(info.def).symtable).recordalignmin);
tabstractrecordsymtable(newdef.symtable).recordalignment:=tabstractrecordsymtable(tabstractrecorddef(info.def).symtable).recordalignment;
end
else else
internalerror(2015122401); internalerror(2015122401);
end; end;