From 3dacf0892ae1aaa3e4316c7feb20ecdf55e4ba4f Mon Sep 17 00:00:00 2001 From: jonas Date: Sat, 26 Dec 2015 20:00:18 +0000 Subject: * register the types for the cgparas instead of for the parameters of procvardefs, as it's those types that we use in the LLVM IR git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@32734 3ad0048d-3df7-0310-abae-a5850022a9f2 --- compiler/llvm/llvmtype.pas | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'compiler') diff --git a/compiler/llvm/llvmtype.pas b/compiler/llvm/llvmtype.pas index b499034a73..9135d974e8 100644 --- a/compiler/llvm/llvmtype.pas +++ b/compiler/llvm/llvmtype.pas @@ -517,9 +517,10 @@ implementation la_type for a procvardef (unless it's a procedure of object/record), which means that recursive references should become plain "procedure" types that are then casted to the real type when they are used } + def.init_paraloc_info(callerside); for i:=0 to def.paras.count-1 do - appenddef(list,tparavarsym(def.paras[i]).vardef); - appenddef(list,def.returndef); + appenddef(list,llvmgetcgparadef(tparavarsym(def.paras[i]).paraloc[callerside],true)); + appenddef(list,llvmgetcgparadef(def.funcretloc[callerside],true)); if assigned(def.typesym) and not def.is_addressonly then list.concat(taillvm.op_size(LA_TYPE,record_def(def))); -- cgit v1.2.1