浏览代码

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

git-svn-id: trunk@41841 -
svenbarth 6 年之前
父节点
当前提交
cfdd800591
共有 1 个文件被更改,包括 2 次插入0 次删除
  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