aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGObjC.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2008-08-11 18:12:00 +0000
committerDaniel Dunbar <daniel@zuster.org>2008-08-11 18:12:00 +0000
commit208ff5e8a073de2a5d15cbe03cab8a4c0d935e28 (patch)
treeabbaf176368be1bd64b39dc63779a22331eccab0 /lib/CodeGen/CGObjC.cpp
parent6379a7a15335e0af543a942efe9cfd514a83dab8 (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.cpp14
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(),