summaryrefslogtreecommitdiff
path: root/compiler/psub.pas
diff options
context:
space:
mode:
authorsvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2015-09-18 14:48:54 +0000
committersvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2015-09-18 14:48:54 +0000
commitf189dd518215af7507a4ea3c19bfaf30b3b8ac8c (patch)
treeaaf0ac7d49b1f2dde9432dda5d4af1b9086af094 /compiler/psub.pas
parentf08785642dea319aca349b3a959c7770ce3925df (diff)
downloadfpc-f189dd518215af7507a4ea3c19bfaf30b3b8ac8c.tar.gz
ncal.pas:
* extend tcallnode with the ability to pass a tspecializationcontext so that tcallcandidates can do a final specialization * the final procdef is registered at the end of tcallnode.pass_typecheck git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31763 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/psub.pas')
-rw-r--r--compiler/psub.pas12
1 files changed, 6 insertions, 6 deletions
diff --git a/compiler/psub.pas b/compiler/psub.pas
index a2088be7d8..76fd21616a 100644
--- a/compiler/psub.pas
+++ b/compiler/psub.pas
@@ -480,7 +480,7 @@ implementation
voidpointertype),
ccallnode.create(nil,tprocsym(srsym),srsym.owner,
ctypeconvnode.create_internal(load_self_pointer_node,cclassrefdef.create(current_structdef)),
- [])),
+ [],nil)),
nil));
end
else
@@ -527,7 +527,7 @@ implementation
if assigned(srsym) and
(srsym.typ=procsym) then
begin
- call:=ccallnode.create(nil,tprocsym(srsym),srsym.owner,load_self_node,[cnf_inherited]);
+ call:=ccallnode.create(nil,tprocsym(srsym),srsym.owner,load_self_node,[cnf_inherited],nil);
exclude(tcallnode(call).callnodeflags,cnf_return_value_used);
addstatement(newstatement,call);
end
@@ -569,7 +569,7 @@ implementation
load_vmt_pointer_node,ptrsinttype),
ctypeconvnode.create_internal(
cnilnode.create,ptrsinttype)),
- ccallnode.create(nil,tprocsym(srsym),srsym.owner,load_self_node,[]),
+ ccallnode.create(nil,tprocsym(srsym),srsym.owner,load_self_node,[],nil),
nil));
end
else
@@ -620,7 +620,7 @@ implementation
load_vmt_pointer_node,
voidpointertype),
cpointerconstnode.create(0,voidpointertype))),
- ccallnode.create(nil,tprocsym(srsym),srsym.owner,load_self_node,[]),
+ ccallnode.create(nil,tprocsym(srsym),srsym.owner,load_self_node,[],nil),
nil));
end
else
@@ -766,7 +766,7 @@ implementation
caddnode.create(unequaln,
load_vmt_pointer_node,
cnilnode.create)),
- ccallnode.create(nil,tprocsym(srsym),srsym.owner,load_self_node,[]),
+ ccallnode.create(nil,tprocsym(srsym),srsym.owner,load_self_node,[],nil),
nil));
tocode:=afterconstructionblock;
end
@@ -794,7 +794,7 @@ implementation
load_vmt_pointer_node,
cnilnode.create),
{ cnf_create_failed -> don't call BeforeDestruction }
- ccallnode.create(nil,tprocsym(pd.procsym),pd.procsym.owner,load_self_node,[cnf_create_failed]),
+ ccallnode.create(nil,tprocsym(pd.procsym),pd.procsym.owner,load_self_node,[cnf_create_failed],nil),
nil))
else
{ object without destructor, call 'fail' helper }