mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-29 17:41:57 +02:00
Fix jvm compiler compilation failure after rev 25013
git-svn-id: trunk@25028 -
This commit is contained in:
parent
1ffcb9c1e6
commit
eb1ff90de1
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user