diff options
| author | est31 <MTest31@outlook.com> | 2016-12-04 07:58:49 +0100 |
|---|---|---|
| committer | est31 <MTest31@outlook.com> | 2016-12-30 15:17:28 +0100 |
| commit | 317810d4c4371b8fcaf884d4918b15a55701fc1d (patch) | |
| tree | a11669a5a48d5d8d296dd22c2252c556fe04d86d /src/libcompiler_builtins | |
| parent | c79aba71d5a0573a6f9cd270dac60d92c611236c (diff) | |
Always use Rust based intrinsics on Windows
The check inside compiler-rt file int_types.h to #define CRT_HAS_128BIT
looks like:
#if (defined(__LP64__) || defined(__wasm__)) && \
!(defined(__mips__) && defined(__clang__))
#define CRT_HAS_128BIT
#endif
Windows uses LLP64 instead of LP64, so it doesn't ship with the C based
intrinsics.
Also, add libcompiler_builtins to the list of crates that may have platform
specific checks (like the ones we just added).
Diffstat (limited to 'src/libcompiler_builtins')
| -rw-r--r-- | src/libcompiler_builtins/lib.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libcompiler_builtins/lib.rs b/src/libcompiler_builtins/lib.rs index f139a00e2a4..790de76cad6 100644 --- a/src/libcompiler_builtins/lib.rs +++ b/src/libcompiler_builtins/lib.rs @@ -17,14 +17,16 @@ #![crate_name = "compiler_builtins"] #![crate_type = "rlib"] #![feature(staged_api)] -#![cfg_attr(any(target_pointer_width="32", target_pointer_width="16"), +#![cfg_attr(any(target_pointer_width="32", target_pointer_width="16", target_os="windows", + target_arch="mips64"), feature(core_intrinsics, core_float))] #![feature(associated_consts)] #![cfg_attr(not(stage0), feature(i128_type))] #![allow(non_camel_case_types, unused_variables)] -#[cfg(any(target_pointer_width="32", target_pointer_width="16"))] +#[cfg(any(target_pointer_width="32", target_pointer_width="16", target_os="windows", + target_arch="mips64"))] pub mod reimpls { #![allow(unused_comparisons)] |
