summaryrefslogtreecommitdiffstats
path: root/clang/tools/driver/driver.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2010-07-18 22:03:55 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2010-07-18 22:03:55 +0000
commit76614362206597cd74337812964df3bacf99489d (patch)
tree0a268e8a026a77b82d20c48bb12828ae683515c3 /clang/tools/driver/driver.cpp
parentb31b76f1eba9bde61f63512085ddf6933f48fc1b (diff)
downloadbcm5719-llvm-76614362206597cd74337812964df3bacf99489d.tar.gz
bcm5719-llvm-76614362206597cd74337812964df3bacf99489d.zip
Refactor the code a bit so that there is only one call to BuildCompilation. The
StringPointers vector will also be used in the normal case to handle @file arguments. llvm-svn: 108660
Diffstat (limited to 'clang/tools/driver/driver.cpp')
-rw-r--r--clang/tools/driver/driver.cpp17
1 files changed, 5 insertions, 12 deletions
diff --git a/clang/tools/driver/driver.cpp b/clang/tools/driver/driver.cpp
index c4b12cba0f7..8df42246ab0 100644
--- a/clang/tools/driver/driver.cpp
+++ b/clang/tools/driver/driver.cpp
@@ -248,18 +248,13 @@ int main(int argc, const char **argv) {
// Handle QA_OVERRIDE_GCC3_OPTIONS and CCC_ADD_ARGS, used for editing a
// command line behind the scenes.
std::set<std::string> SavedStrings;
+ std::vector<const char*> StringPointers(argv, argv + argc);
if (const char *OverrideStr = ::getenv("QA_OVERRIDE_GCC3_OPTIONS")) {
// FIXME: Driver shouldn't take extra initial argument.
- std::vector<const char*> StringPointers(argv, argv + argc);
-
ApplyQAOverride(StringPointers, OverrideStr, SavedStrings);
-
- C.reset(TheDriver.BuildCompilation(StringPointers.size(),
- &StringPointers[0]));
} else if (const char *Cur = ::getenv("CCC_ADD_ARGS")) {
- std::vector<const char*> StringPointers;
-
// FIXME: Driver shouldn't take extra initial argument.
+ StringPointers.clear();
StringPointers.push_back(argv[0]);
for (;;) {
@@ -277,11 +272,9 @@ int main(int argc, const char **argv) {
}
StringPointers.insert(StringPointers.end(), argv + 1, argv + argc);
-
- C.reset(TheDriver.BuildCompilation(StringPointers.size(),
- &StringPointers[0]));
- } else
- C.reset(TheDriver.BuildCompilation(argc, argv));
+ }
+ C.reset(TheDriver.BuildCompilation(StringPointers.size(),
+ &StringPointers[0]));
int Res = 0;
if (C.get())
OpenPOWER on IntegriCloud