瀏覽代碼

* do not insert the $result symbol again when the VMT for the capturer is built

Sven/Sarah Barth 3 年之前
父節點
當前提交
749faa42ee
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      compiler/pparautl.pas

+ 3 - 1
compiler/pparautl.pas

@@ -84,12 +84,14 @@ implementation
         if not(pd.proctypeoption in [potype_constructor,potype_destructor]) and
         if not(pd.proctypeoption in [potype_constructor,potype_destructor]) and
            not is_void(pd.returndef) and
            not is_void(pd.returndef) and
            not (df_generic in pd.defoptions) and
            not (df_generic in pd.defoptions) and
+           { if this was originally an anonymous function then this was already
+             done earlier }
+           not ((pd.typ=procdef) and tprocdef(pd).was_anonymous) and
            paramanager.ret_in_param(pd.returndef,pd) then
            paramanager.ret_in_param(pd.returndef,pd) then
          begin
          begin
            storepos:=current_tokenpos;
            storepos:=current_tokenpos;
            if pd.typ=procdef then
            if pd.typ=procdef then
             current_tokenpos:=tprocdef(pd).fileinfo;
             current_tokenpos:=tprocdef(pd).fileinfo;
-
 {$if defined(i386)}
 {$if defined(i386)}
            { For left to right add it at the end to be delphi compatible.
            { For left to right add it at the end to be delphi compatible.
              In the case of safecalls with safecal-exceptions support the
              In the case of safecalls with safecal-exceptions support the