From 1213bb4686cd75643294d35619c97801fccf4810 Mon Sep 17 00:00:00 2001 From: Arthur Cohen Date: Tue, 27 Jun 2023 15:56:04 +0200 Subject: [PATCH] gccrs: nr2.0: Add complex testcases gcc/testsuite/ChangeLog: * rust/compile/name_resolution1.rs: New test. * rust/compile/name_resolution2.rs: New test. * rust/compile/name_resolution3.rs: New test. * rust/compile/name_resolution4.rs: New test. * rust/compile/name_resolution5.rs: New test. Co-authored-by: GuillaumeGomez --- gcc/testsuite/rust/compile/name_resolution1.rs | 9 +++++++++ gcc/testsuite/rust/compile/name_resolution2.rs | 13 +++++++++++++ gcc/testsuite/rust/compile/name_resolution3.rs | 9 +++++++++ gcc/testsuite/rust/compile/name_resolution4.rs | 13 +++++++++++++ gcc/testsuite/rust/compile/name_resolution5.rs | 15 +++++++++++++++ 5 files changed, 59 insertions(+) create mode 100644 gcc/testsuite/rust/compile/name_resolution1.rs create mode 100644 gcc/testsuite/rust/compile/name_resolution2.rs create mode 100644 gcc/testsuite/rust/compile/name_resolution3.rs create mode 100644 gcc/testsuite/rust/compile/name_resolution4.rs create mode 100644 gcc/testsuite/rust/compile/name_resolution5.rs diff --git a/gcc/testsuite/rust/compile/name_resolution1.rs b/gcc/testsuite/rust/compile/name_resolution1.rs new file mode 100644 index 000000000000..4f5d2d42cc4d --- /dev/null +++ b/gcc/testsuite/rust/compile/name_resolution1.rs @@ -0,0 +1,9 @@ +fn outer() { + inner(); + + fn inner() {} +} + +fn main() { + outer(); +} diff --git a/gcc/testsuite/rust/compile/name_resolution2.rs b/gcc/testsuite/rust/compile/name_resolution2.rs new file mode 100644 index 000000000000..343f6282a887 --- /dev/null +++ b/gcc/testsuite/rust/compile/name_resolution2.rs @@ -0,0 +1,13 @@ +struct Bar; + +trait Foo { + fn bar(&self) {} // { dg-warning "unused name" } +} + +pub fn outer() { + impl Foo for Bar {} +} + +fn main() { + Bar.bar(); +} diff --git a/gcc/testsuite/rust/compile/name_resolution3.rs b/gcc/testsuite/rust/compile/name_resolution3.rs new file mode 100644 index 000000000000..ef36c094594a --- /dev/null +++ b/gcc/testsuite/rust/compile/name_resolution3.rs @@ -0,0 +1,9 @@ +pub const BAR: u32 = { // { dg-warning "unused name" } + let ret = outer(); + + const fn outer() -> u32 { + 0 + } + + ret +}; diff --git a/gcc/testsuite/rust/compile/name_resolution4.rs b/gcc/testsuite/rust/compile/name_resolution4.rs new file mode 100644 index 000000000000..1c138e837b24 --- /dev/null +++ b/gcc/testsuite/rust/compile/name_resolution4.rs @@ -0,0 +1,13 @@ +trait Foo { + fn foo(&self) {} // { dg-warning "unused name" } +} + +struct Bar; + +pub fn bar() { + impl Foo for Bar {} +} + +fn main() { + Bar.foo(); +} diff --git a/gcc/testsuite/rust/compile/name_resolution5.rs b/gcc/testsuite/rust/compile/name_resolution5.rs new file mode 100644 index 000000000000..f91c5d57f09b --- /dev/null +++ b/gcc/testsuite/rust/compile/name_resolution5.rs @@ -0,0 +1,15 @@ +fn bar() { + foo(); + + fn foo() { + fn bar2() { + foo(); + } + + bar2(); + } +} + +fn main() { + bar(); +} -- 2.47.2