From 2745c81d31621287656c5e12469ea2a74b6d412e Mon Sep 17 00:00:00 2001 From: Kevin Newton Date: Thu, 10 Oct 2024 14:31:16 -0400 Subject: [PATCH] Short-circuit if possible for start line and unused warning --- src/prism.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/prism.c b/src/prism.c index fd2af5d9ba..cfd1434ddd 100644 --- a/src/prism.c +++ b/src/prism.c @@ -961,20 +961,18 @@ pm_locals_order(PRISM_ATTRIBUTE_UNUSED pm_parser_t *parser, pm_locals_t *locals, if (local->name != PM_CONSTANT_ID_UNSET) { pm_constant_id_list_insert(list, (size_t) local->index, local->name); - if (warn_unused && local->reads == 0) { - if (pm_newline_list_line(&parser->newline_list, local->location.start, parser->start_line) >= 0) { - pm_constant_t *constant = pm_constant_pool_id_to_constant(&parser->constant_pool, local->name); + if (warn_unused && local->reads == 0 && ((parser->start_line >= 0) || (pm_newline_list_line(&parser->newline_list, local->location.start, parser->start_line) >= 0))) { + pm_constant_t *constant = pm_constant_pool_id_to_constant(&parser->constant_pool, local->name); - if (constant->length >= 1 && *constant->start != '_') { - PM_PARSER_WARN_FORMAT( - parser, - local->location.start, - local->location.end, - PM_WARN_UNUSED_LOCAL_VARIABLE, - (int) constant->length, - (const char *) constant->start - ); - } + if (constant->length >= 1 && *constant->start != '_') { + PM_PARSER_WARN_FORMAT( + parser, + local->location.start, + local->location.end, + PM_WARN_UNUSED_LOCAL_VARIABLE, + (int) constant->length, + (const char *) constant->start + ); } } }