diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-05-23 07:41:18 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-23 07:41:18 +0200 |
| commit | f131ee6561d371b2bbc36b9f66b89a554d1ddc54 (patch) | |
| tree | 49455ba5a9772c086719264974329e7bd61e6bc3 /tests/codegen | |
| parent | 4af1c31fcfecfeee82259cb0591b37b10d26ebe9 (diff) | |
| parent | ddb81ce68047d6383a789c8da514e443faea8349 (diff) | |
| download | rust-f131ee6561d371b2bbc36b9f66b89a554d1ddc54.tar.gz rust-f131ee6561d371b2bbc36b9f66b89a554d1ddc54.zip | |
Rollup merge of #125222 - Oneirical:fifth, r=jieyouxu
Migrate `run-make/issue-46239` to `rmake` Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).
Diffstat (limited to 'tests/codegen')
| -rw-r--r-- | tests/codegen/noalias-freeze.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/codegen/noalias-freeze.rs b/tests/codegen/noalias-freeze.rs new file mode 100644 index 00000000000..8086f3afbbc --- /dev/null +++ b/tests/codegen/noalias-freeze.rs @@ -0,0 +1,21 @@ +//@ compile-flags: -Copt-level=1 + +// References returned by a Frozen pointer type +// could be marked as "noalias", which caused miscompilation errors. +// This test runs the most minimal possible code that can reproduce this bug, +// and checks that noalias does not appear. +// See https://github.com/rust-lang/rust/issues/46239 + +#![crate_type = "lib"] + +fn project<T>(x: &(T,)) -> &T { &x.0 } + +fn dummy() {} + +// CHECK-LABEL: @foo( +// CHECK-NOT: noalias +#[no_mangle] +pub fn foo() { + let f = (dummy as fn(),); + (*project(&f))(); +} |
