浏览代码

* ensure that we don't firstpass a tcgnestloadnode twice, as it
changes left (should be solved in a cleaner way, by transforming
the whole load node into an equivalent construct)

git-svn-id: trunk@32780 -

Jonas Maebe 9 年之前
父节点
当前提交
96698994f3
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      compiler/ncgnstld.pas

+ 3 - 0
compiler/ncgnstld.pas

@@ -179,9 +179,12 @@ implementation
                   if not assigned(left) then
                     internalerror(2011060104);
                   firstpass(left);
+                  if left.resultdef.typ<>pointerdef then
+                    internalerror(2015122801);
                   { subscript it to get the variable }
                   left:=csubscriptnode.create(thissym,cderefnode.create(left));
                   firstpass(left);
+                  include(flags,nf_internal);
                  end;
             end;
         end;