[gcc/devel/rust/master] testsuite: Calls to printf are unsafe

Thomas Schwinge tschwinge@gcc.gnu.org
Sat Aug 6 12:08:49 GMT 2022


https://gcc.gnu.org/g:e88a55ab6919346e0afe79bfd13f84ecf9634889

commit e88a55ab6919346e0afe79bfd13f84ecf9634889
Author: Arthur Cohen <arthur.cohen@embecosm.com>
Date:   Thu Jul 28 10:06:30 2022 +0200

    testsuite: Calls to printf are unsafe

Diff:
---
 .../rust/execute/torture/builtin_macro_cfg.rs      |  8 ++-
 .../rust/execute/torture/builtin_macro_concat.rs   |  7 ++-
 .../rust/execute/torture/builtin_macro_env.rs      |  7 ++-
 .../execute/torture/builtin_macro_include_bytes.rs | 60 +++++++++++-----------
 .../execute/torture/builtin_macro_include_str.rs   | 18 ++++---
 .../rust/execute/torture/builtin_macro_line.rs     |  6 ++-
 .../rust/execute/torture/builtin_macros1.rs        |  4 +-
 .../rust/execute/torture/builtin_macros3.rs        |  7 ++-
 gcc/testsuite/rust/execute/torture/macros10.rs     |  4 +-
 gcc/testsuite/rust/execute/torture/macros12.rs     |  4 +-
 gcc/testsuite/rust/execute/torture/macros13.rs     |  4 +-
 gcc/testsuite/rust/execute/torture/macros14.rs     |  4 +-
 gcc/testsuite/rust/execute/torture/macros22.rs     | 12 +++--
 gcc/testsuite/rust/execute/torture/macros29.rs     | 20 ++++----
 gcc/testsuite/rust/execute/torture/macros30.rs     | 22 ++++----
 gcc/testsuite/rust/execute/torture/macros31.rs     |  8 ++-
 gcc/testsuite/rust/execute/torture/match_bool1.rs  | 33 +++++++-----
 gcc/testsuite/rust/execute/torture/match_byte1.rs  | 29 +++++++----
 gcc/testsuite/rust/execute/torture/match_char1.rs  | 29 +++++++----
 gcc/testsuite/rust/execute/torture/match_int1.rs   | 59 +++++++++++++--------
 gcc/testsuite/rust/execute/torture/match_loop1.rs  | 21 +++++---
 gcc/testsuite/rust/execute/torture/match_range1.rs | 19 ++++---
 gcc/testsuite/rust/execute/torture/match_range2.rs | 23 +++++----
 gcc/testsuite/rust/execute/torture/match_tuple1.rs | 14 +++--
 24 files changed, 260 insertions(+), 162 deletions(-)

diff --git a/gcc/testsuite/rust/execute/torture/builtin_macro_cfg.rs b/gcc/testsuite/rust/execute/torture/builtin_macro_cfg.rs
index ac24791bd6a..9fa5222d61f 100644
--- a/gcc/testsuite/rust/execute/torture/builtin_macro_cfg.rs
+++ b/gcc/testsuite/rust/execute/torture/builtin_macro_cfg.rs
@@ -9,10 +9,14 @@ extern "C" {
 }
 
 fn print(s: &str) {
-    printf("%s\n" as *const str as *const i8, s as *const str as *const i8);
+    unsafe {
+        printf(
+            "%s\n" as *const str as *const i8,
+            s as *const str as *const i8,
+        );
+    }
 }
 
