فهرست منبع

* just copy value parameters to a temp. when inlining instead of
using (@...)^ constructs, resolves #39590

florian 3 سال پیش
والد
کامیت
d198fc46cb
1فایلهای تغییر یافته به همراه8 افزوده شده و 0 حذف شده
  1. 8 0
      compiler/ncal.pas

+ 8 - 0
compiler/ncal.pas

@@ -4904,6 +4904,14 @@ implementation
             not valid_for_addr(para.left,false)) then
           exit(true);
 
+        { insert value parameters directly if they are complex instead
+          of inserting a reference to the temp.
+          - this keeps the node tree simpler
+          - alignment is propagated }
+        if (para.parasym.varspez=vs_value) and
+          complexpara then
+          exit(true);
+
         result:=false;
       end;