diff options
author | pierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2013-07-02 12:52:32 +0000 |
---|---|---|
committer | pierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2013-07-02 12:52:32 +0000 |
commit | 204711f614d952701f680a25c1b1df55b6fbd3c3 (patch) | |
tree | 60224ec2e93d565cfdeff89bf7e77f7b4bef258e /compiler/jvm | |
parent | 8adcf595f2a555ffc4d1f0465393d64bde45ae8c (diff) | |
download | fpc-204711f614d952701f680a25c1b1df55b6fbd3c3.tar.gz |
Fix jvm compiler compilation failure after rev 25013
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25028 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/jvm')
-rw-r--r-- | compiler/jvm/njvmcal.pas | 6 | ||||
-rw-r--r-- | compiler/jvm/njvmld.pas | 4 | ||||
-rw-r--r-- | compiler/jvm/njvmmem.pas | 5 |
3 files changed, 8 insertions, 7 deletions
diff --git a/compiler/jvm/njvmcal.pas b/compiler/jvm/njvmcal.pas index d1ebac0620..1202ed2d9a 100644 --- a/compiler/jvm/njvmcal.pas +++ b/compiler/jvm/njvmcal.pas @@ -124,7 +124,7 @@ implementation begin parent:=tunarynode(p); { skip typeconversions that don't change the node type } - p:=p.actualtargetnode; + p:=actualtargetnode(@p)^; end; derefn: begin @@ -239,8 +239,8 @@ implementation local variables (fields, arrays etc are all initialized on creation) } verifyout:= (cs_check_var_copyout in current_settings.localswitches) and - ((left.actualtargetnode.nodetype<>loadn) or - (tloadnode(left.actualtargetnode).symtableentry.typ<>localvarsym)); + ((actualtargetnode(@left)^.nodetype<>loadn) or + (tloadnode(actualtargetnode(@left)^).symtableentry.typ<>localvarsym)); { in case of a non-out parameter, pass in the original value (also always in case of implicitpointer type, since that pointer points to diff --git a/compiler/jvm/njvmld.pas b/compiler/jvm/njvmld.pas index 8008b0ff0f..529d62423b 100644 --- a/compiler/jvm/njvmld.pas +++ b/compiler/jvm/njvmld.pas @@ -62,7 +62,7 @@ implementation uses verbose,globals, - nbas,nld,ncal,ncon,ninl,nmem,ncnv, + nbas,nld,ncal,ncon,ninl,nmem,ncnv,nutils, symconst,symsym,symdef,symtable,defutil,jvmdef, paramgr, pass_1, @@ -100,7 +100,7 @@ function tjvmassignmentnode.pass_1: tnode; { intercept writes to string elements, because Java strings are immutable -> detour via StringBuilder } - target:=left.actualtargetnode; + target:=actualtargetnode(@left)^; if (target.nodetype=vecn) and (is_wide_or_unicode_string(tvecnode(target).left.resultdef) or is_ansistring(tvecnode(target).left.resultdef)) then diff --git a/compiler/jvm/njvmmem.pas b/compiler/jvm/njvmmem.pas index 75ac07f0a9..5f3241641a 100644 --- a/compiler/jvm/njvmmem.pas +++ b/compiler/jvm/njvmmem.pas @@ -63,7 +63,8 @@ implementation aasmbase, symconst,symtype,symtable,symsym,symdef,defutil,jvmdef, htypechk,paramgr, - nadd,ncal,ncnv,ncon,nld,pass_1,njvmcon, + nadd,ncal,ncnv,ncon,nld,nutils, + pass_1,njvmcon, aasmdata,aasmcpu,pass_2, cgutils,hlcgobj,hlcgcpu; @@ -151,7 +152,7 @@ implementation var target: tnode; begin - target:=left.actualtargetnode; + target:=actualtargetnode(@left)^; result:= (left.nodetype=derefn); end; |