From e6511bcb33e8015fbe35e4279ffcbc6fcacf6628 Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Mon, 23 Feb 2015 22:47:29 +0000 Subject: [PATCH] * support multiple paralocs in a_load_reg_cgpara() by taking a round trip via a_load_ref_cgpara() git-svn-id: trunk@29814 - --- compiler/cgobj.pas | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/compiler/cgobj.pas b/compiler/cgobj.pas index 49a164effb..01a8db6af0 100644 --- a/compiler/cgobj.pas +++ b/compiler/cgobj.pas @@ -865,7 +865,14 @@ implementation ref : treference; tmpreg : tregister; begin - cgpara.check_simple_location; + if assigned(cgpara.location^.next) then + begin + tg.gethltemp(list,cgpara.def,cgpara.def.size,tt_persistent,ref); + a_load_reg_ref(list,size,size,r,ref); + a_load_ref_cgpara(list,size,ref,cgpara); + tg.ungettemp(list,ref); + exit; + end; paramanager.alloccgpara(list,cgpara); if cgpara.location^.shiftval<0 then begin