forked from OSchip/llvm-project
parent
454adf6454
commit
2b098e4606
|
@ -43,6 +43,7 @@
|
||||||
#include "llvm/Support/Program.h"
|
#include "llvm/Support/Program.h"
|
||||||
#include "llvm/Support/Regex.h"
|
#include "llvm/Support/Regex.h"
|
||||||
#include "llvm/Support/Signals.h"
|
#include "llvm/Support/Signals.h"
|
||||||
|
#include "llvm/Support/StringSaver.h"
|
||||||
#include "llvm/Support/TargetRegistry.h"
|
#include "llvm/Support/TargetRegistry.h"
|
||||||
#include "llvm/Support/TargetSelect.h"
|
#include "llvm/Support/TargetSelect.h"
|
||||||
#include "llvm/Support/Timer.h"
|
#include "llvm/Support/Timer.h"
|
||||||
|
@ -290,18 +291,6 @@ 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) {
|
static void SetBackdoorDriverOutputsFromEnvVars(Driver &TheDriver) {
|
||||||
// Handle CC_PRINT_OPTIONS and CC_PRINT_OPTIONS_FILE.
|
// Handle CC_PRINT_OPTIONS and CC_PRINT_OPTIONS_FILE.
|
||||||
TheDriver.CCPrintOptions = !!::getenv("CC_PRINT_OPTIONS");
|
TheDriver.CCPrintOptions = !!::getenv("CC_PRINT_OPTIONS");
|
||||||
|
@ -391,8 +380,8 @@ int main(int argc_, const char **argv_) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::set<std::string> SavedStrings;
|
llvm::BumpPtrAllocator A;
|
||||||
StringSetSaver Saver(SavedStrings);
|
llvm::BumpPtrStringSaver Saver(A);
|
||||||
|
|
||||||
// Determines whether we want nullptr markers in argv to indicate response
|
// Determines whether we want nullptr markers in argv to indicate response
|
||||||
// files end-of-lines. We only use this for the /LINK driver argument.
|
// files end-of-lines. We only use this for the /LINK driver argument.
|
||||||
|
@ -426,6 +415,7 @@ int main(int argc_, const char **argv_) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::set<std::string> SavedStrings;
|
||||||
// Handle CCC_OVERRIDE_OPTIONS, used for editing a command line behind the
|
// Handle CCC_OVERRIDE_OPTIONS, used for editing a command line behind the
|
||||||
// scenes.
|
// scenes.
|
||||||
if (const char *OverrideStr = ::getenv("CCC_OVERRIDE_OPTIONS")) {
|
if (const char *OverrideStr = ::getenv("CCC_OVERRIDE_OPTIONS")) {
|
||||||
|
|
Loading…
Reference in New Issue