rust/tests/run-make/issue-83045/Makefile
Joshua Nelson 26e1ce7394 move tools.mk to run-make
apparently I missed some tests in the last commit. Rather than having
dozens of tests use the long version, use the short version in
`run-make` and the long version in `run-make-fulldeps` (which is now
only three tests)
2023-03-30 07:58:50 -05:00

34 lines
1.2 KiB
Makefile

include ../tools.mk
# This test case creates a situation where the crate loader would run
# into an ICE when confronted with an invalid setup where it cannot
# find the dependency of a direct dependency.
#
# The test case makes sure that the compiler produces the expected
# error message but does not ICE immediately after.
#
# See https://github.com/rust-lang/rust/issues/83045
# This is a platform-independent issue, no need to waste time testing
# everywhere.
# only-x86_64
# only-linux
# NOTE: We use BARE_RUSTC below so that the compiler can't find liba.rlib
# If we used RUSTC the additional '-L TMPDIR' option would allow rustc to
# actually find the crate.
#
# We check that we get the expected error message
# But that we do not get an ICE
all:
$(RUSTC) --crate-name=a --crate-type=rlib a.rs --verbose
$(RUSTC) --crate-name=b --crate-type=rlib --extern a=$(TMPDIR)/liba.rlib b.rs --verbose
$(BARE_RUSTC) --out-dir $(TMPDIR) \
--extern b=$(TMPDIR)/libb.rlib \
--crate-type=rlib \
--edition=2018 \
c.rs 2>&1 | tee $(TMPDIR)/output.txt || exit 0
$(CGREP) E0519 < $(TMPDIR)/output.txt
$(CGREP) -v "internal compiler error" < $(TMPDIR)/output.txt