https://gcc.gnu.org/g:e876ff57d83170f84b0dccf7bde333ca18fd2603
commit e876ff57d83170f84b0dccf7bde333ca18fd2603 Author: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com> Date: Thu Nov 30 13:27:01 2023 +0100 Add execution test for name resolution 2.0 We already have some compile tests but it lacked an execution test to ensure everything compiles correctly to the correct value. gcc/testsuite/ChangeLog: * rust/execute/torture/name_resolution.rs: New test. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.pa...@embecosm.com> Diff: --- .../rust/execute/torture/name_resolution.rs | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gcc/testsuite/rust/execute/torture/name_resolution.rs b/gcc/testsuite/rust/execute/torture/name_resolution.rs new file mode 100644 index 000000000000..749218352d64 --- /dev/null +++ b/gcc/testsuite/rust/execute/torture/name_resolution.rs @@ -0,0 +1,24 @@ +// { dg-additional-options "-frust-name-resolution-2.0" } +// { dg-output "Value is 10\r*\n" } + +const BAZ: i32 = 10; + +extern "C" { + fn printf(s: *const i8, ...); +} + +fn foo() { + fn bar() { + let e = BAZ; + unsafe { + printf("Value is %i\n" as *const str as *const i8, e); + } + } + + bar(); +} + +fn main() -> i32 { + foo(); + 0 +}