diff options
author | Chris Lattner <sabre@nondot.org> | 2007-12-23 01:40:15 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-12-23 01:40:15 +0000 |
commit | b907c3fca1687ebebc7b98df8e955dc3dfab5093 (patch) | |
tree | 00724867297ddfae8c4e59e6d94588ec782d3713 /clang/Driver/RewriteTest.cpp | |
parent | 03f8a3630d9716ecf4c69338521b650ba7a768c6 (diff) | |
download | bcm5719-llvm-b907c3fca1687ebebc7b98df8e955dc3dfab5093.tar.gz bcm5719-llvm-b907c3fca1687ebebc7b98df8e955dc3dfab5093.zip |
remove use of alloca.
llvm-svn: 45329
Diffstat (limited to 'clang/Driver/RewriteTest.cpp')
-rw-r--r-- | clang/Driver/RewriteTest.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/clang/Driver/RewriteTest.cpp b/clang/Driver/RewriteTest.cpp index 4cb0dce91e2..4bb1ba3f08d 100644 --- a/clang/Driver/RewriteTest.cpp +++ b/clang/Driver/RewriteTest.cpp @@ -21,7 +21,6 @@ #include "clang/Lex/Lexer.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/SmallPtrSet.h" -#include "llvm/Config/alloca.h" #include "llvm/Support/MemoryBuffer.h" #include <sstream> using namespace clang; @@ -2058,18 +2057,20 @@ void RewriteTest::RewriteObjcCategoryImplDecl(ObjcCategoryImplDecl *IDecl, CDecl = CDecl->getNextClassCategory()) if (CDecl->getIdentifier() == IDecl->getIdentifier()) break; - - char *FullCategoryName = (char*)alloca( - strlen(ClassDecl->getName()) + strlen(IDecl->getName()) + 2); - sprintf(FullCategoryName, "%s_%s", ClassDecl->getName(), IDecl->getName()); + std::string FullCategoryName = ClassDecl->getName(); + FullCategoryName += '_'; + FullCategoryName += IDecl->getName(); + // Build _objc_method_list for class's instance methods if needed RewriteObjcMethodsMetaData(IDecl->instmeth_begin(), IDecl->instmeth_end(), - true, "CATEGORY_", FullCategoryName, Result); + true, "CATEGORY_", FullCategoryName.c_str(), + Result); // Build _objc_method_list for class's class methods if needed RewriteObjcMethodsMetaData(IDecl->classmeth_begin(), IDecl->classmeth_end(), - false, "CATEGORY_", FullCategoryName, Result); + false, "CATEGORY_", FullCategoryName.c_str(), + Result); // Protocols referenced in class declaration? // Null CDecl is case of a category implementation with no category interface @@ -2077,7 +2078,7 @@ void RewriteTest::RewriteObjcCategoryImplDecl(ObjcCategoryImplDecl *IDecl, RewriteObjcProtocolsMetaData(CDecl->getReferencedProtocols(), CDecl->getNumReferencedProtocols(), "CATEGORY", - FullCategoryName, Result); + FullCategoryName.c_str(), Result); /* struct _objc_category { char *category_name; |