From ac4c4559915160f4b5a3cf74d13a8b16a4a0f692 Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Sun, 10 Aug 2014 19:40:24 +0000 Subject: [PATCH] * handle non-integer/non-record memory destinations in gen_load_cgpara_loc() git-svn-id: branches/hlcgllvm@28374 - --- compiler/llvm/hlcgllvm.pas | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/compiler/llvm/hlcgllvm.pas b/compiler/llvm/hlcgllvm.pas index 36120bf955..a59e6c58c6 100644 --- a/compiler/llvm/hlcgllvm.pas +++ b/compiler/llvm/hlcgllvm.pas @@ -1266,7 +1266,17 @@ implementation case destloc.loc of LOC_REFERENCE : begin - a_load_loc_ref(list,llvmparadef,para.def,hloc,destloc.reference); + case def2regtyp(llvmparadef) of + R_INTREGISTER, + R_ADDRESSREGISTER: + a_load_loc_ref(list,llvmparadef,para.def,hloc,destloc.reference); + R_FPUREGISTER: + a_loadfpu_loc_ref(list,llvmparadef,para.def,hloc,destloc.reference); + R_MMREGISTER: + a_loadmm_loc_ref(list,llvmparadef,para.def,hloc,destloc.reference,nil); + else + internalerror(2014080801); + end; end; LOC_REGISTER: begin