diff options
author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2018-11-28 19:24:42 +0000 |
---|---|---|
committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2018-11-28 19:24:42 +0000 |
commit | 5a82858e8f0107d591b2363ccc2cf70b270bbbba (patch) | |
tree | 70d8426b8d0022bc2458e8079da264d56663aa3f /compiler/jvm | |
parent | ca6a7f7eb4e021e3effeb8d42201325074ab5895 (diff) | |
parent | 72d656f26a5971e5c96ac6ad521317cf1f20a379 (diff) | |
download | fpc-5a82858e8f0107d591b2363ccc2cf70b270bbbba.tar.gz |
* synchronised with trunk till r40386
git-svn-id: https://svn.freepascal.org/svn/fpc/branches/debug_eh@40387 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/jvm')
-rw-r--r-- | compiler/jvm/njvmutil.pas | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/compiler/jvm/njvmutil.pas b/compiler/jvm/njvmutil.pas index 91e159ad89..c412ec43e1 100644 --- a/compiler/jvm/njvmutil.pas +++ b/compiler/jvm/njvmutil.pas @@ -28,7 +28,7 @@ interface uses cclasses, node,nbas, - ngenutil, + fmodule,ngenutil, symtype,symconst,symsym,symdef; @@ -36,6 +36,7 @@ interface tjvmnodeutils = class(tnodeutils) class function initialize_data_node(p:tnode; force: boolean):tnode; override; class function finalize_data_node(p:tnode):tnode; override; + class procedure append_struct_initfinis(u: tmodule; initfini: tstructinifinipotype; var stat: tstatementnode); override; class function force_init: boolean; override; class procedure insertbssdata(sym: tstaticvarsym); override; class function create_main_procdef(const name: string; potype: tproctypeoption; ps: tprocsym): tdef; override; @@ -63,7 +64,7 @@ interface implementation uses - verbose,cutils,globtype,globals,constexp,fmodule,compinnr, + verbose,cutils,globtype,globals,constexp,compinnr, aasmdata,aasmtai,cpubase,aasmbase,aasmcpu, symbase,symcpu,symtable,defutil,jvmdef, ncnv,ncon,ninl,ncal,nld,nmem, @@ -172,6 +173,12 @@ implementation end; + class procedure tjvmnodeutils.append_struct_initfinis(u: tmodule; initfini: tstructinifinipotype; var stat: tstatementnode); + begin + { class constructors are implicitly called by the JVM runtime and cannot be called explicitly } + end; + + class function tjvmnodeutils.force_init: boolean; begin { we need an initialisation in case the al_globals list is not empty |