From 4f36879f03c0e2de4a14f84b4cc947873317e5ca Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 29 Jan 2002 19:46:00 +0000 Subject: [PATCH] * fixed recordsymtable.insert_in() for inserting variant record fields to not used symtable.insert() because that also updates alignmentinfo which was already set --- compiler/symtable.pas | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/compiler/symtable.pas b/compiler/symtable.pas index 0bcf9cf17a..b9f55acc77 100644 --- a/compiler/symtable.pas +++ b/compiler/symtable.pas @@ -1047,14 +1047,19 @@ implementation ps:=tvarsym(symindex.first); while assigned(ps) do begin - { this is used to insert case variant into the main - record } - tsymt.datasize:=ps.address+offset; nps:=tvarsym(ps.indexnext); + { remove from current symtable } symindex.deleteindex(ps); ps.left:=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; end; pd:=tdef(defindex.first); @@ -2023,7 +2028,12 @@ implementation end. { $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 * removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead