diff options
author | Daniel Dunbar <daniel@zuster.org> | 2008-08-13 00:59:25 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2008-08-13 00:59:25 +0000 |
commit | af2f62ce32e462f256855cd24b06dec4755d2827 (patch) | |
tree | dd635c793ee272fd284f0ad481ffc9c3f6d52e1e /lib/CodeGen/CGObjCMac.cpp | |
parent | 450202284e7e0a1758be935ee6ae1296cc9dc97d (diff) |
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
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54709 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGObjCMac.cpp')
-rw-r--r-- | lib/CodeGen/CGObjCMac.cpp | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp index bd51089903..f6e3207887 100644 --- a/lib/CodeGen/CGObjCMac.cpp +++ b/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."); } |