Fix some `use_c_shim_if` directives
This was an accidental regression introduced in #252 by removing compilation of C files without adjusting the `#[use_c_shim_if]` directives. This restores the compilation of the assembly files and updates the `#[use_c_shim_if]` directives.
This commit is contained in:
parent
5a88717b46
commit
0703bfa725
2
build.rs
2
build.rs
|
@ -267,8 +267,10 @@ mod c {
|
||||||
if target_arch == "x86_64" {
|
if target_arch == "x86_64" {
|
||||||
sources.extend(
|
sources.extend(
|
||||||
&[
|
&[
|
||||||
|
"x86_64/floatdisf.c",
|
||||||
"x86_64/floatdixf.c",
|
"x86_64/floatdixf.c",
|
||||||
"x86_64/floatundidf.S",
|
"x86_64/floatundidf.S",
|
||||||
|
"x86_64/floatundisf.S",
|
||||||
"x86_64/floatundixf.S",
|
"x86_64/floatundixf.S",
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
|
@ -80,7 +80,10 @@ intrinsics! {
|
||||||
int_to_float!(i, i32, f64)
|
int_to_float!(i, i32, f64)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[use_c_shim_if(all(target_arch = "x86", not(target_env = "msvc")))]
|
#[use_c_shim_if(any(
|
||||||
|
all(target_arch = "x86", not(target_env = "msvc")),
|
||||||
|
all(target_arch = "x86_64", not(windows)),
|
||||||
|
))]
|
||||||
#[arm_aeabi_alias = __aeabi_l2f]
|
#[arm_aeabi_alias = __aeabi_l2f]
|
||||||
pub extern "C" fn __floatdisf(i: i64) -> f32 {
|
pub extern "C" fn __floatdisf(i: i64) -> f32 {
|
||||||
// On x86_64 LLVM will use native instructions for this conversion, we
|
// On x86_64 LLVM will use native instructions for this conversion, we
|
||||||
|
@ -124,17 +127,19 @@ intrinsics! {
|
||||||
int_to_float!(i, u32, f64)
|
int_to_float!(i, u32, f64)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[use_c_shim_if(all(not(target_env = "msvc"),
|
#[use_c_shim_if(any(
|
||||||
any(target_arch = "x86",
|
all(target_arch = "x86", not(target_env = "msvc")),
|
||||||
all(not(windows), target_arch = "x86_64"))))]
|
all(target_arch = "x86_64", not(windows)),
|
||||||
|
))]
|
||||||
#[arm_aeabi_alias = __aeabi_ul2f]
|
#[arm_aeabi_alias = __aeabi_ul2f]
|
||||||
pub extern "C" fn __floatundisf(i: u64) -> f32 {
|
pub extern "C" fn __floatundisf(i: u64) -> f32 {
|
||||||
int_to_float!(i, u64, f32)
|
int_to_float!(i, u64, f32)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[use_c_shim_if(all(not(target_env = "msvc"),
|
#[use_c_shim_if(any(
|
||||||
any(target_arch = "x86",
|
all(target_arch = "x86", not(target_env = "msvc")),
|
||||||
all(not(windows), target_arch = "x86_64"))))]
|
all(target_arch = "x86_64", not(windows)),
|
||||||
|
))]
|
||||||
#[arm_aeabi_alias = __aeabi_ul2d]
|
#[arm_aeabi_alias = __aeabi_ul2d]
|
||||||
pub extern "C" fn __floatundidf(i: u64) -> f64 {
|
pub extern "C" fn __floatundidf(i: u64) -> f64 {
|
||||||
int_to_float!(i, u64, f64)
|
int_to_float!(i, u64, f64)
|
||||||
|
|
Loading…
Reference in New Issue