浏览代码

* make_not_regable() now also works on temprefnodes

git-svn-id: trunk@4661 -
Jonas Maebe 19 年之前
父节点
当前提交
e55d6d7145
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      compiler/htypechk.pas

+ 5 - 0
compiler/htypechk.pas

@@ -661,6 +661,11 @@ implementation
                   tabstractvarsym(tloadnode(p).symtableentry).varregable:=how
                   tabstractvarsym(tloadnode(p).symtableentry).varregable:=how
                 else
                 else
                   tabstractvarsym(tloadnode(p).symtableentry).varregable:=vr_none;
                   tabstractvarsym(tloadnode(p).symtableentry).varregable:=vr_none;
+            temprefn :
+              if (ttemprefnode(p).tempinfo^.may_be_in_reg) and
+                 ((not records_only) or
+                  (ttemprefnode(p).tempinfo^.restype.def.deftype = recorddef)) then
+                ttemprefnode(p).tempinfo^.may_be_in_reg:=false;
          end;
          end;
       end;
       end;