diff --git a/gcc/testsuite/rust/compile/builtin_macro_recurse2.rs b/gcc/testsuite/rust/compile/builtin_macro_recurse2.rs
index c6e9fae9a949..73e6ab4aa6cd 100644
--- a/gcc/testsuite/rust/compile/builtin_macro_recurse2.rs
+++ b/gcc/testsuite/rust/compile/builtin_macro_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-assembler {"abheyho"} } }
-    let _ = concat!("a", 'b', a!(), a!(b c d e f a!()), '\0');
+    print_ptr(S);
+    print_str(S);
 }