mruby-compiler: fix c++ compilation error in node_hash case

add braces around node_hash case in dump_node() to fix variable
initialization crossing case labels error when compiling with c++.

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Yukihiro "Matz" Matsumoto
2025-10-02 10:54:59 +09:00
parent 2495cd3c52
commit 9156451652
2 changed files with 32 additions and 28 deletions
+16 -14
View File
@@ -8109,21 +8109,23 @@ dump_node(mrb_state *mrb, node *tree, int offset)
case NODE_HASH:
printf("NODE_HASH:\n");
node *pairs = hash_node(tree)->pairs;
while (pairs) {
dump_prefix(offset+1, lineno);
printf("key:\n");
if (node_to_sym(pairs->car->car) == MRB_OPSYM(pow)) {
dump_prefix(offset+2, lineno);
printf("**\n");
{
node *pairs = hash_node(tree)->pairs;
while (pairs) {
dump_prefix(offset+1, lineno);
printf("key:\n");
if (node_to_sym(pairs->car->car) == MRB_OPSYM(pow)) {
dump_prefix(offset+2, lineno);
printf("**\n");
}
else {
dump_node(mrb, pairs->car->car, offset+2);
}
dump_prefix(offset+1, lineno);
printf("value:\n");
dump_node(mrb, pairs->car->cdr, offset+2);
pairs = pairs->cdr;
}
else {
dump_node(mrb, pairs->car->car, offset+2);
}
dump_prefix(offset+1, lineno);
printf("value:\n");
dump_node(mrb, pairs->car->cdr, offset+2);
pairs = pairs->cdr;
}
break;
+16 -14
View File
@@ -14938,21 +14938,23 @@ dump_node(mrb_state *mrb, node *tree, int offset)
case NODE_HASH:
printf("NODE_HASH:\n");
node *pairs = hash_node(tree)->pairs;
while (pairs) {
dump_prefix(offset+1, lineno);
printf("key:\n");
if (node_to_sym(pairs->car->car) == MRB_OPSYM(pow)) {
dump_prefix(offset+2, lineno);
printf("**\n");
{
node *pairs = hash_node(tree)->pairs;
while (pairs) {
dump_prefix(offset+1, lineno);
printf("key:\n");
if (node_to_sym(pairs->car->car) == MRB_OPSYM(pow)) {
dump_prefix(offset+2, lineno);
printf("**\n");
}
else {
dump_node(mrb, pairs->car->car, offset+2);
}
dump_prefix(offset+1, lineno);
printf("value:\n");
dump_node(mrb, pairs->car->cdr, offset+2);
pairs = pairs->cdr;
}
else {
dump_node(mrb, pairs->car->car, offset+2);
}
dump_prefix(offset+1, lineno);
printf("value:\n");
dump_node(mrb, pairs->car->cdr, offset+2);
pairs = pairs->cdr;
}
break;