summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-12-27 16:16:56 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-12-27 17:50:15 +0900
commit15c280639e383871eb2688c4cfbbeff48a08bc72 (patch)
tree35e9c393d42b3cd905c1be44c63e56791afdc3f1 /parse.y
parentd0546012f25b95ccd89f5ea578babb8c74639e6f (diff)
Initialize rb_node_block_t::nd_end at creation
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y4
1 files changed, 1 insertions, 3 deletions
diff --git a/parse.y b/parse.y
index 2fe74d0589..5d1db1d114 100644
--- a/parse.y
+++ b/parse.y
@@ -11252,7 +11252,7 @@ rb_node_block_new(struct parser_params *p, NODE *nd_head, const YYLTYPE *loc)
{
rb_node_block_t *n = NODE_NEWNODE(NODE_BLOCK, rb_node_block_t, loc);
n->nd_head = nd_head;
- n->nd_end = 0;
+ n->nd_end = (NODE *)n;
n->nd_next = 0;
return n;
@@ -12343,7 +12343,6 @@ block_append(struct parser_params *p, NODE *head, NODE *tail)
switch (nd_type(h)) {
default:
h = end = NEW_BLOCK(head, &head->nd_loc);
- RNODE_BLOCK(end)->nd_end = end;
head = end;
break;
case NODE_BLOCK:
@@ -12369,7 +12368,6 @@ block_append(struct parser_params *p, NODE *head, NODE *tail)
if (!nd_type_p(tail, NODE_BLOCK)) {
tail = NEW_BLOCK(tail, &tail->nd_loc);
- RNODE_BLOCK(tail)->nd_end = tail;
}
RNODE_BLOCK(end)->nd_next = tail;
RNODE_BLOCK(h)->nd_end = RNODE_BLOCK(tail)->nd_end;