diff options
| -rw-r--r-- | src/tools/tidy/src/allowed_run_make_makefiles.txt | 1 | ||||
| -rw-r--r-- | tests/run-make/extern-multiple-copies/Makefile | 9 | ||||
| -rw-r--r-- | tests/run-make/extern-multiple-copies/rmake.rs | 17 |
3 files changed, 17 insertions, 10 deletions
diff --git a/src/tools/tidy/src/allowed_run_make_makefiles.txt b/src/tools/tidy/src/allowed_run_make_makefiles.txt index 09ee4d0707b..5df5f844b26 100644 --- a/src/tools/tidy/src/allowed_run_make_makefiles.txt +++ b/src/tools/tidy/src/allowed_run_make_makefiles.txt @@ -17,7 +17,6 @@ run-make/emit-to-stdout/Makefile run-make/export-executable-symbols/Makefile run-make/extern-flag-disambiguates/Makefile run-make/extern-fn-reachable/Makefile -run-make/extern-multiple-copies/Makefile run-make/extern-multiple-copies2/Makefile run-make/fmt-write-bloat/Makefile run-make/foreign-double-unwind/Makefile diff --git a/tests/run-make/extern-multiple-copies/Makefile b/tests/run-make/extern-multiple-copies/Makefile deleted file mode 100644 index b0b84278eda..00000000000 --- a/tests/run-make/extern-multiple-copies/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -# ignore-cross-compile -include ../tools.mk - -all: - $(RUSTC) foo1.rs - $(RUSTC) foo2.rs - mkdir $(TMPDIR)/foo - cp $(TMPDIR)/libfoo1.rlib $(TMPDIR)/foo/libfoo1.rlib - $(RUSTC) bar.rs --extern foo1=$(TMPDIR)/libfoo1.rlib -L $(TMPDIR)/foo diff --git a/tests/run-make/extern-multiple-copies/rmake.rs b/tests/run-make/extern-multiple-copies/rmake.rs new file mode 100644 index 00000000000..94dd26af5e6 --- /dev/null +++ b/tests/run-make/extern-multiple-copies/rmake.rs @@ -0,0 +1,17 @@ +// In this test, the rust library foo1 exists in two different locations, but only one +// is required by the --extern flag. This test checks that the copy is ignored (as --extern +// demands fetching only the original instance of foo1) and that no error is emitted, resulting +// in successful compilation. +// https://github.com/rust-lang/rust/pull/29961 + +// FIXME(Oneirical): test-various + +use run_make_support::{path, rfs, rust_lib_name, rustc}; + +fn main() { + rustc().input("foo1.rs").run(); + rustc().input("foo2.rs").run(); + rfs::create_dir("foo"); + rfs::copy(rust_lib_name("foo1"), path("foo").join(rust_lib_name("foo1"))); + rustc().input("bar.rs").extern_("foo1", rust_lib_name("foo1")).library_search_path("foo").run(); +} |
