gccrs: Add testcase for const-eval issue from rust-blog
authorPhilip Herron <philip.herron@embecosm.com>
Sun, 18 Sep 2022 09:37:06 +0000 (10:37 +0100)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 31 Jan 2023 13:16:52 +0000 (14:16 +0100)
see:
https://blog.rust-lang.org/2022/09/15/const-eval-safety-rule-revision.html

gcc/testsuite/ChangeLog:

* rust/compile/rust-const-blog-issue.rs: New test.

gcc/testsuite/rust/compile/rust-const-blog-issue.rs [new file with mode: 0644]

diff --git a/gcc/testsuite/rust/compile/rust-const-blog-issue.rs b/gcc/testsuite/rust/compile/rust-const-blog-issue.rs
new file mode 100644 (file)
index 0000000..a5ea2eb
--- /dev/null
@@ -0,0 +1,12 @@
+// { dg-excess-errors "accessing value of"  }
+mod mem {
+    extern "rust-intrinsic" {
+        #[rustc_const_stable(feature = "const_transmute", since = "1.46.0")]
+        fn transmute<T, U>(_: T) -> U;
+    }
+}
+
+pub static FOO: () = unsafe {
+    let illegal_ptr2int: usize = mem::transmute(&());
+    let _copy = illegal_ptr2int;
+};