summaryrefslogtreecommitdiffstats
path: root/clang/tools/driver/driver.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2013-08-20 22:01:43 +0000
committerEli Friedman <eli.friedman@gmail.com>2013-08-20 22:01:43 +0000
commita617d094229bec694011cef9a32b825f658d37ba (patch)
tree299349179118a7186d43fd2ff0614faaa270dbdd /clang/tools/driver/driver.cpp
parentce76304627d39e9e4308a2d0fe63d7b4651feaa5 (diff)
downloadbcm5719-llvm-a617d094229bec694011cef9a32b825f658d37ba.tar.gz
bcm5719-llvm-a617d094229bec694011cef9a32b825f658d37ba.zip
Fix iterator invalidation. PR16935.
llvm-svn: 188835
Diffstat (limited to 'clang/tools/driver/driver.cpp')
-rw-r--r--clang/tools/driver/driver.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/tools/driver/driver.cpp b/clang/tools/driver/driver.cpp
index 11fa4d289eb..88863ab0661 100644
--- a/clang/tools/driver/driver.cpp
+++ b/clang/tools/driver/driver.cpp
@@ -269,9 +269,10 @@ static void ParseProgName(SmallVectorImpl<const char *> &ArgVector,
SmallVectorImpl<const char *>::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));
}
}
OpenPOWER on IntegriCloud