Przeglądaj źródła

* also handle const untyped parameters if they're to be passed on the stack

git-svn-id: trunk@41841 -
svenbarth 6 lat temu
rodzic
commit
cfdd800591
1 zmienionych plików z 2 dodań i 0 usunięć
  1. 2 0
      packages/rtl-objpas/src/i386/invoke.inc

+ 2 - 0
packages/rtl-objpas/src/i386/invoke.inc

@@ -298,6 +298,8 @@ begin
         AddStackArg(PtrUInt(aArgs[stackargs[i]].ValueRef))
       else if aArgs[stackargs[i]].Info.ParamFlags * [pfOut, pfVar, pfConstRef] <> [] then
         AddStackArg(PtrUInt(aArgs[stackargs[i]].ValueRef))
+      else if (pfConst in aArgs[stackargs[i]].Info.ParamFlags) and not Assigned(aArgs[stackargs[i]].Info.ParamType) then
+        AddStackArg(PtrUInt(aArgs[stackargs[i]].ValueRef))
       else begin
         td := GetTypeData(aArgs[stackargs[i]].Info.ParamType);
         case aArgs[stackargs[i]].Info.ParamType^.Kind of