diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-07-18 22:03:55 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-07-18 22:03:55 +0000 |
commit | 76614362206597cd74337812964df3bacf99489d (patch) | |
tree | 0a268e8a026a77b82d20c48bb12828ae683515c3 /clang/tools/driver/driver.cpp | |
parent | b31b76f1eba9bde61f63512085ddf6933f48fc1b (diff) | |
download | bcm5719-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.cpp | 17 |
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()) |