瀏覽代碼

* allow recursive inlines, meanwhile, there are other means to avoid too deep recursion of inlining

git-svn-id: trunk@45214 -
florian 5 年之前
父節點
當前提交
0794878b41
共有 1 個文件被更改,包括 1 次插入4 次删除
  1. 1 4
      compiler/ncal.pas

+ 1 - 4
compiler/ncal.pas

@@ -5143,13 +5143,10 @@ implementation
               end;
           end;
 
-        { consider it must not be inlined if called
-          again inside the args or itself }
-        exclude(procdefinition.procoptions,po_inline);
         typecheckpass(tnode(inlineblock));
         doinlinesimplify(tnode(inlineblock));
+        node_reset_flags(tnode(inlineblock),[nf_pass1_done]);
         firstpass(tnode(inlineblock));
-        include(procdefinition.procoptions,po_inline);
         result:=inlineblock;
 
         { if the function result is used then verify that the blocknode