Browse Source

* Bug fix where copied block nodes didn't inherit the original's flags

J. Gareth "Curious Kit" Moreton 1 year ago
parent
commit
edc1c79cbb
1 changed files with 8 additions and 0 deletions
  1. 8 0
      compiler/nbas.pas

+ 8 - 0
compiler/nbas.pas

@@ -124,6 +124,7 @@ interface
           destructor destroy; override;
           destructor destroy; override;
           constructor ppuload(t:tnodetype;ppufile:tcompilerppufile);override;
           constructor ppuload(t:tnodetype;ppufile:tcompilerppufile);override;
           procedure ppuwrite(ppufile:tcompilerppufile);override;
           procedure ppuwrite(ppufile:tcompilerppufile);override;
+          function dogetcopy : tnode;override;
           function simplify(forinline : boolean) : tnode; override;
           function simplify(forinline : boolean) : tnode; override;
           function pass_1 : tnode;override;
           function pass_1 : tnode;override;
           function pass_typecheck:tnode;override;
           function pass_typecheck:tnode;override;
@@ -734,6 +735,13 @@ implementation
       end;
       end;
 
 
 
 
+    function tblocknode.dogetcopy : tnode;
+      begin
+        Result:=inherited dogetcopy;
+        TBlockNode(Result).blocknodeflags:=blocknodeflags;
+      end;
+
+
     function NodesEqual(var n: tnode; arg: pointer): foreachnoderesult;
     function NodesEqual(var n: tnode; arg: pointer): foreachnoderesult;
       begin
       begin
         if n.IsEqual(tnode(arg)) then
         if n.IsEqual(tnode(arg)) then