[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 .
This commit is contained in:
Tomas Lindquist Olsen
2008-05-13 17:58:11 +02:00
parent 0d96635e19
commit 3365b4c02f
18 changed files with 318 additions and 239 deletions

View File

@@ -135,9 +135,9 @@ DValue* DtoComplex(Type* to, DValue* val)
llvm::Constant* undef = llvm::UndefValue::get(base);
llvm::Constant* zero;
if (ty == Tfloat32 || ty == Timaginary32 || ty == Tcomplex32)
zero = llvm::ConstantFP::get(llvm::Type::FloatTy, llvm::APFloat(0.0f));
zero = llvm::ConstantFP::get(llvm::APFloat(0.0f));
else if (ty == Tfloat64 || ty == Timaginary64 || ty == Tcomplex64 || ty == Tfloat80 || ty == Timaginary80 || ty == Tcomplex80)
zero = llvm::ConstantFP::get(llvm::Type::DoubleTy, llvm::APFloat(0.0));
zero = llvm::ConstantFP::get(llvm::APFloat(0.0));
if (t->isimaginary()) {
return new DComplexValue(to, zero, val->getRVal());