summaryrefslogtreecommitdiffstats
path: root/clang/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-06-22 18:15:26 +0000
committerChris Lattner <sabre@nondot.org>2007-06-22 18:15:26 +0000
commit3e3a1e9cda72e795547e930968b8b5c006ff8cd5 (patch)
tree148d9a797bbe68e9daabc89f7009d5d0f939084c /clang/CodeGen
parentf39b03d98b226d54332dcfebe891ec8e282e7c62 (diff)
downloadbcm5719-llvm-3e3a1e9cda72e795547e930968b8b5c006ff8cd5.tar.gz
bcm5719-llvm-3e3a1e9cda72e795547e930968b8b5c006ff8cd5.zip
implement lowering of complex types
llvm-svn: 39668
Diffstat (limited to 'clang/CodeGen')
-rw-r--r--clang/CodeGen/CodeGenTypes.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/clang/CodeGen/CodeGenTypes.cpp b/clang/CodeGen/CodeGenTypes.cpp
index e5f051dba45..34c42fbcc6e 100644
--- a/clang/CodeGen/CodeGenTypes.cpp
+++ b/clang/CodeGen/CodeGenTypes.cpp
@@ -61,10 +61,23 @@ const llvm::Type *CodeGenTypes::ConvertType(QualType T, SourceLocation Loc) {
case BuiltinType::Float: return llvm::Type::FloatTy;
case BuiltinType::Double: return llvm::Type::DoubleTy;
case BuiltinType::LongDouble:
- case BuiltinType::FloatComplex:
- case BuiltinType::DoubleComplex:
+ // 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;
}
OpenPOWER on IntegriCloud