From 414a80d242796059d69e8980073b5420910cab50 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Tue, 10 Sep 2019 10:44:49 -0700 Subject: `NODE_MATCH` needs to be marked / allocated from marking bucket Fixes a test in RubySpec --- node.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'node.c') diff --git a/node.c b/node.c index 0e1b04bbf4..4a265c3b9c 100644 --- a/node.c +++ b/node.c @@ -1194,6 +1194,7 @@ rb_ast_newnode(rb_ast_t *ast, enum node_type type) { node_buffer_t *nb = ast->node_buffer; switch (type) { + case NODE_MATCH: case NODE_LIT: case NODE_STR: case NODE_XSTR: @@ -1277,6 +1278,7 @@ mark_ast_value(void *ctx, NODE * node) rb_gc_mark(args->imemo); break; } + case NODE_MATCH: case NODE_LIT: case NODE_STR: case NODE_XSTR: @@ -1287,7 +1289,7 @@ mark_ast_value(void *ctx, NODE * node) rb_gc_mark(node->nd_lit); break; default: - rb_bug("unreachable"); + rb_bug("unreachable node %s", ruby_node_name(nd_type(node))); } } -- cgit v1.2.1