Skip to content

Commit ddb81ce

Browse files
committed
rewrite and rename issue-46239
1 parent ddba1dc commit ddb81ce

File tree

5 files changed

+27
-15
lines changed

5 files changed

+27
-15
lines changed

src/tools/run-make-support/src/rustc.rs

+6
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,12 @@ impl Rustc {
6464
self
6565
}
6666

67+
/// Specify a specific optimization level.
68+
pub fn opt_level(&mut self, option: &str) -> &mut Self {
69+
self.cmd.arg(format!("-Copt-level={option}"));
70+
self
71+
}
72+
6773
/// Specify type(s) of output files to generate.
6874
pub fn emit(&mut self, kinds: &str) -> &mut Self {
6975
self.cmd.arg(format!("--emit={kinds}"));

src/tools/tidy/src/allowed_run_make_makefiles.txt

-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,6 @@ run-make/issue-37839/Makefile
112112
run-make/issue-37893/Makefile
113113
run-make/issue-38237/Makefile
114114
run-make/issue-40535/Makefile
115-
run-make/issue-46239/Makefile
116115
run-make/issue-47384/Makefile
117116
run-make/issue-47551/Makefile
118117
run-make/issue-51671/Makefile

tests/codegen/noalias-freeze.rs

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
//@ compile-flags: -Copt-level=1
2+
3+
// References returned by a Frozen pointer type
4+
// could be marked as "noalias", which caused miscompilation errors.
5+
// This test runs the most minimal possible code that can reproduce this bug,
6+
// and checks that noalias does not appear.
7+
// See https://github.com/rust-lang/rust/issues/46239
8+
9+
#![crate_type = "lib"]
10+
11+
fn project<T>(x: &(T,)) -> &T { &x.0 }
12+
13+
fn dummy() {}
14+
15+
// CHECK-LABEL: @foo(
16+
// CHECK-NOT: noalias
17+
#[no_mangle]
18+
pub fn foo() {
19+
let f = (dummy as fn(),);
20+
(*project(&f))();
21+
}

tests/run-make/issue-46239/Makefile

-6
This file was deleted.

tests/run-make/issue-46239/main.rs

-8
This file was deleted.

0 commit comments

Comments
 (0)