update clang driver to release/10.x branch

upstream commit 967658150edb2cbb860c19ce54ac1e216bdc8461
This commit is contained in:
Andrew Kelley 2020-01-29 23:38:02 -05:00
parent a95dce15ae
commit c7fa71d233
No known key found for this signature in database
GPG Key ID: 7C5F548F728501A9
3 changed files with 12 additions and 12 deletions

View File

@ -274,4 +274,3 @@ int cc1_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
return !Success;
}

View File

@ -614,4 +614,3 @@ int cc1as_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
return !!Failed;
}

View File

@ -239,8 +239,6 @@ static void getCLEnvVarOptions(std::string &EnvValue, llvm::StringSaver &Saver,
*NumberSignPtr = '=';
}
static int ExecuteCC1Tool(ArrayRef<const char *> argv);
static void SetBackdoorDriverOutputsFromEnvVars(Driver &TheDriver) {
// Handle CC_PRINT_OPTIONS and CC_PRINT_OPTIONS_FILE.
TheDriver.CCPrintOptions = !!::getenv("CC_PRINT_OPTIONS");
@ -311,19 +309,24 @@ static void SetInstallDir(SmallVectorImpl<const char *> &argv,
TheDriver.setInstalledDir(InstalledPathParent);
}
static int ExecuteCC1Tool(ArrayRef<const char *> argv) {
static int ExecuteCC1Tool(SmallVectorImpl<const char *> &ArgV) {
// If we call the cc1 tool from the clangDriver library (through
// Driver::CC1Main), we need to clean up the options usage count. The options
// are currently global, and they might have been used previously by the
// driver.
llvm::cl::ResetAllOptionOccurrences();
StringRef Tool = argv[1];
llvm::BumpPtrAllocator A;
llvm::StringSaver Saver(A);
llvm::cl::ExpandResponseFiles(Saver, &llvm::cl::TokenizeGNUCommandLine, ArgV,
/*MarkEOLs=*/false);
StringRef Tool = ArgV[1];
void *GetExecutablePathVP = (void *)(intptr_t)GetExecutablePath;
if (Tool == "-cc1")
return cc1_main(argv.slice(2), argv[0], GetExecutablePathVP);
return cc1_main(makeArrayRef(ArgV).slice(2), ArgV[0], GetExecutablePathVP);
if (Tool == "-cc1as")
return cc1as_main(argv.slice(2), argv[0], GetExecutablePathVP);
return cc1as_main(makeArrayRef(ArgV).slice(2), ArgV[0],
GetExecutablePathVP);
// Reject unknown tools.
llvm::errs() << "error: unknown integrated tool '" << Tool << "'. "
<< "Valid tools include '-cc1' and '-cc1as'.\n";
@ -541,4 +544,3 @@ int ZigClang_main(int argc_, const char **argv_) {
// failing command.
return Res;
}