File tree Expand file tree Collapse file tree 1 file changed +16
-2
lines changed Expand file tree Collapse file tree 1 file changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -3723,7 +3723,11 @@ static void genDeliverUnmapped(CompilerScratch* csb,
3723
3723
children.add (cmpNode->arg2 );
3724
3724
}
3725
3725
else if (listNode)
3726
+ {
3726
3727
children.add (listNode->arg );
3728
+ for (auto item : listNode->list ->items )
3729
+ children.add (item);
3730
+ }
3727
3731
else if (missingNode)
3728
3732
children.add (missingNode->arg );
3729
3733
else
@@ -3766,7 +3770,7 @@ static void genDeliverUnmapped(CompilerScratch* csb,
3766
3770
newListNode->list = FB_NEW_POOL (pool) ValueListNode (pool, count);
3767
3771
3768
3772
newChildren.add (newListNode->arg .getAddress ());
3769
- for (auto item : newListNode->list ->items )
3773
+ for (auto & item : newListNode->list ->items )
3770
3774
newChildren.add (item.getAddress ());
3771
3775
3772
3776
deliverNode = newListNode;
@@ -3819,7 +3823,17 @@ static void genDeliverUnmapped(CompilerScratch* csb,
3819
3823
}
3820
3824
3821
3825
if (okNode)
3822
- deliverStack.push (deliverNode.release ());
3826
+ {
3827
+ const auto node = deliverNode.release ();
3828
+
3829
+ if (const auto newListNode = nodeAs<InListBoolNode>(node))
3830
+ {
3831
+ newListNode->lookup = FB_NEW_POOL (pool)
3832
+ LookupValueList (pool, newListNode->list , newListNode->impureOffset );
3833
+ }
3834
+
3835
+ deliverStack.push (node);
3836
+ }
3823
3837
}
3824
3838
}
3825
3839
You can’t perform that action at this time.
0 commit comments