summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2019-09-10 10:44:49 -0700
committerAaron Patterson <tenderlove@ruby-lang.org>2019-09-10 10:44:49 -0700
commit414a80d242796059d69e8980073b5420910cab50 (patch)
tree542683a93e234ed665dedec543ae16d971fe9fa4
parent83ef58f264964f86e7276fdb146c108cc0d6abc0 (diff)
`NODE_MATCH` needs to be marked / allocated from marking bucket
Fixes a test in RubySpec
-rw-r--r--node.c4
1 files changed, 3 insertions, 1 deletions
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)));
}
}