diff options
author | Sean Silva <chisophugis@gmail.com> | 2014-08-15 23:39:12 +0000 |
---|---|---|
committer | Sean Silva <chisophugis@gmail.com> | 2014-08-15 23:39:12 +0000 |
commit | bcd500e09a8aad888aa04d7e92a60f12fef6198b (patch) | |
tree | 892a3f294c666d56e83379aa8c949471a820d5b6 /clang/tools/driver/driver.cpp | |
parent | db7948499872e3ace0efaa793b15d2b4d547fc58 (diff) | |
download | bcm5719-llvm-bcd500e09a8aad888aa04d7e92a60f12fef6198b.tar.gz bcm5719-llvm-bcd500e09a8aad888aa04d7e92a60f12fef6198b.zip |
Revert "Update for LLVM change (StringSaver)"
This reverts commit r215785 / 170ebf4f19459ae51a9561d0e65c87ee4c9b2c97.
LLD has some StringSavers that need to be updated. One of which takes a
lock and I need to investigate that more closely.
llvm-svn: 215791
Diffstat (limited to 'clang/tools/driver/driver.cpp')
-rw-r--r-- | clang/tools/driver/driver.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/clang/tools/driver/driver.cpp b/clang/tools/driver/driver.cpp index 02efeb0c288..2533401082a 100644 --- a/clang/tools/driver/driver.cpp +++ b/clang/tools/driver/driver.cpp @@ -41,7 +41,6 @@ #include "llvm/Support/Program.h" #include "llvm/Support/Regex.h" #include "llvm/Support/Signals.h" -#include "llvm/Support/StringSaver.h" #include "llvm/Support/TargetRegistry.h" #include "llvm/Support/TargetSelect.h" #include "llvm/Support/Timer.h" @@ -282,6 +281,18 @@ static void ParseProgName(SmallVectorImpl<const char *> &ArgVector, } } +namespace { + class StringSetSaver : public llvm::cl::StringSaver { + public: + StringSetSaver(std::set<std::string> &Storage) : Storage(Storage) {} + const char *SaveString(const char *Str) override { + return GetStableCStr(Storage, Str); + } + private: + std::set<std::string> &Storage; + }; +} + static void SetBackdoorDriverOutputsFromEnvVars(Driver &TheDriver) { // Handle CC_PRINT_OPTIONS and CC_PRINT_OPTIONS_FILE. TheDriver.CCPrintOptions = !!::getenv("CC_PRINT_OPTIONS"); @@ -372,7 +383,7 @@ int main(int argc_, const char **argv_) { } std::set<std::string> SavedStrings; - llvm::StringSaver Saver; + StringSetSaver Saver(SavedStrings); llvm::cl::ExpandResponseFiles(Saver, llvm::cl::TokenizeGNUCommandLine, argv); // Handle -cc1 integrated tools. |