parser: Don't let CLS_VISITED leak out of determine_class_gc_flag.
The flag is not used anywhere else, but best to be safe.
@@ -4718,9 +4718,6 @@ static void determine_class_gc_flag(lily_parse_state *parser,
lily_class *parent_iter = target->parent;
int mark = 0;
- /* If this class sees itself, it absolutely needs a tag. */
- target->flags |= CLS_VISITED;
-
if (parent_iter) {
/* Start with this, just in case the child has no properties. */
mark = parent_iter->flags & (CLS_GC_TAGGED | CLS_GC_SPECULATIVE);
@@ -4735,6 +4732,9 @@ static void determine_class_gc_flag(lily_parse_state *parser,
}
}
+ /* If this class sees itself, it absolutely needs a tag. */
+ target->flags |= CLS_VISITED;
+
/* It's probably a container, so make it speculative in case it holds an
interesting value. */
if (target->generic_count)
