diff options
author | svenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2015-09-18 14:48:54 +0000 |
---|---|---|
committer | svenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2015-09-18 14:48:54 +0000 |
commit | f189dd518215af7507a4ea3c19bfaf30b3b8ac8c (patch) | |
tree | aaf0ac7d49b1f2dde9432dda5d4af1b9086af094 /compiler/psub.pas | |
parent | f08785642dea319aca349b3a959c7770ce3925df (diff) | |
download | fpc-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.pas | 12 |
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 } |