about summary refs log tree commit diff
path: root/library/compiler-builtins
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2017-06-23 12:02:28 -0700
committerAlex Crichton <alex@alexcrichton.com>2017-06-23 12:03:33 -0700
commitf091d059040c080c0ff215062aef35cbb48fd2d8 (patch)
tree8626ba6cfe4df779648e29773a745988cddfc037 /library/compiler-builtins
parent4dbe3aaf2de7a866bb5011cc78874155bf60d3d3 (diff)
downloadrust-f091d059040c080c0ff215062aef35cbb48fd2d8.tar.gz
rust-f091d059040c080c0ff215062aef35cbb48fd2d8.zip
Tweak usage of C shims on MSVC
Diffstat (limited to 'library/compiler-builtins')
-rw-r--r--library/compiler-builtins/src/float/conv.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/library/compiler-builtins/src/float/conv.rs b/library/compiler-builtins/src/float/conv.rs
index 053c6816e5b..ca95b110434 100644
--- a/library/compiler-builtins/src/float/conv.rs
+++ b/library/compiler-builtins/src/float/conv.rs
@@ -78,7 +78,10 @@ intrinsics! {
         int_to_float!(i, i32, f64)
     }
 
-    #[use_c_shim_if(any(target_arch = "x86", target_arch = "x86_64"))]
+    #[use_c_shim_if(any(
+        all(not(target_env = "msvc"), target_arch = "x86", target_arch = "x86_64"),
+        all(target_env = "msvc", target_arch = "x86_64"),
+    ))]
     pub extern "C" fn __floatdidf(i: i64) -> f64 {
         int_to_float!(i, i64, f64)
     }
@@ -101,7 +104,8 @@ intrinsics! {
         int_to_float!(i, u32, f64)
     }
 
-    #[use_c_shim_if(any(target_arch = "x86", target_arch = "x86_64"))]
+    #[use_c_shim_if(all(any(target_arch = "x86", target_arch = "x86_64"),
+                        not(target_env = "msvc")))]
     pub extern "C" fn __floatundidf(i: u64) -> f64 {
         int_to_float!(i, u64, f64)
     }