diff --git a/src/libpanic_unwind/lib.rs b/src/libpanic_unwind/lib.rs index 5a340f1323d..558286f4ec0 100644 --- a/src/libpanic_unwind/lib.rs +++ b/src/libpanic_unwind/lib.rs @@ -34,7 +34,9 @@ #![feature(core_intrinsics)] #![feature(lang_items)] #![feature(libc)] -#![feature(panic_unwind)] +#![cfg_attr(not(any(target_env = "msvc", + all(windows, target_arch = "x86_64", target_env = "gnu"))), + feature(panic_unwind))] #![feature(raw)] #![feature(staged_api)] #![feature(unwind_attributes)] @@ -45,6 +47,7 @@ extern crate alloc; extern crate libc; +#[cfg(not(any(target_env = "msvc", all(windows, target_arch = "x86_64", target_env = "gnu"))))] extern crate unwind; use core::intrinsics; diff --git a/src/librustc/lib.rs b/src/librustc/lib.rs index 900f4031d2f..152b2e2aa5e 100644 --- a/src/librustc/lib.rs +++ b/src/librustc/lib.rs @@ -26,6 +26,7 @@ #![feature(core_intrinsics)] #![feature(discriminant_value)] #![feature(i128_type)] +#![cfg_attr(windows, feature(libc))] #![feature(never_type)] #![feature(nonzero)] #![feature(quote)] @@ -44,6 +45,8 @@ extern crate core; extern crate fmt_macros; extern crate getopts; extern crate graphviz; +#[cfg(windows)] +extern crate libc; extern crate owning_ref; extern crate rustc_back; extern crate rustc_data_structures;