]>
git.feebdaed.xyz Git - 0xmirror/gcc.git/commit
gccrs: add unused-assignments lint
gcc/rust/ChangeLog:
* checks/lints/unused-var/rust-unused-var-checker.cc (UnusedVarChecker):
Implement unused assignments warning.
(UnusedVarChecker::go): Remove unique pointer unused var context.
(UnusedVarChecker::visit): Visit AssignExpr in HIR default visitor.
* checks/lints/unused-var/rust-unused-var-checker.h: Add visit method.
* checks/lints/unused-var/rust-unused-var-collector.cc (UnusedVarCollector):
Collect warnings for assignments.
(UnusedVarCollector::visit): Visit AssignExpr in HIR default visitor.
* checks/lints/unused-var/rust-unused-var-collector.h: Add visit method.
* checks/lints/unused-var/rust-unused-var-context.cc (UnusedVarContext::add_assign):
Add assignment in map.
(UnusedVarContext::remove_assign): Remove assignment in map.
(UnusedVarContext::is_variable_assigned): Check if a variable is assigned.
* checks/lints/unused-var/rust-unused-var-context.h: Add a map to stock assignments.
gcc/testsuite/ChangeLog:
* rust/compile/issue-4260_0.rs: New test.
Signed-off-by: Lucas Ly Ba <lucas.ly-ba@outlook.com>