rewrite extern-diff-internal-name to rmake

This commit is contained in:
Oneirical 2024-07-23 11:24:05 -04:00
parent d53dc752d2
commit da692ee0ea
3 changed files with 17 additions and 7 deletions

View file

@ -15,7 +15,6 @@ run-make/dep-info/Makefile
run-make/dump-ice-to-disk/Makefile
run-make/emit-to-stdout/Makefile
run-make/export-executable-symbols/Makefile
run-make/extern-diff-internal-name/Makefile
run-make/extern-flag-disambiguates/Makefile
run-make/extern-fn-reachable/Makefile
run-make/extern-multiple-copies/Makefile

View file

@ -1,6 +0,0 @@
# ignore-cross-compile
include ../tools.mk
all:
$(RUSTC) lib.rs
$(RUSTC) test.rs --extern foo=$(TMPDIR)/libbar.rlib

View file

@ -0,0 +1,17 @@
// In the following scenario:
// 1. The crate foo, is referenced multiple times
// 2. --extern foo=./path/to/libbar.rlib is specified to rustc
// 3. The internal crate name of libbar.rlib is not foo
// Compilation fails with the "multiple crate versions" error message.
// As this was fixed in #17189, this regression test ensures this bug does not
// make a resurgence.
// See https://github.com/rust-lang/rust/pull/17189
//FIXME(Oneirical): test-various
use run_make_support::{rust_lib_name, rustc};
fn main() {
rustc().input("lib.rs").run();
rustc().input("test.rs").extern_("foo", rust_lib_name("bar")).run();
}