mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-28 14:00:03 +02:00
* fixed recordsymtable.insert_in() for inserting variant record fields
to not used symtable.insert() because that also updates alignmentinfo which was already set
This commit is contained in:
parent
f18ec46e64
commit
4f36879f03
@ -1047,14 +1047,19 @@ implementation
|
|||||||
ps:=tvarsym(symindex.first);
|
ps:=tvarsym(symindex.first);
|
||||||
while assigned(ps) do
|
while assigned(ps) do
|
||||||
begin
|
begin
|
||||||
{ this is used to insert case variant into the main
|
|
||||||
record }
|
|
||||||
tsymt.datasize:=ps.address+offset;
|
|
||||||
nps:=tvarsym(ps.indexnext);
|
nps:=tvarsym(ps.indexnext);
|
||||||
|
{ remove from current symtable }
|
||||||
symindex.deleteindex(ps);
|
symindex.deleteindex(ps);
|
||||||
ps.left:=nil;
|
ps.left:=nil;
|
||||||
ps.right:=nil;
|
ps.right:=nil;
|
||||||
tsymt.insert(ps);
|
{ add to symt }
|
||||||
|
ps.owner:=tsymt;
|
||||||
|
tsymt.datasize:=ps.address+offset;
|
||||||
|
tsymt.symindex.insert(ps);
|
||||||
|
tsymt.symsearch.insert(ps);
|
||||||
|
{ update address }
|
||||||
|
ps.address:=tsymt.datasize;
|
||||||
|
{ next }
|
||||||
ps:=nps;
|
ps:=nps;
|
||||||
end;
|
end;
|
||||||
pd:=tdef(defindex.first);
|
pd:=tdef(defindex.first);
|
||||||
@ -2023,7 +2028,12 @@ implementation
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.52 2002-01-24 18:25:50 peter
|
Revision 1.53 2002-01-29 19:46:00 peter
|
||||||
|
* fixed recordsymtable.insert_in() for inserting variant record fields
|
||||||
|
to not used symtable.insert() because that also updates alignmentinfo
|
||||||
|
which was already set
|
||||||
|
|
||||||
|
Revision 1.52 2002/01/24 18:25:50 peter
|
||||||
* implicit result variable generation for assembler routines
|
* implicit result variable generation for assembler routines
|
||||||
* removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
|
* removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user