diff options
Diffstat (limited to 'clang/CodeGen/CodeGenTypes.cpp')
-rw-r--r-- | clang/CodeGen/CodeGenTypes.cpp | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/clang/CodeGen/CodeGenTypes.cpp b/clang/CodeGen/CodeGenTypes.cpp index 63f3600b94c..4210402bc5d 100644 --- a/clang/CodeGen/CodeGenTypes.cpp +++ b/clang/CodeGen/CodeGenTypes.cpp @@ -63,24 +63,15 @@ const llvm::Type *CodeGenTypes::ConvertType(QualType T) { case BuiltinType::LongDouble: // FIXME: mapping long double onto double. return llvm::Type::DoubleTy; - case BuiltinType::FloatComplex: { - std::vector<const llvm::Type*> Elts; - Elts.push_back(llvm::Type::FloatTy); - Elts.push_back(llvm::Type::FloatTy); - return llvm::StructType::get(Elts); - } - - case BuiltinType::LongDoubleComplex: - // FIXME: mapping long double complex onto double complex. - case BuiltinType::DoubleComplex: { - std::vector<const llvm::Type*> Elts; - Elts.push_back(llvm::Type::DoubleTy); - Elts.push_back(llvm::Type::DoubleTy); - return llvm::StructType::get(Elts); - } } break; } + case Type::Complex: { + std::vector<const llvm::Type*> Elts; + Elts.push_back(ConvertType(cast<ComplexType>(Ty).getElementType())); + Elts.push_back(Elts[0]); + return llvm::StructType::get(Elts); + } case Type::Pointer: { const PointerType &P = cast<PointerType>(Ty); return llvm::PointerType::get(ConvertType(P.getPointeeType())); |