aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGObjCGNU.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2008-08-13 23:20:05 +0000
committerDaniel Dunbar <daniel@zuster.org>2008-08-13 23:20:05 +0000
commit6143293fa4366ee95d7e47e61bd030a34bf68b55 (patch)
tree9aa742ed437a22a37bd505e604a06d2b1768c667 /lib/CodeGen/CGObjCGNU.cpp
parentae6814efb6c41bd0c0f6413d25097105284d5be7 (diff)
Add GetAddrOfConstantCString method
- Returns addr of constant for argument + '\0'. - I couldn't think of a better name. - Move appropriate users of GetAddrOfConstantString to this. Rename getStringForStringLiteral to GetStringForStringLiteral. Add GetAddrOfConstantStringFromLiteral - This combines GetAddrOfConstantString and GetStringForStringLiteral. This method can be, but is not yet, more efficient. Change GetAddrOfConstantString to not add terminating '\0' - <rdar://problem/6140956> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54768 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGObjCGNU.cpp')
-rw-r--r--lib/CodeGen/CGObjCGNU.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/CodeGen/CGObjCGNU.cpp b/lib/CodeGen/CGObjCGNU.cpp
index 61552c4505..c4d236b54d 100644
--- a/lib/CodeGen/CGObjCGNU.cpp
+++ b/lib/CodeGen/CGObjCGNU.cpp
@@ -370,7 +370,7 @@ llvm::Constant *CGObjCGNU::GenerateMethodList(const std::string &ClassName,
std::vector<llvm::Constant*> Elements;
for (unsigned int i = 0, e = MethodTypes.size(); i < e; ++i) {
Elements.clear();
- llvm::Constant *C = CGM.GetAddrOfConstantString(MethodSels[i].getName());
+ llvm::Constant *C = CGM.GetAddrOfConstantCString(MethodSels[i].getName());
Elements.push_back(llvm::ConstantExpr::getGetElementPtr(C, Zeros, 2));
Elements.push_back(
llvm::ConstantExpr::getGetElementPtr(MethodTypes[i], Zeros, 2));
@@ -581,8 +581,8 @@ void CGObjCGNU::GenerateProtocol(const ObjCProtocolDecl *PD) {
std::string TypeStr;
Context.getObjCEncodingForMethodDecl(*iter, TypeStr);
InstanceMethodNames.push_back(
- CGM.GetAddrOfConstantString((*iter)->getSelector().getName()));
- InstanceMethodTypes.push_back(CGM.GetAddrOfConstantString(TypeStr));
+ CGM.GetAddrOfConstantCString((*iter)->getSelector().getName()));
+ InstanceMethodTypes.push_back(CGM.GetAddrOfConstantCString(TypeStr));
}
// Collect information about class methods:
llvm::SmallVector<llvm::Constant*, 16> ClassMethodNames;
@@ -592,8 +592,8 @@ void CGObjCGNU::GenerateProtocol(const ObjCProtocolDecl *PD) {
std::string TypeStr;
Context.getObjCEncodingForMethodDecl((*iter),TypeStr);
ClassMethodNames.push_back(
- CGM.GetAddrOfConstantString((*iter)->getSelector().getName()));
- ClassMethodTypes.push_back(CGM.GetAddrOfConstantString(TypeStr));
+ CGM.GetAddrOfConstantCString((*iter)->getSelector().getName()));
+ ClassMethodTypes.push_back(CGM.GetAddrOfConstantCString(TypeStr));
}
llvm::Constant *ProtocolList = GenerateProtocolList(Protocols);