-
 fn main() -> i32 {
     let cfg = cfg!(A);
     if cfg {
diff --git a/gcc/testsuite/rust/execute/torture/builtin_macro_concat.rs b/gcc/testsuite/rust/execute/torture/builtin_macro_concat.rs
index ca405857320..555d49caf60 100644
--- a/gcc/testsuite/rust/execute/torture/builtin_macro_concat.rs
+++ b/gcc/testsuite/rust/execute/torture/builtin_macro_concat.rs
@@ -8,7 +8,12 @@ extern "C" {
 }
 
 fn print(s: &str) {
-    printf("%s\n" as *const str as *const i8, s as *const str as *const i8);
+    unsafe {
+        printf(
+            "%s\n" as *const str as *const i8,
+            s as *const str as *const i8,
+        );
+    }
 }
 
 fn main() -> i32 {
diff --git a/gcc/testsuite/rust/execute/torture/builtin_macro_env.rs b/gcc/testsuite/rust/execute/torture/builtin_macro_env.rs
index ab6f139075c..211ddfc26f2 100644
--- a/gcc/testsuite/rust/execute/torture/builtin_macro_env.rs
+++ b/gcc/testsuite/rust/execute/torture/builtin_macro_env.rs
@@ -10,7 +10,12 @@ extern "C" {
 }
 
 fn print(s: &str) {
-    printf("%s\n" as *const str as *const i8, s as *const str as *const i8);
+    unsafe {
+        printf(
+            "%s\n" as *const str as *const i8,
+            s as *const str as *const i8,
+        );
+    }
 }
 
 fn main() -> i32 {
diff --git a/gcc/testsuite/rust/execute/torture/builtin_macro_include_bytes.rs b/gcc/testsuite/rust/execute/torture/builtin_macro_include_bytes.rs
index 3f7ebd288d9..49da09300a0 100644
--- a/gcc/testsuite/rust/execute/torture/builtin_macro_include_bytes.rs
+++ b/gcc/testsuite/rust/execute/torture/builtin_macro_include_bytes.rs
@@ -1,7 +1,7 @@
 // { dg-output "104\n33\n1\n" }
 
 macro_rules! include_bytes {
-  () => {{}};
+    () => {{}};
 }
 
 extern "C" {
@@ -10,35 +10,37 @@ extern "C" {
 
 fn print_int(value: i32) {
     let s = "%d\n\0" as *const str as *const i8;
-    printf(s, value);
+    unsafe {
+        printf(s, value);
+    }
 }
 
 fn main() -> i32 {
-  let bytes = include_bytes! ("include.txt");
-
-  print_int (bytes[0] as i32);
-  print_int (bytes[14] as i32);
-
-  let the_bytes = b"hello, include!\n";
-
-  let x = bytes[0] == the_bytes[0]
-    && bytes[1] == the_bytes [1]
-    && bytes[2] == the_bytes [2]
-    && bytes[3] == the_bytes [3]
-    && bytes[4] == the_bytes [4]
-    && bytes[5] == the_bytes [5]
-    && bytes[6] == the_bytes [6]
-    && bytes[7] == the_bytes [7]
-    && bytes[8] == the_bytes [8]
-    && bytes[9] == the_bytes [9]
-    && bytes[10] == the_bytes [10]
-    && bytes[11] == the_bytes [11]
-    && bytes[12] == the_bytes [12]
-    && bytes[13] == the_bytes [13]
-    && bytes[14] == the_bytes [14]
-    && bytes[15] == the_bytes [15];
-
-  print_int (x as i32);
-
-  0
+    let bytes = include_bytes!("include.txt");
+
+    print_int(bytes[0] as i32);
+    print_int(bytes[14] as i32);
+
+    let the_bytes = b"hello, include!\n";
+
+    let x = bytes[0] == the_bytes[0]
+        && bytes[1] == the_bytes[1]
+        && bytes[2] == the_bytes[2]
+        && bytes[3] == the_bytes[3]
+        && bytes[4] == the_bytes[4]
+        && bytes[5] == the_bytes[5]
+        && bytes[6] == the_bytes[6]
+        && bytes[7] == the_bytes[7]
+        && bytes[8] == the_bytes[8]
+        && bytes[9] == the_bytes[9]
+        && bytes[10] == the_bytes[10]
+        && bytes[11] == the_bytes[11]
+        && bytes[12] == the_bytes[12]
+        && bytes[13] == the_bytes[13]
+        && bytes[14] == the_bytes[14]
+        && bytes[15] == the_bytes[15];
+
+    print_int(x as i32);
+
+    0
 }
diff --git a/gcc/testsuite/rust/execute/torture/builtin_macro_include_str.rs b/gcc/testsuite/rust/execute/torture/builtin_macro_include_str.rs
index 095d7cbc6e8..334b9c6f17e 100644
--- a/gcc/testsuite/rust/execute/torture/builtin_macro_include_str.rs
+++ b/gcc/testsuite/rust/execute/torture/builtin_macro_include_str.rs
@@ -1,7 +1,7 @@
 // { dg-output "hello, include!\n" }
 
 macro_rules! include_str {
-  () => {{}};
+    () => {{}};
 }
 
 extern "C" {
@@ -9,15 +9,19 @@ extern "C" {
 }
 
 fn print(s: &str) {
-  printf("%s" as *const str as *const i8, s as *const str as *const i8);
+    unsafe {
+        printf(
+            "%s" as *const str as *const i8,
+            s as *const str as *const i8,
+        );
+    }
 }
 
-
 fn main() -> i32 {
-  // include_str! (and include_bytes!) allow for an optional trailing comma.
-  let my_str = include_str! ("include.txt",);
+    // include_str! (and include_bytes!) allow for an optional trailing comma.
+    let my_str = include_str!("include.txt",);
 
-  print (my_str);
+    print(my_str);
 
-  0
+    0
 }
diff --git a/gcc/testsuite/rust/execute/torture/builtin_macro_line.rs b/gcc/testsuite/rust/execute/torture/builtin_macro_line.rs
index 873054dd6cb..6153bf5968c 100644
--- a/gcc/testsuite/rust/execute/torture/builtin_macro_line.rs
+++ b/gcc/testsuite/rust/execute/torture/builtin_macro_line.rs
@@ -1,10 +1,12 @@
-// { dg-output "15\n18\n" }
+// { dg-output "17\n20\n" }
 extern "C" {
     fn printf(fmt: *const i8, ...);
 }
 
 fn print(s: u32) {
-    printf("%u\n\0" as *const str as *const i8, s);
+    unsafe {
+        printf("%u\n\0" as *const str as *const i8, s);
+    }
 }
 
 macro_rules! line {
diff --git a/gcc/testsuite/rust/execute/torture/builtin_macros1.rs b/gcc/testsuite/rust/execute/torture/builtin_macros1.rs
index d68f62f5175..6f52c37150f 100644
--- a/gcc/testsuite/rust/execute/torture/builtin_macros1.rs
+++ b/gcc/testsuite/rust/execute/torture/builtin_macros1.rs
@@ -8,7 +8,9 @@ extern "C" {
 }
 
 fn print(s: &str) {
-    printf("%s\n\0" as *const str as *const i8, s);
+    unsafe {
+        printf("%s\n\0" as *const str as *const i8, s);
+    }
 }
 
 fn main() -> i32 {
diff --git a/gcc/testsuite/rust/execute/torture/builtin_macros3.rs b/gcc/testsuite/rust/execute/torture/builtin_macros3.rs
index ed117803c07..6c0facb3d6a 100644
--- a/gcc/testsuite/rust/execute/torture/builtin_macros3.rs
+++ b/gcc/testsuite/rust/execute/torture/builtin_macros3.rs
@@ -8,7 +8,9 @@ extern "C" {
 }
 
 fn print(s: u32) {
-    printf("%u\n\0" as *const str as *const i8, s);
+    unsafe {
+        printf("%u\n\0" as *const str as *const i8, s);
+    }
 }
 
 fn main() -> i32 {
@@ -21,4 +23,5 @@ fn main() -> i32 {
     print(c1);
 
     0
-}
\ No newline at end of file
+}
+
diff --git a/gcc/testsuite/rust/execute/torture/macros10.rs b/gcc/testsuite/rust/execute/torture/macros10.rs
index f1fc34eab90..155a440ee04 100644
--- a/gcc/testsuite/rust/execute/torture/macros10.rs
+++ b/gcc/testsuite/rust/execute/torture/macros10.rs
@@ -5,7 +5,9 @@ extern "C" {
 
 fn print_int(value: i32) {
     let s = "%d\n\0" as *const str as *const i8;
-    printf(s, value);
+    unsafe {
+        printf(s, value);
+    }
 }
 
 macro_rules! add_exprs {
diff --git a/gcc/testsuite/rust/execute/torture/macros12.rs b/gcc/testsuite/rust/execute/torture/macros12.rs
index ff4a862fe60..d310dff9ba8 100644
--- a/gcc/testsuite/rust/execute/torture/macros12.rs
+++ b/gcc/testsuite/rust/execute/torture/macros12.rs
@@ -5,7 +5,9 @@ extern "C" {
 
 fn print_int(value: i32) {
     let s = "%d\n\0" as *const str as *const i8;
-    printf(s, value);
+    unsafe {
+        printf(s, value);
+    }
 }
 
 macro_rules! add_exprs {
diff --git a/gcc/testsuite/rust/execute/torture/macros13.rs b/gcc/testsuite/rust/execute/torture/macros13.rs
index af5dfe84ee3..afb20264625 100644
--- a/gcc/testsuite/rust/execute/torture/macros13.rs
+++ b/gcc/testsuite/rust/execute/torture/macros13.rs
@@ -5,7 +5,9 @@ extern "C" {
 
 fn print_int(value: i32) {
     let s = "%d\n\0" as *const str as *const i8;
-    printf(s, value);
+    unsafe {
+        printf(s, value);
+    }
 }
 
 macro_rules! add_exprs {
diff --git a/gcc/testsuite/rust/execute/torture/macros14.rs b/gcc/testsuite/rust/execute/torture/macros14.rs
index 2dc95e3e3be..00656546d4c 100644
--- a/gcc/testsuite/rust/execute/torture/macros14.rs
+++ b/gcc/testsuite/rust/execute/torture/macros14.rs
@@ -5,7 +5,9 @@ extern "C" {
 
 fn print_int(value: i32) {
     let s = "%d\n\0" as *const str as *const i8;
-    printf(s, value);
+    unsafe {
+        printf(s, value);
+    }
 }
 
 macro_rules! add_exprs {
diff --git a/gcc/testsuite/rust/execute/torture/macros22.rs b/gcc/testsuite/rust/execute/torture/macros22.rs
index 973af23860b..3f291ace98e 100644
--- a/gcc/testsuite/rust/execute/torture/macros22.rs
+++ b/gcc/testsuite/rust/execute/torture/macros22.rs
@@ -1,9 +1,11 @@
 // { dg-output "1\n2\nNaN\n3\n" }
 
 macro_rules! print_num {
-    ($l:literal) => {
-        printf("%d\n\0" as *const str as *const i8, $l);
-    };
+    ($l:literal) => {{
+        unsafe {
+            printf("%d\n\0" as *const str as *const i8, $l);
+        }
+    }};
 }
 
 extern "C" {
@@ -15,7 +17,9 @@ fn main() -> i32 {
     print_num!(1);
     print_num!(2);
 
-    printf("NaN\n\0" as *const str as *const i8);
+    unsafe {
+        printf("NaN\n\0" as *const str as *const i8);
+    }
 
     print_num!(3);
 
diff --git a/gcc/testsuite/rust/execute/torture/macros29.rs b/gcc/testsuite/rust/execute/torture/macros29.rs
index 7bce29b5995..506d660d6aa 100644
--- a/gcc/testsuite/rust/execute/torture/macros29.rs
+++ b/gcc/testsuite/rust/execute/torture/macros29.rs
@@ -1,21 +1,23 @@
 // { dg-output "1\n" }
 macro_rules! concat {
-  () => {{}};
+    () => {{}};
 }
 
 extern "C" {
-  fn printf(fmt: *const i8, ...);
+    fn printf(fmt: *const i8, ...);
 }
 
 fn print(s: u32) {
-  printf("%u\n\0" as *const str as *const i8, s);
+    unsafe {
+        printf("%u\n\0" as *const str as *const i8, s);
+    }
 }
 
-fn main () -> i32 {
-  let res = concat!("test2") == "test3";
-  if !res {
-    print(1);
-  }
+fn main() -> i32 {
+    let res = concat!("test2") == "test3";
+    if !res {
+        print(1);
+    }
 
-  0
+    0
 }
diff --git a/gcc/testsuite/rust/execute/torture/macros30.rs b/gcc/testsuite/rust/execute/torture/macros30.rs
index 09247e6dd7e..8f54b05be7d 100644
--- a/gcc/testsuite/rust/execute/torture/macros30.rs
+++ b/gcc/testsuite/rust/execute/torture/macros30.rs
@@ -1,22 +1,24 @@
 // { dg-output "1\n" }
 macro_rules! concat {
-  () => {{}};
+    () => {{}};
 }
 
 extern "C" {
-  fn printf(fmt: *const i8, ...);
+    fn printf(fmt: *const i8, ...);
 }
 
 fn print(s: u32) {
-  printf("%u\n\0" as *const str as *const i8, s);
+    unsafe {
+        printf("%u\n\0" as *const str as *const i8, s);
+    }
 }
 
-fn main () -> i32 {
-  let mut x = concat!("x");
-  x = concat!("y");
-  if x == "y" {
-    print(1);
-  }
+fn main() -> i32 {
+    let mut x = concat!("x");
+    x = concat!("y");
+    if x == "y" {
+        print(1);
+    }
 
-  0
+    0
 }
diff --git a/gcc/testsuite/rust/execute/torture/macros31.rs b/gcc/testsuite/rust/execute/torture/macros31.rs
index 1a67c473770..6ad6d7e3c99 100644
--- a/gcc/testsuite/rust/execute/torture/macros31.rs
+++ b/gcc/testsuite/rust/execute/torture/macros31.rs
@@ -9,10 +9,14 @@ extern "C" {
 }
 
 fn print(s: &str) {
-    printf("%s\n" as *const str as *const i8, s as *const str as *const i8);
+    unsafe {
+        printf(
+            "%s\n" as *const str as *const i8,
+            s as *const str as *const i8,
+        );
+    }
 }
 
-
 fn main() -> i32 {
     let cfg = cfg!(A) || cfg!(B);
     if cfg {
diff --git a/gcc/testsuite/rust/execute/torture/match_bool1.rs b/gcc/testsuite/rust/execute/torture/match_bool1.rs
index 45900b82410..101dbb58571 100644
--- a/gcc/testsuite/rust/execute/torture/match_bool1.rs
+++ b/gcc/testsuite/rust/execute/torture/match_bool1.rs
@@ -4,41 +4,46 @@ extern "C" {
     fn printf(s: *const i8, ...);
 }
 
-fn foo (x: bool) -> i32 {
+fn foo(x: bool) -> i32 {
     match x {
-        true => { return 182; },
-        false => { return 55; },
+        true => {
+            return 182;
+        }
+        false => {
+            return 55;
+        }
     }
 }
 
-fn bar (y: i32) {
-
+fn bar(y: i32) {
     match y < 100 {
         true => {
             let a = "%i is less than 100\n\0";
             let b = a as *const str;
             let c = b as *const i8;
 
-            printf (c, y);
+            unsafe {
+                printf(c, y);
+            }
         }
         _ => {
             let a = "%i is more than 100\n\0";
             let b = a as *const str;
             let c = b as *const i8;
 
-            printf (c, y);
+            unsafe {
+                printf(c, y);
+            }
         }
     }
 }
 
+fn main() -> i32 {
+    let a = foo(true);
+    let b = foo(false);
 
-fn main () -> i32 {
-
-    let a = foo (true);
-    let b = foo (false);
-
-    bar (a);
-    bar (b);
+    bar(a);
+    bar(b);
 
     0
 }
diff --git a/gcc/testsuite/rust/execute/torture/match_byte1.rs b/gcc/testsuite/rust/execute/torture/match_byte1.rs
index 3d09a33a77e..3546cfb9d8b 100644
--- a/gcc/testsuite/rust/execute/torture/match_byte1.rs
+++ b/gcc/testsuite/rust/execute/torture/match_byte1.rs
@@ -4,46 +4,53 @@ extern "C" {
     fn printf(s: *const i8, ...);
 }
 
-fn foo (x: u8) {
+fn foo(x: u8) {
     match x {
         b'a' => {
             let a = "a\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
 
         b'\x07' => {
             let a = "seven\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
 
         b'\'' => {
             let a = "quote\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
 
         _ => {
             let a = "else\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
     }
 }
 
-fn main () -> i32 {
-
+fn main() -> i32 {
     let x: u8 = 7;
 
-    foo (b'a');
-    foo (x);
-    foo (b'\'');
-    foo (b'\\');
+    foo(b'a');
+    foo(x);
+    foo(b'\'');
+    foo(b'\\');
 
     0
 }
diff --git a/gcc/testsuite/rust/execute/torture/match_char1.rs b/gcc/testsuite/rust/execute/torture/match_char1.rs
index e9da8ffbddc..fa65876a907 100644
--- a/gcc/testsuite/rust/execute/torture/match_char1.rs
+++ b/gcc/testsuite/rust/execute/torture/match_char1.rs
@@ -4,46 +4,53 @@ extern "C" {
     fn printf(s: *const i8, ...);
 }
 
-fn foo (x: char) {
+fn foo(x: char) {
     match x {
         'a' => {
             let a = "amazing\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
 
         'c' => {
             let a = "compiler\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
 
         'p' => {
             let a = "productivity\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
 
         _ => {
             let a = "wildcard\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
     }
 }
 
-fn main () -> i32 {
-
+fn main() -> i32 {
     let p = 'p';
 
-    foo ('a');
-    foo ('b');
-    foo ('c');
-    foo (p);
+    foo('a');
+    foo('b');
+    foo('c');
+    foo(p);
 
     0
 }
diff --git a/gcc/testsuite/rust/execute/torture/match_int1.rs b/gcc/testsuite/rust/execute/torture/match_int1.rs
index b1373bf8498..209429added 100644
--- a/gcc/testsuite/rust/execute/torture/match_int1.rs
+++ b/gcc/testsuite/rust/execute/torture/match_int1.rs
@@ -4,91 +4,106 @@ extern "C" {
     fn printf(s: *const i8, ...);
 }
 
-fn foo_i32 (x: i32) {
+fn foo_i32(x: i32) {
     match x {
         15 => {
             let a = "fifteen!\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
 
         _ => {
             let a = "other!\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
     }
 }
 
-fn foo_isize (x: isize) {
+fn foo_isize(x: isize) {
     match x {
         15 => {
             let a = "fifteen!\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
 
         _ => {
             let a = "other!\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
     }
 }
 
-fn foo_u32 (x: u32) {
+fn foo_u32(x: u32) {
     match x {
         15 => {
             let a = "fifteen!\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
 
         _ => {
             let a = "other!\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
     }
 }
 
-fn foo_usize (x: usize) {
+fn foo_usize(x: usize) {
     match x {
         15 => {
             let a = "fifteen!\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
 
         _ => {
             let a = "other!\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
     }
 }
 
-
-fn main () -> i32 {
+fn main() -> i32 {
     let x = -2;
-    foo_i32 (x);
-    foo_i32 (334);
-    foo_isize (-4768);
-    foo_isize (15);
+    foo_i32(x);
+    foo_i32(334);
+    foo_isize(-4768);
+    foo_isize(15);
 
     let y = 127;
-    foo_u32 (15);
-    foo_u32 (y);
-    foo_usize (2394);
-    foo_usize (15);
+    foo_u32(15);
+    foo_u32(y);
+    foo_usize(2394);
+    foo_usize(15);
 
     0
 }
diff --git a/gcc/testsuite/rust/execute/torture/match_loop1.rs b/gcc/testsuite/rust/execute/torture/match_loop1.rs
index d3aab6bc0bf..bb6aee946f6 100644
--- a/gcc/testsuite/rust/execute/torture/match_loop1.rs
+++ b/gcc/testsuite/rust/execute/torture/match_loop1.rs
@@ -7,10 +7,10 @@ extern "C" {
 enum E {
     One,
     Two,
-    Other
+    Other,
 }
 
-fn foo () {
+fn foo() {
     let mut x = E::One;
 
     loop {
@@ -19,7 +19,9 @@ fn foo () {
                 let a = "E::One\n\0";
                 let b = a as *const str;
                 let c = b as *const i8;
-                printf (c);
+                unsafe {
+                    printf(c);
+                }
 
                 x = E::Two;
             }
@@ -27,7 +29,9 @@ fn foo () {
                 let a = "E::Two\n\0";
                 let b = a as *const str;
                 let c = b as *const i8;
-                printf (c);
+                unsafe {
+                    printf(c);
+                }
 
                 x = E::Other;
             }
@@ -35,7 +39,9 @@ fn foo () {
                 let a = "break!\n\0";
                 let b = a as *const str;
                 let c = b as *const i8;
-                printf (c);
+                unsafe {
+                    printf(c);
+                }
 
                 break;
             }
@@ -43,9 +49,8 @@ fn foo () {
     }
 }
 
-
-fn main () -> i32 {
-    foo ();
+fn main() -> i32 {
+    foo();
 
     0
 }
diff --git a/gcc/testsuite/rust/execute/torture/match_range1.rs b/gcc/testsuite/rust/execute/torture/match_range1.rs
index 8fe8f4c766f..82e9e34a989 100644
--- a/gcc/testsuite/rust/execute/torture/match_range1.rs
+++ b/gcc/testsuite/rust/execute/torture/match_range1.rs
@@ -6,29 +6,32 @@ extern "C" {
 
 const END_RANGE: i32 = 15;
 
-fn foo (x: i32) {
+fn foo(x: i32) {
     match x {
         0..=END_RANGE => {
             let a = "zero to END_RANGE\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
 
         _ => {
             let a = "else\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
     }
 }
 
-fn main () -> i32 {
-
-    foo (11);
-    foo (15);
-    foo (21);
+fn main() -> i32 {
+    foo(11);
+    foo(15);
+    foo(21);
 
     0
 }
diff --git a/gcc/testsuite/rust/execute/torture/match_range2.rs b/gcc/testsuite/rust/execute/torture/match_range2.rs
index 82980c2f0c5..8153f9e1c7e 100644
--- a/gcc/testsuite/rust/execute/torture/match_range2.rs
+++ b/gcc/testsuite/rust/execute/torture/match_range2.rs
@@ -7,34 +7,39 @@ extern "C" {
 const BIG_A: char = 'A';
 const BIG_Z: char = 'Z';
 
-fn bar (x: char) {
+fn bar(x: char) {
     match x {
-
         'a'..='z' => {
             let a = "lowercase\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
         BIG_A..=BIG_Z => {
             let a = "uppercase\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
         _ => {
             let a = "other\n\0";
             let b = a as *const str;
             let c = b as *const i8;
-            printf (c);
+            unsafe {
+                printf(c);
+            }
         }
     }
 }
 
-fn main () -> i32 {
-    bar ('b');
-    bar ('X');
-    bar ('!');
+fn main() -> i32 {
+    bar('b');
+    bar('X');
+    bar('!');
 
     0
 }
diff --git a/gcc/testsuite/rust/execute/torture/match_tuple1.rs b/gcc/testsuite/rust/execute/torture/match_tuple1.rs
index 18740628912..cb61cc0847c 100644
--- a/gcc/testsuite/rust/execute/torture/match_tuple1.rs
+++ b/gcc/testsuite/rust/execute/torture/match_tuple1.rs
@@ -30,12 +30,16 @@ fn inspect(f: Foo, g: u8) -> i32 {
     return 25;
 }
 
-fn main () -> i32 {
-    let x = inspect (Foo::B, 2);
-    let y = inspect (Foo::B, 1);
+fn main() -> i32 {
+    let x = inspect(Foo::B, 2);
+    let y = inspect(Foo::B, 1);
 
-    printf ("x:%d\n" as *const str as *const i8, x);
-    printf ("y:%d\n" as *const str as *const i8, y);
+    unsafe {
+        printf("x:%d\n" as *const str as *const i8, x);
+    }
+    unsafe {
+        printf("y:%d\n" as *const str as *const i8, y);
+    }
 
     y - x - 5
 }


More information about the Gcc-cvs mailing list