summaryrefslogtreecommitdiffstats
path: root/tests/run-make/issue-40535
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:20:39 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:20:39 +0000
commit1376c5a617be5c25655d0d7cb63e3beaa5a6e026 (patch)
tree3bb8d61aee02bc7a15eab3f36e3b921afc2075d0 /tests/run-make/issue-40535
parentReleasing progress-linux version 1.69.0+dfsg1-1~progress7.99u1. (diff)
downloadrustc-1376c5a617be5c25655d0d7cb63e3beaa5a6e026.tar.xz
rustc-1376c5a617be5c25655d0d7cb63e3beaa5a6e026.zip
Merging upstream version 1.70.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/run-make/issue-40535')
-rw-r--r--tests/run-make/issue-40535/Makefile13
-rw-r--r--tests/run-make/issue-40535/bar.rs3
-rw-r--r--tests/run-make/issue-40535/baz.rs1
-rw-r--r--tests/run-make/issue-40535/foo.rs4
4 files changed, 21 insertions, 0 deletions
diff --git a/tests/run-make/issue-40535/Makefile b/tests/run-make/issue-40535/Makefile
new file mode 100644
index 000000000..155c88252
--- /dev/null
+++ b/tests/run-make/issue-40535/Makefile
@@ -0,0 +1,13 @@
+include ../tools.mk
+
+# The ICE occurred in the following situation:
+# * `foo` declares `extern crate bar, baz`, depends only on `bar` (forgetting `baz` in `Cargo.toml`)
+# * `bar` declares and depends on `extern crate baz`
+# * All crates built in metadata-only mode (`cargo check`)
+all:
+ # cc https://github.com/rust-lang/rust/issues/40623
+ $(RUSTC) baz.rs --emit=metadata
+ $(RUSTC) bar.rs --emit=metadata --extern baz=$(TMPDIR)/libbaz.rmeta
+ $(RUSTC) foo.rs --emit=metadata --extern bar=$(TMPDIR)/libbar.rmeta 2>&1 | \
+ $(CGREP) -v "unexpectedly panicked"
+ # ^ Succeeds if it doesn't find the ICE message
diff --git a/tests/run-make/issue-40535/bar.rs b/tests/run-make/issue-40535/bar.rs
new file mode 100644
index 000000000..b02b28f59
--- /dev/null
+++ b/tests/run-make/issue-40535/bar.rs
@@ -0,0 +1,3 @@
+#![crate_type = "lib"]
+
+extern crate baz;
diff --git a/tests/run-make/issue-40535/baz.rs b/tests/run-make/issue-40535/baz.rs
new file mode 100644
index 000000000..83be6e807
--- /dev/null
+++ b/tests/run-make/issue-40535/baz.rs
@@ -0,0 +1 @@
+#![crate_type = "lib"]
diff --git a/tests/run-make/issue-40535/foo.rs b/tests/run-make/issue-40535/foo.rs
new file mode 100644
index 000000000..270202664
--- /dev/null
+++ b/tests/run-make/issue-40535/foo.rs
@@ -0,0 +1,4 @@
+#![crate_type = "lib"]
+
+extern crate bar;
+extern crate baz;