diff options
author | Daniel Dunbar <daniel@zuster.org> | 2008-08-13 23:20:05 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2008-08-13 23:20:05 +0000 |
commit | 6143293fa4366ee95d7e47e61bd030a34bf68b55 (patch) | |
tree | 9aa742ed437a22a37bd505e604a06d2b1768c667 /lib/CodeGen/CGObjCGNU.cpp | |
parent | ae6814efb6c41bd0c0f6413d25097105284d5be7 (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.cpp | 10 |
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); |