Pārlūkot izejas kodu

* pass dynamic array parameters of cdecl routines by value on AArch64
(like on onther platforms)
o it was passed by reference as a side effect of the fact arrays in C are
pointers, but a dynamic array already is a pointer

git-svn-id: trunk@40573 -

Jonas Maebe 6 gadi atpakaļ
vecāks
revīzija
ac8411f3cf
1 mainītis faili ar 2 papildinājumiem un 1 dzēšanām
  1. 2 1
      compiler/aarch64/cpupara.pas

+ 2 - 1
compiler/aarch64/cpupara.pas

@@ -270,7 +270,8 @@ unit cpupara;
               then indexed beyond its bounds) }
           arraydef:
             result:=
-              (calloption in cdecl_pocalls) or
+              ((calloption in cdecl_pocalls) and
+               not is_dynamic_array(def)) or
               is_open_array(def) or
               is_array_of_const(def) or
               is_array_constructor(def) or