Browse Source

* process tasnode.call in foreach(static) (fixes tw7391 with regvars on ppc)

git-svn-id: trunk@4783 -
Jonas Maebe 19 years ago
parent
commit
564f36f51e
2 changed files with 12 additions and 1 deletions
  1. 0 1
      compiler/ncnv.pas
  2. 12 0
      compiler/nutils.pas

+ 0 - 1
compiler/ncnv.pas

@@ -183,7 +183,6 @@ interface
           function det_resulttype:tnode;override;
           function _getcopy: tnode;override;
           destructor destroy; override;
-         protected
           call: tnode;
        end;
        tasnodeclass = class of tasnode;

+ 12 - 0
compiler/nutils.pas

@@ -108,6 +108,12 @@ implementation
           result := false; }
       end;
       case n.nodetype of
+        asn:
+          if assigned(tasnode(n).call) then
+            begin
+              result := foreachnode(tasnode(n).call,f,arg);
+              exit
+            end;
         calln:
           begin
             { not in one statement, won't work because of b- }
@@ -150,6 +156,12 @@ implementation
       begin
         result:=res;
         case n.nodetype of
+        asn:
+          if assigned(tasnode(n).call) then
+            begin
+              result := foreachnodestatic(procmethod,tasnode(n).call,f,arg);
+              exit
+            end;
           calln:
             begin
               result := foreachnodestatic(procmethod,tcallnode(n).methodpointerinit,f,arg) or result;