From 8e42fa55dbaec9a6560b59fb023e50713ef94e93 Mon Sep 17 00:00:00 2001 From: 12101111 Date: Sat, 22 May 2021 19:51:26 +0800 Subject: [PATCH] Add test for deduplicate native lib in linking --- src/test/run-make-fulldeps/link-dedup/Makefile | 12 ++++++++++++ src/test/run-make-fulldeps/link-dedup/depa.rs | 7 +++++++ src/test/run-make-fulldeps/link-dedup/depb.rs | 8 ++++++++ src/test/run-make-fulldeps/link-dedup/depc.rs | 4 ++++ src/test/run-make-fulldeps/link-dedup/empty.rs | 5 +++++ 5 files changed, 36 insertions(+) create mode 100644 src/test/run-make-fulldeps/link-dedup/Makefile create mode 100644 src/test/run-make-fulldeps/link-dedup/depa.rs create mode 100644 src/test/run-make-fulldeps/link-dedup/depb.rs create mode 100644 src/test/run-make-fulldeps/link-dedup/depc.rs create mode 100644 src/test/run-make-fulldeps/link-dedup/empty.rs diff --git a/src/test/run-make-fulldeps/link-dedup/Makefile b/src/test/run-make-fulldeps/link-dedup/Makefile new file mode 100644 index 00000000000..4e7ce0f02d4 --- /dev/null +++ b/src/test/run-make-fulldeps/link-dedup/Makefile @@ -0,0 +1,12 @@ +# ignore-msvc + +-include ../tools.mk + +all: + $(RUSTC) depa.rs + $(RUSTC) depb.rs + $(RUSTC) depc.rs + $(RUSTC) empty.rs --cfg bar 2>&1 | $(CGREP) '"-ltesta" "-ltestb" "-ltesta"' + $(RUSTC) empty.rs 2>&1 | $(CGREP) '"-ltesta"' + $(RUSTC) empty.rs 2>&1 | $(CGREP) -v '"-ltestb"' + $(RUSTC) empty.rs 2>&1 | $(CGREP) -v '"-ltesta" "-ltesta"' diff --git a/src/test/run-make-fulldeps/link-dedup/depa.rs b/src/test/run-make-fulldeps/link-dedup/depa.rs new file mode 100644 index 00000000000..e48ffd6413c --- /dev/null +++ b/src/test/run-make-fulldeps/link-dedup/depa.rs @@ -0,0 +1,7 @@ +#![crate_type = "rlib"] + +#[link(name = "testa")] +extern "C" {} + +#[link(name = "testa")] +extern "C" {} diff --git a/src/test/run-make-fulldeps/link-dedup/depb.rs b/src/test/run-make-fulldeps/link-dedup/depb.rs new file mode 100644 index 00000000000..b1be21fe005 --- /dev/null +++ b/src/test/run-make-fulldeps/link-dedup/depb.rs @@ -0,0 +1,8 @@ +#![feature(link_cfg)] +#![crate_type = "rlib"] + +#[link(name = "testb", cfg(foo))] +extern "C" {} + +#[link(name = "testb", cfg(bar))] +extern "C" {} diff --git a/src/test/run-make-fulldeps/link-dedup/depc.rs b/src/test/run-make-fulldeps/link-dedup/depc.rs new file mode 100644 index 00000000000..8dcb3dee5a2 --- /dev/null +++ b/src/test/run-make-fulldeps/link-dedup/depc.rs @@ -0,0 +1,4 @@ +#![crate_type = "rlib"] + +#[link(name = "testa")] +extern "C" {} diff --git a/src/test/run-make-fulldeps/link-dedup/empty.rs b/src/test/run-make-fulldeps/link-dedup/empty.rs new file mode 100644 index 00000000000..e00ae18f4af --- /dev/null +++ b/src/test/run-make-fulldeps/link-dedup/empty.rs @@ -0,0 +1,5 @@ +extern crate depa; +extern crate depb; +extern crate depc; + +fn main() {}