diff options
| author | Corey Richardson <corey@octayn.net> | 2013-05-19 22:08:59 -0400 |
|---|---|---|
| committer | Corey Richardson <corey@octayn.net> | 2013-05-19 22:09:32 -0400 |
| commit | 808c5b8d4e479b5e0fd336f8290fda2f0c429257 (patch) | |
| tree | 7419c878d0dd8d1cc7d7b2dd55e7b4c3cdffc7ca | |
| parent | b97642758fb2c060ec689c540576d308fc081f1e (diff) | |
| download | rust-808c5b8d4e479b5e0fd336f8290fda2f0c429257.tar.gz rust-808c5b8d4e479b5e0fd336f8290fda2f0c429257.zip | |
Test fixes, use LLVMConstFCmp in ConstFCmp
| -rw-r--r-- | src/librustc/lib/llvm.rs | 12 | ||||
| -rw-r--r-- | src/test/run-pass/const-binops.rs | 12 |
2 files changed, 12 insertions, 12 deletions
diff --git a/src/librustc/lib/llvm.rs b/src/librustc/lib/llvm.rs index bf3d09d848d..9198991e536 100644 --- a/src/librustc/lib/llvm.rs +++ b/src/librustc/lib/llvm.rs @@ -9,7 +9,7 @@ // except according to those terms. use core::hashmap::HashMap; -use core::libc::c_uint; +use core::libc::{c_uint, c_ushort}; pub type Opcode = u32; pub type Bool = c_uint; @@ -221,7 +221,7 @@ pub mod llvm { use super::{SectionIteratorRef, TargetDataRef, TypeKind, TypeRef, UseRef}; use super::{ValueRef}; - use core::libc::{c_char, c_int, c_longlong, c_uint, c_ulonglong}; + use core::libc::{c_char, c_int, c_longlong, c_ushort, c_uint, c_ulonglong}; #[link_args = "-Lrustllvm -lrustllvm"] #[link_name = "rustllvm"] @@ -452,9 +452,9 @@ pub mod llvm { #[fast_ffi] pub unsafe fn LLVMConstAllOnes(Ty: TypeRef) -> ValueRef; #[fast_ffi] - pub unsafe fn LLVMConstICmp(Pred: c_uint, V1: ValueRef, V2: ValueRef) -> ValueRef; + pub unsafe fn LLVMConstICmp(Pred: c_ushort, V1: ValueRef, V2: ValueRef) -> ValueRef; #[fast_ffi] - pub unsafe fn LLVMConstFCmp(Pred: c_uint, V1: ValueRef, V2: ValueRef) -> ValueRef; + pub unsafe fn LLVMConstFCmp(Pred: c_ushort, V1: ValueRef, V2: ValueRef) -> ValueRef; /* only for int/vector */ #[fast_ffi] pub unsafe fn LLVMGetUndef(Ty: TypeRef) -> ValueRef; @@ -1920,12 +1920,12 @@ pub fn SetLinkage(Global: ValueRef, Link: Linkage) { pub fn ConstICmp(Pred: IntPredicate, V1: ValueRef, V2: ValueRef) -> ValueRef { unsafe { - llvm::LLVMConstICmp(Pred as c_uint, V1, V2) + llvm::LLVMConstICmp(Pred as c_ushort, V1, V2) } } pub fn ConstFCmp(Pred: RealPredicate, V1: ValueRef, V2: ValueRef) -> ValueRef { unsafe { - llvm::LLVMConstICmp(Pred as c_uint, V1, V2) + llvm::LLVMConstFCmp(Pred as c_ushort, V1, V2) } } /* Memory-managed object interface to type handles. */ diff --git a/src/test/run-pass/const-binops.rs b/src/test/run-pass/const-binops.rs index 507f68dc3a1..cd87ca3ab53 100644 --- a/src/test/run-pass/const-binops.rs +++ b/src/test/run-pass/const-binops.rs @@ -38,23 +38,23 @@ static z: bool = 1.0 == 1.0; static aa: bool = 1 <= 2; static ab: bool = -1 <= 2; -static ac: bool = 1.0 <= 2; +static ac: bool = 1.0 <= 2.0; static ad: bool = 1 < 2; static ae: bool = -1 < 2; -static af: bool = 1.0 < 2; +static af: bool = 1.0 < 2.0; static ag: bool = 1 != 2; static ah: bool = -1 != 2; -static ai: bool = 1.0 != 2; +static ai: bool = 1.0 != 2.0; static aj: bool = 2 >= 1; static ak: bool = 2 >= -2; -static al: bool = 1.0 >= -2; +static al: bool = 1.0 >= -2.0; static am: bool = 2 > 1; static an: bool = 2 > -2; -static ao: bool = 1.0 > -2; +static ao: bool = 1.0 > -2.0; fn main() { assert_eq!(a, -1); @@ -63,7 +63,7 @@ fn main() { assert_eq!(c, -1); assert_eq!(d, 0); - assert_approx_eq!(e, -0.3); + assert_approx_eq!(e, 0.3); assert_eq!(e2, -9); assert_eq!(f, 9); |
