Rollup merge of #128099 - lolbinarycat:extern-flag-disambiguates-rmake, r=Kobzol

migrate tests/run-make/extern-flag-disambiguates to rmake
This commit is contained in:
Trevor Gross 2024-07-26 02:20:31 -04:00 committed by GitHub
commit 0f1ea63393
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 35 additions and 27 deletions

View file

@ -11,7 +11,6 @@ run-make/dep-info-spaces/Makefile
run-make/dep-info/Makefile
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/fmt-write-bloat/Makefile
run-make/foreign-double-unwind/Makefile

View file

@ -41,3 +41,8 @@ The setup for the `rmake.rs` version is a 3-stage process:
[`run_make_support`]: ../../src/tools/run-make-support
[extern_prelude]: https://doc.rust-lang.org/reference/names/preludes.html#extern-prelude
### Formatting
Note that files under `tests/` are not formatted by `./x fmt`,
use `rustfmt tests/path/to/file.rs` to format a specific file if desired.

View file

@ -1,26 +0,0 @@
# ignore-cross-compile
include ../tools.mk
# Attempt to build this dependency tree:
#
# A.1 A.2
# |\ |
# | \ |
# B \ C
# \ | /
# \|/
# D
#
# Note that A.1 and A.2 are crates with the same name.
all:
$(RUSTC) -C metadata=1 -C extra-filename=-1 a.rs
$(RUSTC) -C metadata=2 -C extra-filename=-2 a.rs
$(RUSTC) b.rs --extern a=$(TMPDIR)/liba-1.rlib
$(RUSTC) c.rs --extern a=$(TMPDIR)/liba-2.rlib
@echo before
$(RUSTC) --cfg before d.rs --extern a=$(TMPDIR)/liba-1.rlib
$(call RUN,d)
@echo after
$(RUSTC) --cfg after d.rs --extern a=$(TMPDIR)/liba-1.rlib
$(call RUN,d)

View file

@ -0,0 +1,30 @@
//@ ignore-cross-compile
use run_make_support::{cwd, run, rustc};
// Attempt to build this dependency tree:
//
// A.1 A.2
// |\ |
// | \ |
// B \ C
// \ | /
// \|/
// D
//
// Note that A.1 and A.2 are crates with the same name.
// original Makefile at https://github.com/rust-lang/rust/issues/14469
fn main() {
rustc().metadata("1").extra_filename("-1").input("a.rs").run();
rustc().metadata("2").extra_filename("-2").input("a.rs").run();
rustc().input("b.rs").extern_("a", "liba-1.rlib").run();
rustc().input("c.rs").extern_("a", "liba-2.rlib").run();
println!("before");
rustc().cfg("before").input("d.rs").extern_("a", "liba-1.rlib").run();
run("d");
println!("after");
rustc().cfg("after").input("d.rs").extern_("a", "liba-1.rlib").run();
run("d");
}