]> git.ipfire.org Git - thirdparty/gcc.git/commit
gccrs: Implement initial pattern analysis pass.
authorRaiki Tamura <tamaron1203@gmail.com>
Wed, 7 Aug 2024 17:25:05 +0000 (02:25 +0900)
committerArthur Cohen <arthur.cohen@embecosm.com>
Wed, 19 Mar 2025 14:32:10 +0000 (15:32 +0100)
commite620a86e4d7591eb446df828506da76c070d1eb9
tree5b4bdf1051f553bf38612a56f52a24e68e7eacb0
parent8f4718f0b5900d1743563a5c4e8f3dcc6cec3468
gccrs: Implement initial pattern analysis pass.

gcc/rust/ChangeLog:

* Make-lang.in: Add rust-hir-pattern-analysis.o.
* rust-session-manager.cc (Session::compile_crate):
Add pattern analysis pass.
* typecheck/rust-hir-type-check-pattern.cc (TypeCheckPattern::visit):
Do typecheck for subpatterns.
* checks/errors/rust-hir-pattern-analysis.cc: New file.
* checks/errors/rust-hir-pattern-analysis.h: New file.

gcc/testsuite/ChangeLog:

* rust/compile/exhaustiveness1.rs: New test.
* rust/compile/exhaustiveness2.rs: New test.
* rust/compile/exhaustiveness3.rs: New test.

Signed-off-by: Raiki Tamura <tamaron1203@gmail.com>
gcc/rust/Make-lang.in
gcc/rust/checks/errors/rust-hir-pattern-analysis.cc [new file with mode: 0644]
gcc/rust/checks/errors/rust-hir-pattern-analysis.h [new file with mode: 0644]
gcc/rust/rust-session-manager.cc
gcc/rust/typecheck/rust-hir-type-check-pattern.cc
gcc/testsuite/rust/compile/exhaustiveness1.rs [new file with mode: 0644]
gcc/testsuite/rust/compile/exhaustiveness2.rs [new file with mode: 0644]
gcc/testsuite/rust/compile/exhaustiveness3.rs [new file with mode: 0644]