aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2009-01-29 23:23:06 +0000
committerFariborz Jahanian <fjahanian@apple.com>2009-01-29 23:23:06 +0000
commiteb732131505dd9710b35e32077143962dab52cab (patch)
tree10dee371b044b647482abeed4634ecd3a48178fa
parent6818928f39603e8c97f04ec0c3f467084e22ac85 (diff)
Random bug fix related to protocl metadata in categories in
non-fragile abi. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63343 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/CGObjCMac.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp
index 09987a291e..3f3ea9e220 100644
--- a/lib/CodeGen/CGObjCMac.cpp
+++ b/lib/CodeGen/CGObjCMac.cpp
@@ -3519,13 +3519,14 @@ void CGObjCNonFragileABIMac::GenerateCategory(const ObjCCategoryImplDecl *OCD)
Values[3] = EmitMethodList(MethodListName,
"__DATA, __objc_const",
Methods);
- Values[4] = EmitProtocolList("\01l_OBJC_CATEGORY_PROTOCOLS_$_"
- + Interface->getNameAsString(),
- Interface->protocol_begin(),
- Interface->protocol_end());
-
const ObjCCategoryDecl *Category =
Interface->FindCategoryDeclaration(OCD->getIdentifier());
+ Values[4] = EmitProtocolList("\01l_OBJC_CATEGORY_PROTOCOLS_$_"
+ + Interface->getNameAsString() + "_$_"
+ + Category->getNameAsString(),
+ Category->protocol_begin(),
+ Category->protocol_end());
+
std::string ExtName(Interface->getNameAsString() + "_$_" +
OCD->getNameAsString());
Values[5] =