diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2013-08-20 22:01:43 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2013-08-20 22:01:43 +0000 |
commit | a617d094229bec694011cef9a32b825f658d37ba (patch) | |
tree | 299349179118a7186d43fd2ff0614faaa270dbdd /clang/tools/driver/driver.cpp | |
parent | ce76304627d39e9e4308a2d0fe63d7b4651feaa5 (diff) | |
download | bcm5719-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.cpp | 7 |
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)); } } |