diff --git a/gcc/testsuite/rust/compile/macros/builtin/eager1.rs b/gcc/testsuite/rust/compile/macros/builtin/eager1.rs index 65a80fda62ef..7c6f6f95d61c 100644 --- a/gcc/testsuite/rust/compile/macros/builtin/eager1.rs +++ b/gcc/testsuite/rust/compile/macros/builtin/eager1.rs @@ -15,7 +15,7 @@ macro_rules! b { } fn main() { - // { dg-final { scan-tree-dump-times {"test1canary"} 1 gimple } } + // { dg-final { scan-assembler {"test1canary"} } } let _ = concat!(a!(), 1, b!()); // should not error concat!(a!(), true, b!(),); diff --git a/gcc/testsuite/rust/compile/macros/builtin/recurse2.rs b/gcc/testsuite/rust/compile/macros/builtin/recurse2.rs index 2e73ab54fb60..73e6ab4aa6cd 100644 --- a/gcc/testsuite/rust/compile/macros/builtin/recurse2.rs +++ b/gcc/testsuite/rust/compile/macros/builtin/recurse2.rs @@ -15,7 +15,29 @@ macro_rules! a { }; } +extern "C" { + fn printf(fmt: *const i8, ...); +} + +fn print_ptr(s: &str) { + unsafe { + printf("%p\n\0" as *const str as *const i8, s as *const str); + } +} + +fn print_str(s: &str) { + unsafe { + printf( + "%s\n\0" as *const str as *const i8, + s as *const str as *const i8, + ); + } +} + +// { dg-final { scan-assembler {"abheyho"} } } +static S: &str = concat!("a", 'b', a!(), a!(b c d e f a!()), '\0'); + fn main() { - // { dg-final { scan-tree-dump-times {"abheyho"} 1 gimple } } - let _ = concat!("a", 'b', a!(), a!(b c d e f a!()), '\0'); + print_ptr(S); + print_str(S); }