浏览代码

compiler: mark 'var' and 'out' arguments as they are passed by reference for dispatch invoke

git-svn-id: trunk@14781 -
paul 15 年之前
父节点
当前提交
7aede2018f
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      compiler/ncal.pas

+ 1 - 1
compiler/ncal.pas

@@ -410,7 +410,7 @@ implementation
                   internalerror(200611041);
               end;
 
-            dispatchbyref:=para.left.resultdef.typ in [variantdef];
+            dispatchbyref:=(para.parasym.varspez in [vs_var,vs_out]) or (para.left.resultdef.typ in [variantdef]);
 
             { assign the argument/parameter to the temporary location }