summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGObjCMac.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2008-08-13 00:59:25 +0000
committerDaniel Dunbar <daniel@zuster.org>2008-08-13 00:59:25 +0000
commit89da6ad1db120f53437de8800f8cd6de532a8003 (patch)
treec4b056d205b1a46f61ddd9ec370ecf08ca92fda3 /clang/lib/CodeGen/CGObjCMac.cpp
parent40f83ac6497f61f24baf49afb66d67d5181e9dfe (diff)
downloadbcm5719-llvm-89da6ad1db120f53437de8800f8cd6de532a8003.tar.gz
bcm5719-llvm-89da6ad1db120f53437de8800f8cd6de532a8003.zip
Change ObjCRuntime GenerateProtocol[Ref] methods to take
ObjCProtocolDecl directly. Implement CodeGen support for forward protocol decls (no-ops are so nice to implement). Also moved CGObjCRuntime.h out of CodeGenModule.h llvm-svn: 54709
Diffstat (limited to 'clang/lib/CodeGen/CGObjCMac.cpp')
-rw-r--r--clang/lib/CodeGen/CGObjCMac.cpp18
1 files changed, 4 insertions, 14 deletions
diff --git a/clang/lib/CodeGen/CGObjCMac.cpp b/clang/lib/CodeGen/CGObjCMac.cpp
index bd510899032..f6e32078877 100644
--- a/clang/lib/CodeGen/CGObjCMac.cpp
+++ b/clang/lib/CodeGen/CGObjCMac.cpp
@@ -168,14 +168,9 @@ public:
const llvm::SmallVectorImpl<std::string> &Protocols);
virtual llvm::Value *GenerateProtocolRef(llvm::IRBuilder<> &Builder,
- const char *ProtocolName);
+ const ObjCProtocolDecl *PD);
- virtual void GenerateProtocol(const char *ProtocolName,
- const llvm::SmallVectorImpl<std::string> &Protocols,
- const llvm::SmallVectorImpl<llvm::Constant *> &InstanceMethodNames,
- const llvm::SmallVectorImpl<llvm::Constant *> &InstanceMethodTypes,
- const llvm::SmallVectorImpl<llvm::Constant *> &ClassMethodNames,
- const llvm::SmallVectorImpl<llvm::Constant *> &ClassMethodTypes);
+ virtual void GenerateProtocol(const ObjCProtocolDecl *PD);
virtual llvm::Function *ModuleInitFunction();
};
@@ -300,18 +295,13 @@ llvm::Value *CGObjCMac::GenerateMessageSend(llvm::IRBuilder<> &Builder,
}
llvm::Value *CGObjCMac::GenerateProtocolRef(llvm::IRBuilder<> &Builder,
- const char *ProtocolName) {
+ const ObjCProtocolDecl *PD) {
// assert(0 && "Cannot get protocol reference on Mac runtime.");
return llvm::Constant::getNullValue(ObjCTypes.ProtocolPtrTy);
return 0;
}
-void CGObjCMac::GenerateProtocol(const char *ProtocolName,
- const llvm::SmallVectorImpl<std::string> &Protocols,
- const llvm::SmallVectorImpl<llvm::Constant *> &InstanceMethodNames,
- const llvm::SmallVectorImpl<llvm::Constant *> &InstanceMethodTypes,
- const llvm::SmallVectorImpl<llvm::Constant *> &ClassMethodNames,
- const llvm::SmallVectorImpl<llvm::Constant *> &ClassMethodTypes) {
+void CGObjCMac::GenerateProtocol(const ObjCProtocolDecl *PD) {
// assert(0 && "Cannot generate protocol for Mac runtime.");
}
OpenPOWER on IntegriCloud