about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOneirical <manchot@videotron.ca>2024-06-18 15:59:33 -0400
committerOneirical <manchot@videotron.ca>2024-06-18 15:59:33 -0400
commit060a13e9fd56b1d186ea016070e390067b9e893d (patch)
tree90937ef5911b2e9cd89d4e50c4ae0d75b06fac6d
parentdd104ef16315e2387fe94e8c43eb5a66e3dbd660 (diff)
downloadrust-060a13e9fd56b1d186ea016070e390067b9e893d.tar.gz
rust-060a13e9fd56b1d186ea016070e390067b9e893d.zip
rewrite extern-flag-rename-transitive to rmake
-rw-r--r--src/tools/tidy/src/allowed_run_make_makefiles.txt1
-rw-r--r--tests/run-make/extern-flag-rename-transitive/Makefile7
-rw-r--r--tests/run-make/extern-flag-rename-transitive/rmake.rs14
3 files changed, 14 insertions, 8 deletions
diff --git a/src/tools/tidy/src/allowed_run_make_makefiles.txt b/src/tools/tidy/src/allowed_run_make_makefiles.txt
index 1596257747f..6f57cb717ac 100644
--- a/src/tools/tidy/src/allowed_run_make_makefiles.txt
+++ b/src/tools/tidy/src/allowed_run_make_makefiles.txt
@@ -40,7 +40,6 @@ run-make/export-executable-symbols/Makefile
 run-make/extern-diff-internal-name/Makefile
 run-make/extern-flag-disambiguates/Makefile
 run-make/extern-flag-pathless/Makefile
-run-make/extern-flag-rename-transitive/Makefile
 run-make/extern-fn-explicit-align/Makefile
 run-make/extern-fn-generic/Makefile
 run-make/extern-fn-mangle/Makefile
diff --git a/tests/run-make/extern-flag-rename-transitive/Makefile b/tests/run-make/extern-flag-rename-transitive/Makefile
deleted file mode 100644
index d16a8e20868..00000000000
--- a/tests/run-make/extern-flag-rename-transitive/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-include ../tools.mk
-
-all:
-	$(RUSTC) foo.rs
-	$(RUSTC) bar.rs
-	$(RUSTC) baz.rs --extern a=$(TMPDIR)/libfoo.rlib
-
diff --git a/tests/run-make/extern-flag-rename-transitive/rmake.rs b/tests/run-make/extern-flag-rename-transitive/rmake.rs
new file mode 100644
index 00000000000..0090d487f03
--- /dev/null
+++ b/tests/run-make/extern-flag-rename-transitive/rmake.rs
@@ -0,0 +1,14 @@
+// In this test, baz.rs is looking for an extern crate "a" which
+// does not exist, and can only run through the --extern rustc flag
+// defining that the "a" crate is in fact just "foo". This test
+// checks that the --extern flag takes precedence over the extern
+// crate statement in the code.
+// See https://github.com/rust-lang/rust/pull/52723
+
+use run_make_support::{rust_lib_name, rustc};
+
+fn main() {
+    rustc().input("foo.rs").run();
+    rustc().input("bar.rs").run();
+    rustc().input("baz.rs").extern_("a", rust_lib_name("foo")).run();
+}