From: Eli Friedman Date: Tue, 20 Aug 2013 22:01:43 +0000 (+0000) Subject: Fix iterator invalidation. PR16935. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3f7e66ce7bac0e85586e90cd15befdc049b3a5f3;p=clang Fix iterator invalidation. PR16935. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188835 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp index 11fa4d289e..88863ab066 100644 --- a/tools/driver/driver.cpp +++ b/tools/driver/driver.cpp @@ -269,9 +269,10 @@ static void ParseProgName(SmallVectorImpl &ArgVector, SmallVectorImpl::iterator it = ArgVector.begin(); if (it != ArgVector.end()) ++it; - ArgVector.insert(it, SaveStringInSet(SavedStrings, Prefix)); - ArgVector.insert(it, - SaveStringInSet(SavedStrings, std::string("-target"))); + const char* Strings[] = + { SaveStringInSet(SavedStrings, std::string("-target")), + SaveStringInSet(SavedStrings, Prefix) }; + ArgVector.insert(it, Strings, Strings + llvm::array_lengthof(Strings)); } }