Browse Source

* fixed a bug, which caused ptr(nonconst, const) to be incorrectly inlined as a const

git-svn-id: trunk@24571 -
nickysn 12 years ago
parent
commit
d300116419
1 changed files with 2 additions and 1 deletions
  1. 2 1
      compiler/ncal.pas

+ 2 - 1
compiler/ncal.pas

@@ -3044,7 +3044,8 @@ implementation
           { handle predefined procedures }
           is_const:=(po_internconst in procdefinition.procoptions) and
                     ((block_type in [bt_const,bt_type,bt_const_type,bt_var_type]) or
-                     (assigned(left) and (tcallparanode(left).left.nodetype in [realconstn,ordconstn])));
+                     (assigned(left) and ((tcallparanode(left).left.nodetype in [realconstn,ordconstn])
+                      and not assigned(tcallparanode(left).right) or (tcallparanode(left).right.nodetype in [realconstn,ordconstn]))));
           if (procdefinition.proccalloption=pocall_internproc) or is_const then
            begin
              if assigned(left) then