Mercurial > projects > ldc
diff gen/toir.c @ 62:b86e00b938a5 trunk
[svn r66] Added support for imaginary floating point types
author | lindquist |
---|---|
date | Thu, 25 Oct 2007 09:48:36 +0200 |
parents | 2c3cd3596187 |
children | b688ad419f8c |
line wrap: on
line diff
--- a/gen/toir.c Thu Oct 25 09:26:17 2007 +0200 +++ b/gen/toir.c Thu Oct 25 09:48:36 2007 +0200 @@ -328,10 +328,11 @@ { Logger::print("RealExp::toConstElem: %s | %s\n", toChars(), type->toChars()); LOG_SCOPE; - const llvm::Type* fty = LLVM_DtoType(type); - if (type->ty == Tfloat32) + Type* t = LLVM_DtoDType(type); + const llvm::Type* fty = LLVM_DtoType(t); + if (t->ty == Tfloat32 || t->ty == Timaginary32) return llvm::ConstantFP::get(fty,float(value)); - else if (type->ty == Tfloat64 || type->ty == Tfloat80) + else if (t->ty == Tfloat64 || t->ty == Timaginary64 || t->ty == Tfloat80 || t->ty == Timaginary80) return llvm::ConstantFP::get(fty,double(value)); assert(0); return NULL;