aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen')
-rw-r--r--lib/CodeGen/CodeGenTypes.cpp11
-rw-r--r--lib/CodeGen/CodeGenTypes.h2
2 files changed, 6 insertions, 7 deletions
diff --git a/lib/CodeGen/CodeGenTypes.cpp b/lib/CodeGen/CodeGenTypes.cpp
index 06fee78e2e..d5daad5192 100644
--- a/lib/CodeGen/CodeGenTypes.cpp
+++ b/lib/CodeGen/CodeGenTypes.cpp
@@ -333,16 +333,17 @@ const llvm::Type *CodeGenTypes::ConvertNewType(QualType T) {
return
ConvertTypeRecursive(QualType(cast<ExtQualType>(Ty).getBaseType(), 0));
+ case Type::ObjCQualifiedInterface: {
+ // Lower foo<P1,P2> just like foo.
+ ObjCInterfaceDecl *ID = cast<ObjCQualifiedInterfaceType>(Ty).getDecl();
+ return ConvertTypeRecursive(Context.getObjCInterfaceType(ID));
+ }
+
case Type::ObjCInterface: {
ObjCInterfaceDecl *ID = cast<ObjCInterfaceType>(Ty).getDecl();
return ConvertTagDeclType(Context.addRecordToClass(ID));
}
- case Type::ObjCQualifiedInterface: {
- ObjCInterfaceDecl *ID = cast<ObjCQualifiedInterfaceType>(Ty).getDecl();
- return ConvertTypeRecursive(Context.getObjCInterfaceType(ID));
- }
-
case Type::ObjCQualifiedId:
case Type::ObjCQualifiedClass:
// Protocols don't influence the LLVM type.
diff --git a/lib/CodeGen/CodeGenTypes.h b/lib/CodeGen/CodeGenTypes.h
index bdf0ac6d02..b408ff66a6 100644
--- a/lib/CodeGen/CodeGenTypes.h
+++ b/lib/CodeGen/CodeGenTypes.h
@@ -153,8 +153,6 @@ public:
bool IsVariadic);
const CGRecordLayout *getCGRecordLayout(const TagDecl*) const;
- /// Returns a StructType representing an Objective-C object
- const llvm::Type *ConvertObjCInterfaceToStruct(const ObjCInterfaceDecl *OID);
/// getLLVMFieldNo - Return llvm::StructType element number
/// that corresponds to the field FD.