From a75eba9c05d100395ba46c91959cd241c137965e Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Mon, 15 Jul 2013 16:40:52 +0000 Subject: Revert "[Option] Store arg strings in a set backed by a BumpPtrAllocator" This broke clang's crash-report.c test, and I haven't been able to figure it out yet. This reverts commit r186319. llvm-svn: 186329 --- llvm/lib/Option/ArgList.cpp | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'llvm/lib/Option/ArgList.cpp') diff --git a/llvm/lib/Option/ArgList.cpp b/llvm/lib/Option/ArgList.cpp index 18a7b5982be..15f7e8bf4b8 100644 --- a/llvm/lib/Option/ArgList.cpp +++ b/llvm/lib/Option/ArgList.cpp @@ -323,18 +323,9 @@ InputArgList::~InputArgList() { unsigned InputArgList::MakeIndex(StringRef String0) const { unsigned Index = ArgStrings.size(); - // If necessary, make a copy so we can null terminate it. - std::string NullTerminated; - if (String0.back() != '\0') { - NullTerminated.append(String0.data(), String0.size()); - NullTerminated.push_back('\0'); - String0 = StringRef(&NullTerminated[0], NullTerminated.size()); - } - // Tuck away so we have a reliable const char *. - String0 = SynthesizedStrings.GetOrCreateValue(String0).getKey(); - assert(String0.back() == '\0'); - ArgStrings.push_back(String0.data()); + SynthesizedStrings.push_back(String0); + ArgStrings.push_back(SynthesizedStrings.back().c_str()); return Index; } -- cgit v1.2.3