diff options
| author | bors <bors@rust-lang.org> | 2021-10-30 16:22:49 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-10-30 16:22:49 +0000 |
| commit | 2609fab8e46414333aa68412134df65c7fcd1a77 (patch) | |
| tree | 3b412fd426c9847f057d4ca978bbe81e60e10d91 | |
| parent | 9f13083542cb2b9fce83ed8a50238e4a6386820f (diff) | |
| parent | 533247c1c843ebafed07de995ee33fef388a3676 (diff) | |
| download | rust-2609fab8e46414333aa68412134df65c7fcd1a77.tar.gz rust-2609fab8e46414333aa68412134df65c7fcd1a77.zip | |
Auto merge of #90205 - mati865:link-modifiers-in-rustc, r=petrochenkov
Repace use of `static_nobundle` with `native_link_modifiers` within Rust codebase This fixes warnings when building Rust and running tests: ``` warning: library kind `static-nobundle` has been superseded by specifying `-bundle` on library kind `static`. Try `static:-bundle` warning: `rustc_llvm` (lib) generated 2 warnings (1 duplicate) ```
| -rw-r--r-- | compiler/rustc_llvm/build.rs | 4 | ||||
| -rw-r--r-- | compiler/rustc_llvm/src/lib.rs | 2 | ||||
| -rw-r--r-- | library/unwind/src/lib.rs | 1 | ||||
| -rw-r--r-- | src/test/run-make-fulldeps/foreign-exceptions/foo.rs | 2 | ||||
| -rw-r--r-- | src/test/run-make-fulldeps/tools.mk | 4 | ||||
| -rw-r--r-- | src/test/run-make/issue-36710/foo.rs | 3 |
6 files changed, 5 insertions, 11 deletions
diff --git a/compiler/rustc_llvm/build.rs b/compiler/rustc_llvm/build.rs index 36a6d2cc33a..943ce589c4f 100644 --- a/compiler/rustc_llvm/build.rs +++ b/compiler/rustc_llvm/build.rs @@ -288,7 +288,7 @@ fn main() { let path = PathBuf::from(s); println!("cargo:rustc-link-search=native={}", path.parent().unwrap().display()); if target.contains("windows") { - println!("cargo:rustc-link-lib=static-nobundle={}", stdcppname); + println!("cargo:rustc-link-lib=static:-bundle={}", stdcppname); } else { println!("cargo:rustc-link-lib=static={}", stdcppname); } @@ -302,6 +302,6 @@ fn main() { // Libstdc++ depends on pthread which Rust doesn't link on MinGW // since nothing else requires it. if target.contains("windows-gnu") { - println!("cargo:rustc-link-lib=static-nobundle=pthread"); + println!("cargo:rustc-link-lib=static:-bundle=pthread"); } } diff --git a/compiler/rustc_llvm/src/lib.rs b/compiler/rustc_llvm/src/lib.rs index 6493bd91ca2..8476c2bfcc4 100644 --- a/compiler/rustc_llvm/src/lib.rs +++ b/compiler/rustc_llvm/src/lib.rs @@ -1,5 +1,5 @@ #![feature(nll)] -#![feature(static_nobundle)] +#![feature(native_link_modifiers)] #![doc(html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/")] // NOTE: This crate only exists to allow linking on mingw targets. diff --git a/library/unwind/src/lib.rs b/library/unwind/src/lib.rs index e263780bf38..079626f0fea 100644 --- a/library/unwind/src/lib.rs +++ b/library/unwind/src/lib.rs @@ -5,7 +5,6 @@ #![feature(native_link_modifiers_bundle)] #![feature(nll)] #![feature(staged_api)] -#![feature(static_nobundle)] #![feature(c_unwind)] #![cfg_attr(not(target_env = "msvc"), feature(libc))] diff --git a/src/test/run-make-fulldeps/foreign-exceptions/foo.rs b/src/test/run-make-fulldeps/foreign-exceptions/foo.rs index c279cf7e8bf..dd3b7c76f28 100644 --- a/src/test/run-make-fulldeps/foreign-exceptions/foo.rs +++ b/src/test/run-make-fulldeps/foreign-exceptions/foo.rs @@ -2,8 +2,6 @@ // are caught by catch_unwind. Also tests that Rust panics can unwind through // C++ code. -// For linking libstdc++ on MinGW -#![cfg_attr(all(windows, target_env = "gnu"), feature(static_nobundle))] #![feature(c_unwind)] use std::panic::{catch_unwind, AssertUnwindSafe}; diff --git a/src/test/run-make-fulldeps/tools.mk b/src/test/run-make-fulldeps/tools.mk index 3934c4725f4..9655d09df0f 100644 --- a/src/test/run-make-fulldeps/tools.mk +++ b/src/test/run-make-fulldeps/tools.mk @@ -117,10 +117,10 @@ else # that it is compiled with the expectation that pthreads is dynamically # linked as a DLL and will fail to link with a statically linked libpthread. # - # So we end up with the following hack: we link use static-nobundle to only + # So we end up with the following hack: we link use static:-bundle to only # link the parts of libstdc++ that we actually use, which doesn't include # the dependency on the pthreads DLL. - EXTRARSCXXFLAGS := -l static-nobundle=stdc++ + EXTRARSCXXFLAGS := -l static:-bundle=stdc++ -Z unstable-options endif else ifeq ($(UNAME),Darwin) diff --git a/src/test/run-make/issue-36710/foo.rs b/src/test/run-make/issue-36710/foo.rs index 845844f427b..f30a35e27c0 100644 --- a/src/test/run-make/issue-36710/foo.rs +++ b/src/test/run-make/issue-36710/foo.rs @@ -1,8 +1,5 @@ // Tests that linking to C++ code with global destructors works. -// For linking libstdc++ on MinGW -#![cfg_attr(all(windows, target_env = "gnu"), feature(static_nobundle))] - extern "C" { fn get() -> u32; } |
