Parcourir la source

* initialise the llvmvalueloc field for LOC_VOID locations, so they don't
get randomly passed as either byval or not (while they don't contain any
data and hence this can't cause bugs in the generated code, it can cause
signature mismatches in llvm)

git-svn-id: trunk@34956 -

Jonas Maebe il y a 8 ans
Parent
commit
d39db60934
1 fichiers modifiés avec 5 ajouts et 1 suppressions
  1. 5 1
      compiler/llvm/llvmpara.pas

+ 5 - 1
compiler/llvm/llvmpara.pas

@@ -134,7 +134,11 @@ unit llvmpara;
                     paraloc^.llvmvalueloc:=true;
                   end;
                 LOC_VOID:
-                  ;
+                  begin
+                    { for empty records, ensure these don't get a byval
+                      attribute }
+                    paraloc^.llvmvalueloc:=true;
+                  end;
                 else
                   internalerror(2014012302);
               end;