From 461bedcfea4914a1cce1462ae22af4a87106c41e Mon Sep 17 00:00:00 2001 From: ksss Date: Tue, 10 Mar 2026 14:34:41 +0900 Subject: [PATCH 1/2] Reduce compile warning of `-Wjump-misses-init` --- src/parser.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/parser.c b/src/parser.c index 2a83dc9c2..be238c759 100644 --- a/src/parser.c +++ b/src/parser.c @@ -519,7 +519,7 @@ static bool parse_params(rbs_parser_t *parser, method_params *params, bool self_ PARSE_OPTIONAL_PARAMS: while (true) { switch (parser->next_token.type) { - case pQUESTION: + case pQUESTION: { rbs_parser_advance(parser); if (is_keyword(parser)) { @@ -533,6 +533,7 @@ static bool parse_params(rbs_parser_t *parser, method_params *params, bool self_ rbs_node_list_append(params->optional_positionals, (rbs_node_t *) param); break; + } default: goto PARSE_REST_PARAM; } @@ -597,13 +598,13 @@ static bool parse_params(rbs_parser_t *parser, method_params *params, bool self_ } break; - case pSTAR2: + case pSTAR2: { rbs_parser_advance(parser); rbs_types_function_param_t *param = NULL; CHECK_PARSE(parse_function_param(parser, ¶m, self_allowed, classish_allowed)); params->rest_keywords = (rbs_node_t *) param; break; - + } case tUIDENT: case tLIDENT: case tQIDENT: From 2be8a5761f0e3bcc11c4d8e6c8c6e23cce2a0709 Mon Sep 17 00:00:00 2001 From: ksss Date: Tue, 10 Mar 2026 14:44:55 +0900 Subject: [PATCH 2/2] Reduce compile warning of `-Wreturn-type` --- ext/rbs_extension/ast_translation.c | 2 ++ templates/ext/rbs_extension/ast_translation.c.erb | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ext/rbs_extension/ast_translation.c b/ext/rbs_extension/ast_translation.c index 3b88cbd2d..b19937aa1 100644 --- a/ext/rbs_extension/ast_translation.c +++ b/ext/rbs_extension/ast_translation.c @@ -87,6 +87,8 @@ VALUE rbs_attr_ivar_name_to_ruby(rbs_translation_context_t ctx, rbs_attr_ivar_na return Qnil; case RBS_ATTR_IVAR_NAME_TAG_EMPTY: return Qfalse; + default: + rb_fatal("unknown enum rbs_attr_ivar_name_tag ivar_name.tag: %d", ivar_name.tag); } } diff --git a/templates/ext/rbs_extension/ast_translation.c.erb b/templates/ext/rbs_extension/ast_translation.c.erb index 59e2af0a8..cf4dba4be 100644 --- a/templates/ext/rbs_extension/ast_translation.c.erb +++ b/templates/ext/rbs_extension/ast_translation.c.erb @@ -78,8 +78,10 @@ VALUE rbs_attr_ivar_name_to_ruby(rbs_translation_context_t ctx, rbs_attr_ivar_na } case RBS_ATTR_IVAR_NAME_TAG_UNSPECIFIED: return Qnil; - case RBS_ATTR_IVAR_NAME_TAG_EMPTY: + case RBS_ATTR_IVAR_NAME_TAG_EMPTY: return Qfalse; + default: + rb_fatal("unknown enum rbs_attr_ivar_name_tag ivar_name.tag: %d", ivar_name.tag); } }