diff options
author | Chris Lattner <sabre@nondot.org> | 2007-06-22 20:56:16 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-06-22 20:56:16 +0000 |
commit | c6395936ae1c35e755a3fd7e4a67c7b47142643c (patch) | |
tree | c7dcf531985379917eae5eeebb91c48f01c7cf9a /clang/CodeGen/CodeGenTypes.cpp | |
parent | f033c147c94d42439e789ef34f4c392b7d6e48c5 (diff) | |
download | bcm5719-llvm-c6395936ae1c35e755a3fd7e4a67c7b47142643c.tar.gz bcm5719-llvm-c6395936ae1c35e755a3fd7e4a67c7b47142643c.zip |
Split complex types out from being members of BuiltinType to being their own
types.
llvm-svn: 39672
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())); |