Browse Source

* only check the shiftval in llvmbyvalparaloc() if it's a register parameter
location (it's invalid for other locations)

git-svn-id: trunk@32600 -

Jonas Maebe 9 years ago
parent
commit
477e087857
1 changed files with 2 additions and 1 deletions
  1. 2 1
      compiler/llvm/llvmdef.pas

+ 2 - 1
compiler/llvm/llvmdef.pas

@@ -263,7 +263,8 @@ implementation
       result:=
       result:=
         ((paraloc^.loc=LOC_REFERENCE) and
         ((paraloc^.loc=LOC_REFERENCE) and
          llvmaggregatetype(paraloc^.def)) or
          llvmaggregatetype(paraloc^.def)) or
-        (paraloc^.shiftval<>0)
+        ((paraloc^.loc in [LOC_REGISTER,LOC_CREGISTER]) and
+         (paraloc^.shiftval<>0))
     end;
     end;