From a6e802ab4c84fb50b484fb12bbf397b889c70f77 Mon Sep 17 00:00:00 2001 From: Michael Woerister Date: Fri, 5 Apr 2019 11:32:45 +0200 Subject: [PATCH] Add regression test for #59137. --- src/test/run-make-fulldeps/lto-dylib-dep/Makefile | 10 ++++++++++ src/test/run-make-fulldeps/lto-dylib-dep/a_dylib.rs | 4 ++++ src/test/run-make-fulldeps/lto-dylib-dep/main.rs | 6 ++++++ 3 files changed, 20 insertions(+) create mode 100644 src/test/run-make-fulldeps/lto-dylib-dep/Makefile create mode 100644 src/test/run-make-fulldeps/lto-dylib-dep/a_dylib.rs create mode 100644 src/test/run-make-fulldeps/lto-dylib-dep/main.rs diff --git a/src/test/run-make-fulldeps/lto-dylib-dep/Makefile b/src/test/run-make-fulldeps/lto-dylib-dep/Makefile new file mode 100644 index 000000000000..ab8ee6c2ef7e --- /dev/null +++ b/src/test/run-make-fulldeps/lto-dylib-dep/Makefile @@ -0,0 +1,10 @@ +-include ../tools.mk + +# Test that we don't run into an assertion when using a Rust dylib dependency +# while compiling with full LTO. +# See https://github.com/rust-lang/rust/issues/59137 + +all: + $(RUSTC) a_dylib.rs --crate-type=dylib -C prefer-dynamic + $(RUSTC) main.rs -C lto + $(call RUN,main) diff --git a/src/test/run-make-fulldeps/lto-dylib-dep/a_dylib.rs b/src/test/run-make-fulldeps/lto-dylib-dep/a_dylib.rs new file mode 100644 index 000000000000..c5a35296f89e --- /dev/null +++ b/src/test/run-make-fulldeps/lto-dylib-dep/a_dylib.rs @@ -0,0 +1,4 @@ + +pub fn foo() { + println!("bar"); +} diff --git a/src/test/run-make-fulldeps/lto-dylib-dep/main.rs b/src/test/run-make-fulldeps/lto-dylib-dep/main.rs new file mode 100644 index 000000000000..af0955e7f352 --- /dev/null +++ b/src/test/run-make-fulldeps/lto-dylib-dep/main.rs @@ -0,0 +1,6 @@ + +extern crate a_dylib; + +fn main() { + a_dylib::foo(); +}