From 97bc58d2488f10ba7ae2590a029d41d60bbc7245 Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Sun, 16 Dec 2018 20:44:09 +0000 Subject: [PATCH] * fixed bug that caused the "sret" argument attribute to never be used (and a guaranteed internalerror on AArch64/llvm) git-svn-id: trunk@40565 - --- compiler/llvm/llvmdef.pas | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/compiler/llvm/llvmdef.pas b/compiler/llvm/llvmdef.pas index f99f75fe70..49e62760e8 100644 --- a/compiler/llvm/llvmdef.pas +++ b/compiler/llvm/llvmdef.pas @@ -690,9 +690,7 @@ implementation llvmextractvalueextinfo(hp.vardef,usedef,signext); { implicit zero/sign extension for ABI compliance? } if not first then - encodedstr:=encodedstr+', ' - else - first:=false; + encodedstr:=encodedstr+', '; llvmaddencodedtype_intern(usedef,[],encodedstr); { in case signextstr<>'', there should be only one paraloc -> no need to clear (reason: it means that the paraloc is larger than the @@ -769,6 +767,7 @@ implementation encodedstr:=encodedstr+' '+llvmasmsymname(paraloc^.llvmloc.sym); end; paraloc:=paraloc^.next; + first:=false; until not assigned(paraloc); end;