Fix jvm compiler compilation failure after rev 25013

git-svn-id: trunk@25028 -
This commit is contained in:
pierre 2013-07-02 12:52:32 +00:00
parent 1ffcb9c1e6
commit eb1ff90de1
3 changed files with 8 additions and 7 deletions

View File

@ -124,7 +124,7 @@ implementation
begin begin
parent:=tunarynode(p); parent:=tunarynode(p);
{ skip typeconversions that don't change the node type } { skip typeconversions that don't change the node type }
p:=p.actualtargetnode; p:=actualtargetnode(@p)^;
end; end;
derefn: derefn:
begin begin
@ -239,8 +239,8 @@ implementation
local variables (fields, arrays etc are all initialized on creation) } local variables (fields, arrays etc are all initialized on creation) }
verifyout:= verifyout:=
(cs_check_var_copyout in current_settings.localswitches) and (cs_check_var_copyout in current_settings.localswitches) and
((left.actualtargetnode.nodetype<>loadn) or ((actualtargetnode(@left)^.nodetype<>loadn) or
(tloadnode(left.actualtargetnode).symtableentry.typ<>localvarsym)); (tloadnode(actualtargetnode(@left)^).symtableentry.typ<>localvarsym));
{ in case of a non-out parameter, pass in the original value (also { in case of a non-out parameter, pass in the original value (also
always in case of implicitpointer type, since that pointer points to always in case of implicitpointer type, since that pointer points to

View File

@ -62,7 +62,7 @@ implementation
uses uses
verbose,globals, verbose,globals,
nbas,nld,ncal,ncon,ninl,nmem,ncnv, nbas,nld,ncal,ncon,ninl,nmem,ncnv,nutils,
symconst,symsym,symdef,symtable,defutil,jvmdef, symconst,symsym,symdef,symtable,defutil,jvmdef,
paramgr, paramgr,
pass_1, pass_1,
@ -100,7 +100,7 @@ function tjvmassignmentnode.pass_1: tnode;
{ intercept writes to string elements, because Java strings are immutable { intercept writes to string elements, because Java strings are immutable
-> detour via StringBuilder -> detour via StringBuilder
} }
target:=left.actualtargetnode; target:=actualtargetnode(@left)^;
if (target.nodetype=vecn) and if (target.nodetype=vecn) and
(is_wide_or_unicode_string(tvecnode(target).left.resultdef) or (is_wide_or_unicode_string(tvecnode(target).left.resultdef) or
is_ansistring(tvecnode(target).left.resultdef)) then is_ansistring(tvecnode(target).left.resultdef)) then

View File

@ -63,7 +63,8 @@ implementation
aasmbase, aasmbase,
symconst,symtype,symtable,symsym,symdef,defutil,jvmdef, symconst,symtype,symtable,symsym,symdef,defutil,jvmdef,
htypechk,paramgr, htypechk,paramgr,
nadd,ncal,ncnv,ncon,nld,pass_1,njvmcon, nadd,ncal,ncnv,ncon,nld,nutils,
pass_1,njvmcon,
aasmdata,aasmcpu,pass_2, aasmdata,aasmcpu,pass_2,
cgutils,hlcgobj,hlcgcpu; cgutils,hlcgobj,hlcgcpu;
@ -151,7 +152,7 @@ implementation
var var
target: tnode; target: tnode;
begin begin
target:=left.actualtargetnode; target:=actualtargetnode(@left)^;
result:= result:=
(left.nodetype=derefn); (left.nodetype=derefn);
end; end;