summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-11-19 07:41:27 +0000
committerChris Lattner <sabre@nondot.org>2008-11-19 07:41:27 +0000
commit66e3877b42fea73fde704c45ad340b13516b7e84 (patch)
tree1f1db823ca0d7334dbc8043f33274fd045d4697a /clang/lib
parentebad6a220f5de7ca1b8270327c08c82942243046 (diff)
downloadbcm5719-llvm-66e3877b42fea73fde704c45ad340b13516b7e84.tar.gz
bcm5719-llvm-66e3877b42fea73fde704c45ad340b13516b7e84.zip
Use smallstring instead of new[]'ing a string. This simplifies
the code and speeds it up. llvm-svn: 59604
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Parse/ParseObjc.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/clang/lib/Parse/ParseObjc.cpp b/clang/lib/Parse/ParseObjc.cpp
index f323d9fe234..9d4d6fb2481 100644
--- a/clang/lib/Parse/ParseObjc.cpp
+++ b/clang/lib/Parse/ParseObjc.cpp
@@ -203,15 +203,11 @@ Parser::DeclTy *Parser::ParseObjCAtInterfaceDeclaration(
/// has been capitalized.
static IdentifierInfo *constructSetterName(IdentifierTable &Idents,
const IdentifierInfo *Name) {
- unsigned N = Name->getLength();
- char *SelectorName = new char[3 + N];
- memcpy(SelectorName, "set", 3);
- memcpy(&SelectorName[3], Name->getName(), N);
+ llvm::SmallString<100> SelectorName;
+ SelectorName += "set";
+ SelectorName.append(Name->getName(), Name->getName()+Name->getLength());
SelectorName[3] = toupper(SelectorName[3]);
-
- IdentifierInfo *Setter = &Idents.get(SelectorName, &SelectorName[3 + N]);
- delete[] SelectorName;
- return Setter;
+ return &Idents.get(&SelectorName[0], &SelectorName[SelectorName.size()]);
}
/// objc-interface-decl-list:
OpenPOWER on IntegriCloud