Skip to content

Commit

Permalink
rewrite mingw-export-call-convention to rmake
Browse files Browse the repository at this point in the history
  • Loading branch information
Oneirical committed Jun 25, 2024
1 parent 9dff8a3 commit a2ed16c
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 16 deletions.
1 change: 0 additions & 1 deletion src/tools/tidy/src/allowed_run_make_makefiles.txt
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,6 @@ run-make/manual-link/Makefile
run-make/many-crates-but-no-match/Makefile
run-make/metadata-dep-info/Makefile
run-make/min-global-align/Makefile
run-make/mingw-export-call-convention/Makefile
run-make/missing-crate-dependency/Makefile
run-make/mixing-libs/Makefile
run-make/msvc-opt-minsize/Makefile
Expand Down
9 changes: 0 additions & 9 deletions tests/run-make/mingw-export-call-convention/Makefile

This file was deleted.

13 changes: 13 additions & 0 deletions tests/run-make/mingw-export-call-convention/rmake.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// On windows-gnu, symbol exporting used to fail to export names
// with no_mangle. #72049 brought this feature up to par with msvc,
// and this test checks that the symbol "bar" is successfully exported.
// See https://github.com/rust-lang/rust/issues/50176

//@ only-x86_64-pc-windows-gnu

use run_make_support::{llvm_readobj, rustc};

fn main() {
rustc().input("foo.rs").run();
llvm_readobj().arg("--all").input("libfoo.dll.a").run().assert_stdout_contains("bar");
}
14 changes: 8 additions & 6 deletions tests/run-make/pdb-alt-path/rmake.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
// checks that no full file paths are exposed and that the override flag is respected.
// See https://github.com/rust-lang/rust/pull/121297

//@ only-windows
//@ only-x86_64-pc-windows-msvc

use run_make_support::{bin_name, invalid_utf8_contains, invalid_utf8_not_contains, run, rustc};

fn main() {
// Test that we don't have the full path to the PDB file in the binary
Expand All @@ -16,11 +18,11 @@ fn main() {
.crate_type("bin")
.arg("-Cforce-frame-pointers")
.run();
invalid_utf8_contains(bin_name("my_crate_name"), "my_crate_name.pdb");
invalid_utf8_not_contains(bin_name("my_crate_name"), r#"\my_crate_name.pdb"#);
invalid_utf8_contains(&bin_name("my_crate_name"), "my_crate_name.pdb");
invalid_utf8_not_contains(&bin_name("my_crate_name"), r#"\my_crate_name.pdb"#);
// Test that backtraces still can find debuginfo by checking that they contain symbol names and
// source locations.
let out = run(bin_name(my_crate_name));
let out = run(&bin_name("my_crate_name"));
out.assert_stdout_contains("my_crate_name::fn_in_backtrace");
out.assert_stdout_contains("main.rs:15");
// Test that explicitly passed `-Clink-arg=/PDBALTPATH:...` is respected
Expand All @@ -32,6 +34,6 @@ fn main() {
.link_arg("/PDBALTPATH:abcdefg.pdb")
.arg("-Cforce-frame-pointers")
.run();
invalid_utf8_contains(bin_name("my_crate_name"), "abcdefg.pdb");
invalid_utf8_not_contains(bin_name("my_crate_name"), "my_crate_name.pdb");
invalid_utf8_contains(&bin_name("my_crate_name"), "abcdefg.pdb");
invalid_utf8_not_contains(&bin_name("my_crate_name"), "my_crate_name.pdb");
}

0 comments on commit a2ed16c

Please # to comment.