From 7f41bb4718f238a86ab07aeef677d27c16a43c5a Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Sat, 4 Feb 2023 12:23:29 +0100 Subject: [PATCH] JVM: add typesym for anonymous record typed constants Fixes compilation of system unit with JVM compiler after b38d13577f943 --- compiler/pdecl.pas | 3 ++- compiler/pdecvar.pas | 1 + compiler/symutil.pas | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/compiler/pdecl.pas b/compiler/pdecl.pas index e8c3327864..31e2171c8c 100644 --- a/compiler/pdecl.pas +++ b/compiler/pdecl.pas @@ -59,7 +59,7 @@ implementation globals,tokens,verbose,widestr,constexp, systems,aasmdata,fmodule,compinnr, { symtable } - symconst,symbase,symcpu,symcreat,defutil,defcmp,symtable, + symconst,symbase,symcpu,symcreat,defutil,defcmp,symtable,symutil, { pass 1 } ninl,ncon,nobj,ngenutil,nld,nmem,ncal,pass_1, { parser } @@ -352,6 +352,7 @@ implementation if not skip_initialiser then begin consume(_EQ); + maybe_guarantee_record_typesym(tstaticvarsym(sym).vardef,tstaticvarsym(sym).vardef.owner); read_typed_const(current_asmdata.asmlists[asmtype],tstaticvarsym(sym),in_structure); end; end; diff --git a/compiler/pdecvar.pas b/compiler/pdecvar.pas index ea6a013261..3b421629b1 100644 --- a/compiler/pdecvar.pas +++ b/compiler/pdecvar.pas @@ -1155,6 +1155,7 @@ implementation end; staticvarsym : begin + maybe_guarantee_record_typesym(vs.vardef,vs.vardef.owner); read_typed_const(current_asmdata.asmlists[al_typedconsts],tstaticvarsym(vs),false); end; else diff --git a/compiler/symutil.pas b/compiler/symutil.pas index 840a778d8c..c1b9bb188e 100644 --- a/compiler/symutil.pas +++ b/compiler/symutil.pas @@ -34,7 +34,7 @@ interface function get_first_proc_str(Options: TProcOptions): ShortString; - procedure maybe_guarantee_record_typesym(var def: tdef; st: tsymtable); + procedure maybe_guarantee_record_typesym(def: tdef; st: tsymtable); function is_normal_fieldvarsym(sym: tsym): boolean; inline; @@ -125,7 +125,7 @@ implementation end; - procedure maybe_guarantee_record_typesym(var def: tdef; st: tsymtable); + procedure maybe_guarantee_record_typesym(def: tdef; st: tsymtable); var ts: ttypesym; begin