1
Fork 0

librustc: Stop parsing impl Type : Trait and fix several declarations that slipped through. r=tjc

This commit is contained in:
Patrick Walton 2013-02-14 21:17:26 -08:00
parent 566bcf2225
commit bb833ca0f0
82 changed files with 327 additions and 424 deletions

View file

@ -132,6 +132,7 @@ pub enum RealPredicate {
// enum for the LLVM TypeKind type - must stay in sync with the def of
// LLVMTypeKind in llvm/include/llvm-c/Core.h
#[deriving_eq]
pub enum TypeKind {
Void = 0,
Half = 1,
@ -151,46 +152,6 @@ pub enum TypeKind {
X86_MMX = 15
}
pub impl TypeKind : cmp::Eq {
pure fn eq(&self, other: &TypeKind) -> bool {
match ((*self), (*other)) {
(Void, Void) => true,
(Half, Half) => true,
(Float, Float) => true,
(Double, Double) => true,
(X86_FP80, X86_FP80) => true,
(FP128, FP128) => true,
(PPC_FP128, PPC_FP128) => true,
(Label, Label) => true,
(Integer, Integer) => true,
(Function, Function) => true,
(Struct, Struct) => true,
(Array, Array) => true,
(Pointer, Pointer) => true,
(Vector, Vector) => true,
(Metadata, Metadata) => true,
(X86_MMX, X86_MMX) => true,
(Void, _) => false,
(Half, _) => false,
(Float, _) => false,
(Double, _) => false,
(X86_FP80, _) => false,
(FP128, _) => false,
(PPC_FP128, _) => false,
(Label, _) => false,
(Integer, _) => false,
(Function, _) => false,
(Struct, _) => false,
(Array, _) => false,
(Pointer, _) => false,
(Vector, _) => false,
(Metadata, _) => false,
(X86_MMX, _) => false,
}
}
pure fn ne(&self, other: &TypeKind) -> bool { !(*self).eq(other) }
}
pub enum AtomicBinOp {
Xchg = 0,
Add = 1,