From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1643) id 2E7893857B8D; Fri, 23 Sep 2022 06:51:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2E7893857B8D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1663915915; bh=6lUIc0M+pmfiFTgujmruWCltkumeEodedgnC9Mzf/Mc=; h=From:To:Subject:Date:From; b=YvGirC722DfS8u0PJFKEouSM9tfCzXdFKCNYrRsmd/g4ig+ibYRSSKegGaBM/FpGx zS78q3+LSJwZVBYmJsMrRplhlBbyzz51FwVERN2/JX/PInFYXAFOa/A3VhWODsxo3I MbQ5w3oCmDmj0G0hsy5EpiIUjn8d5cLVzMnJMw0A= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Thomas Schwinge To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/rust/master] Add testcase for const-eval issue from rust-blog X-Act-Checkin: gcc X-Git-Author: Philip Herron X-Git-Refname: refs/heads/devel/rust/master X-Git-Oldrev: a6bb21fca5b9ad5cadcaa6a3dba481972ce0ed7e X-Git-Newrev: 5f01d6c53734802955568771e75df68ffc2fd0d8 Message-Id: <20220923065155.2E7893857B8D@sourceware.org> Date: Fri, 23 Sep 2022 06:51:55 +0000 (GMT) List-Id: https://gcc.gnu.org/g:5f01d6c53734802955568771e75df68ffc2fd0d8 commit 5f01d6c53734802955568771e75df68ffc2fd0d8 Author: Philip Herron Date: Sun Sep 18 10:37:06 2022 +0100 Add testcase for const-eval issue from rust-blog see: https://blog.rust-lang.org/2022/09/15/const-eval-safety-rule-revision.html Diff: --- gcc/testsuite/rust/compile/rust-const-blog-issue.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 index 00000000000..a5ea2ebacb9 --- /dev/null +++ b/gcc/testsuite/rust/compile/rust-const-blog-issue.rs @@ -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; + } +} + +pub static FOO: () = unsafe { + let illegal_ptr2int: usize = mem::transmute(&()); + let _copy = illegal_ptr2int; +};