From: Pierre-Emmanuel Patry Date: Tue, 3 Mar 2026 11:23:42 +0000 (+0100) Subject: gccrs: Change variable underscore detection X-Git-Tag: basepoints/gcc-17~583 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ea31a3fddb5637db0d3acb08ed1741ea3a8166b0;p=thirdparty%2Fgcc.git gccrs: Change variable underscore detection gcc/rust/ChangeLog: * checks/lints/rust-lint-unused-var.cc (starts_with_underscore): Add function to detect underscore within symbol name. (check_decl): Call new function for underscore checking. Signed-off-by: Pierre-Emmanuel Patry --- diff --git a/gcc/rust/checks/lints/rust-lint-unused-var.cc b/gcc/rust/checks/lints/rust-lint-unused-var.cc index 85915dd2d11..0b2442f210e 100644 --- a/gcc/rust/checks/lints/rust-lint-unused-var.cc +++ b/gcc/rust/checks/lints/rust-lint-unused-var.cc @@ -22,6 +22,15 @@ namespace Rust { namespace Analysis { +static bool +starts_with_underscore (const char *var_name) +{ + auto pos = std::string (var_name).find_last_of (':'); + if (pos == std::string::npos) + return strncmp (var_name, "_", 1) == 0; + return strncmp (var_name + pos + 1, "_", 1) == 0; +} + static void check_decl (tree *t) { @@ -30,7 +39,7 @@ check_decl (tree *t) tree var_name = DECL_NAME (*t); const char *var_name_ptr = IDENTIFIER_POINTER (var_name); - bool starts_with_under_score = strncmp (var_name_ptr, "_", 1) == 0; + bool starts_with_under_score = starts_with_underscore (var_name_ptr); bool is_self = strcmp (var_name_ptr, "self") == 0; bool is_constant = TREE_CODE (*t) == CONST_DECL;