about summary refs log tree commit diff
path: root/tests/run-make/proc-macro-three-crates/rmake.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-make/proc-macro-three-crates/rmake.rs')
-rw-r--r--tests/run-make/proc-macro-three-crates/rmake.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/run-make/proc-macro-three-crates/rmake.rs b/tests/run-make/proc-macro-three-crates/rmake.rs
new file mode 100644
index 00000000000..62dc547fcfb
--- /dev/null
+++ b/tests/run-make/proc-macro-three-crates/rmake.rs
@@ -0,0 +1,22 @@
+// A compiler bug caused the following issue:
+// If a crate A depends on crate B, and crate B
+// depends on crate C, and crate C contains a procedural
+// macro, compiling crate A would fail.
+// This was fixed in #37846, and this test checks
+// that this bug does not make a resurgence.
+
+//FIXME(Oneirical): ignore-cross-compile
+
+use run_make_support::{bare_rustc, cwd, rust_lib_name, rustc};
+
+fn main() {
+    rustc().input("a.rs").run();
+    rustc().input("b.rs").run();
+    let curr_dir = cwd().display().to_string();
+    bare_rustc()
+        .input("c.rs")
+        .arg(format!("-Ldependency={curr_dir}"))
+        .extern_("b", cwd().join(rust_lib_name("b")))
+        .out_dir(cwd())
+        .run();
+}