mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-13 19:59:44 +02:00
* fix for mantis #22796: add alignment padding to records before inserting
hidden parameters while parsing the interface, because they may depend on the padded size (since the size was not yet padded in the interface and padded in the implementation, this could result in differences) git-svn-id: trunk@22414 -
This commit is contained in:
parent
349a682596
commit
64740049bf
@ -822,12 +822,13 @@ implementation
|
||||
add_typedconst_init_routine(current_structdef);
|
||||
consume(_END);
|
||||
end;
|
||||
{ make the record size aligned (has to be done before inserting the
|
||||
parameters, because that may depend on the record's size) }
|
||||
recst.addalignmentpadding;
|
||||
{ don't keep track of procdefs in a separate list, because the
|
||||
compiler may add additional procdefs (e.g. property wrappers for
|
||||
the jvm backend) }
|
||||
insert_record_hidden_paras(trecorddef(current_structdef));
|
||||
{ make the record size aligned }
|
||||
recst.addalignmentpadding;
|
||||
{ restore symtable stack }
|
||||
symtablestack.pop(recst);
|
||||
if trecorddef(current_structdef).is_packed and is_managed_type(current_structdef) then
|
||||
|
@ -1,3 +1,5 @@
|
||||
{ %norun }
|
||||
|
||||
program CompileError;
|
||||
|
||||
{$mode delphi}{$H+}
|
||||
|
Loading…
Reference in New Issue
Block a user