diff options
author | Daniel Dunbar <daniel@zuster.org> | 2008-08-11 18:12:00 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2008-08-11 18:12:00 +0000 |
commit | 208ff5e8a073de2a5d15cbe03cab8a4c0d935e28 (patch) | |
tree | abbaf176368be1bd64b39dc63779a22331eccab0 /lib/CodeGen/CGObjC.cpp | |
parent | 6379a7a15335e0af543a942efe9cfd514a83dab8 (diff) |
Change CodeGenModule to only create ObjC runtime for ObjC files
- Changed CodeGenModule::getObjCRuntime to return reference.
- Added CodeGenModule::hasObjCRuntime predicate.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54645 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGObjC.cpp')
-rw-r--r-- | lib/CodeGen/CGObjC.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/CodeGen/CGObjC.cpp b/lib/CodeGen/CGObjC.cpp index d1545a2d35..e152488bfa 100644 --- a/lib/CodeGen/CGObjC.cpp +++ b/lib/CodeGen/CGObjC.cpp @@ -21,7 +21,7 @@ using namespace CodeGen; /// Emits an instance of NSConstantString representing the object. llvm::Value *CodeGenFunction::EmitObjCStringLiteral(const ObjCStringLiteral *E){ - return CGM.getObjCRuntime()->GenerateConstantString( + return CGM.getObjCRuntime().GenerateConstantString( E->getString()->getStrData(), E->getString()->getByteLength()); } @@ -31,7 +31,7 @@ llvm::Value *CodeGenFunction::EmitObjCSelectorExpr(const ObjCSelectorExpr *E) { // Note that this implementation allows for non-constant strings to be passed // as arguments to @selector(). Currently, the only thing preventing this // behaviour is the type checking in the front end. - return CGM.getObjCRuntime()->GetSelector(Builder, E->getSelector()); + return CGM.getObjCRuntime().GetSelector(Builder, E->getSelector()); } @@ -41,7 +41,7 @@ llvm::Value *CodeGenFunction::EmitObjCMessageExpr(const ObjCMessageExpr *E) { // implementation vary between runtimes. We can get the receiver and // arguments in generic code. - CGObjCRuntime *Runtime = CGM.getObjCRuntime(); + CGObjCRuntime &Runtime = CGM.getObjCRuntime(); const Expr *ReceiverExpr = E->getReceiver(); bool isSuperMessage = false; // Find the receiver @@ -53,7 +53,7 @@ llvm::Value *CodeGenFunction::EmitObjCMessageExpr(const ObjCMessageExpr *E) { } llvm::Value *ClassName = CGM.GetAddrOfConstantString(classname); ClassName = Builder.CreateStructGEP(ClassName, 0); - Receiver = Runtime->LookupClass(Builder, ClassName); + Receiver = Runtime.LookupClass(Builder, ClassName); } else if (const PredefinedExpr *PDE = dyn_cast<PredefinedExpr>(E->getReceiver())) { assert(PDE->getIdentType() == PredefinedExpr::ObjCSuper); @@ -89,12 +89,12 @@ llvm::Value *CodeGenFunction::EmitObjCMessageExpr(const ObjCMessageExpr *E) { const ObjCMethodDecl *OMD = cast<ObjCMethodDecl>(CurFuncDecl); const char *SuperClass = OMD->getClassInterface()->getSuperClass()->getName(); - return Runtime->GenerateMessageSendSuper(Builder, ConvertType(E->getType()), + return Runtime.GenerateMessageSendSuper(Builder, ConvertType(E->getType()), Receiver, SuperClass, Receiver, E->getSelector(), &Args[0], Args.size()); } - return Runtime->GenerateMessageSend(Builder, ConvertType(E->getType()), + return Runtime.GenerateMessageSend(Builder, ConvertType(E->getType()), LoadObjCSelf(), Receiver, E->getSelector(), &Args[0], Args.size()); @@ -119,7 +119,7 @@ void CodeGenFunction::GenerateObjCMethod(const ObjCMethodDecl *OMD) { } const llvm::Type *ReturnTy = CGM.getTypes().ConvertReturnType(OMD->getResultType()); - CurFn = CGM.getObjCRuntime()->MethodPreamble( + CurFn = CGM.getObjCRuntime().MethodPreamble( OMD->getClassInterface()->getName(), CategoryName, OMD->getSelector().getName(), |