aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CodeGenTypes.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2008-08-12 05:08:18 +0000
committerDaniel Dunbar <daniel@zuster.org>2008-08-12 05:08:18 +0000
commit98c5ead87d720d8b68b6f236c3c3579a388fc882 (patch)
tree7e1eb2346062de43de2189ee1f87a883b39c004b /lib/CodeGen/CodeGenTypes.cpp
parenta008db15ee50455ff98db1e4251cdda5c89a90ee (diff)
Protocol related tweaks
- Implement type conversion of ObjCQualifiedIdType - Wire @protocol(...) to GenerateProtocolRef in ScalarExprEmitter git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54666 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CodeGenTypes.cpp')
-rw-r--r--lib/CodeGen/CodeGenTypes.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/CodeGen/CodeGenTypes.cpp b/lib/CodeGen/CodeGenTypes.cpp
index ab0829e81f..2d5bd12f92 100644
--- a/lib/CodeGen/CodeGenTypes.cpp
+++ b/lib/CodeGen/CodeGenTypes.cpp
@@ -306,6 +306,10 @@ const llvm::Type *CodeGenTypes::ConvertNewType(QualType T) {
ConvertTypeRecursive(QualType(cast<ASQualType>(Ty).getBaseType(), 0));
case Type::ObjCInterface: {
+ // FIXME: This comment is broken. Either the code should check for
+ // the flag it is referring to or it should do the right thing in
+ // the presence of it.
+
// Warning: Use of this is strongly discouraged. Late binding of instance
// variables is supported on some runtimes and so using static binding can
// break code when libraries are updated. Only use this if you have
@@ -322,8 +326,8 @@ const llvm::Type *CodeGenTypes::ConvertNewType(QualType T) {
break;
case Type::ObjCQualifiedId:
- assert(0 && "FIXME: add missing functionality here");
- break;
+ // Protocols don't influence the LLVM type.
+ return ConvertTypeRecursive(Context.getObjCIdType());
case Type::Tagged: {
const TagDecl *TD = cast<TagType>(Ty).getDecl();