comparison gen/complex.cpp @ 205:9d44ec83acd1 trunk

[svn r221] Update: Switched to the 2.3 LLVM svn branch, http://llvm.org/svn/llvm-project/llvm/branches/release_23 . Fixed: Implemented volatile statements. Uses the LLVM memory barrier intrinsic, closes #21 .
author lindquist
date Tue, 13 May 2008 17:58:11 +0200
parents a64becf2a702
children 7816aafeea3c
comparison
equal deleted inserted replaced
204:11fe364b9a3e 205:9d44ec83acd1
133 const llvm::Type* base = DtoComplexBaseType(to); 133 const llvm::Type* base = DtoComplexBaseType(to);
134 134
135 llvm::Constant* undef = llvm::UndefValue::get(base); 135 llvm::Constant* undef = llvm::UndefValue::get(base);
136 llvm::Constant* zero; 136 llvm::Constant* zero;
137 if (ty == Tfloat32 || ty == Timaginary32 || ty == Tcomplex32) 137 if (ty == Tfloat32 || ty == Timaginary32 || ty == Tcomplex32)
138 zero = llvm::ConstantFP::get(llvm::Type::FloatTy, llvm::APFloat(0.0f)); 138 zero = llvm::ConstantFP::get(llvm::APFloat(0.0f));
139 else if (ty == Tfloat64 || ty == Timaginary64 || ty == Tcomplex64 || ty == Tfloat80 || ty == Timaginary80 || ty == Tcomplex80) 139 else if (ty == Tfloat64 || ty == Timaginary64 || ty == Tcomplex64 || ty == Tfloat80 || ty == Timaginary80 || ty == Tcomplex80)
140 zero = llvm::ConstantFP::get(llvm::Type::DoubleTy, llvm::APFloat(0.0)); 140 zero = llvm::ConstantFP::get(llvm::APFloat(0.0));
141 141
142 if (t->isimaginary()) { 142 if (t->isimaginary()) {
143 return new DComplexValue(to, zero, val->getRVal()); 143 return new DComplexValue(to, zero, val->getRVal());
144 } 144 }
145 else if (t->isfloating()) { 145 else if (t->isfloating()) {