* wrong alignment was used in r38252: alignment for a class returns the alignment of the implict pointer, but we really need the alignment of the data structure

git-svn-id: trunk@38261 -
This commit is contained in:
florian 2018-02-16 20:56:15 +00:00
parent fb2a664640
commit 2e9f6f9dfb

View File

@ -356,9 +356,9 @@ implementation
(target_info.system in systems_garbage_collected_managed_types) then
begin
{ take care of the alignment of the fields }
if not(left.resultdef is tabstractrecorddef) then
if not(left.resultdef is tobjectdef) then
Internalerror(2018021601);
location_reset_ref(location,LOC_REFERENCE,def_cgsize(resultdef),newalignment(tabstractrecorddef(left.resultdef).alignment,vs.fieldoffset),[]);
location_reset_ref(location,LOC_REFERENCE,def_cgsize(resultdef),newalignment(tObjectSymtable(tobjectdef(left.resultdef).symtable).recordalignment,vs.fieldoffset),[]);
case left.location.loc of
LOC_CREGISTER,
LOC_REGISTER: