From 83a5865024cf391137fcbd4e5ed195cda969ed88 Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Sun, 2 Jul 2023 20:57:10 +0200 Subject: [PATCH] fixes #22200 (#22206) * fixes #22200 * typo --- compiler/varpartitions.nim | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/compiler/varpartitions.nim b/compiler/varpartitions.nim index ad8dd245c9..6598ef508b 100644 --- a/compiler/varpartitions.nim +++ b/compiler/varpartitions.nim @@ -824,6 +824,10 @@ proc computeLiveRanges(c: var Partitions; n: PNode) = if vid >= 0: if n[1].kind == nkSym and (c.s[vid].reassignedTo == 0 or c.s[vid].reassignedTo == n[1].sym.id): c.s[vid].reassignedTo = n[1].sym.id + if c.inConditional > 0 and c.inLoop > 0: + # bug #22200: live ranges with loops and conditionals are too + # complex for our current analysis, so we prevent the cursorfication. + c.s[vid].flags.incl isConditionallyReassigned else: markAsReassigned(c, vid)