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; return !Success;
} }

View File

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

View File

@ -239,8 +239,6 @@ static void getCLEnvVarOptions(std::string &EnvValue, llvm::StringSaver &Saver,
*NumberSignPtr = '='; *NumberSignPtr = '=';
} }
static int ExecuteCC1Tool(ArrayRef<const char *> argv);
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");
@ -311,19 +309,24 @@ static void SetInstallDir(SmallVectorImpl<const char *> &argv,
TheDriver.setInstalledDir(InstalledPathParent); 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 // If we call the cc1 tool from the clangDriver library (through
// Driver::CC1Main), we need to clean up the options usage count. The options // 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 // are currently global, and they might have been used previously by the
// driver. // driver.
llvm::cl::ResetAllOptionOccurrences(); 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; void *GetExecutablePathVP = (void *)(intptr_t)GetExecutablePath;
if (Tool == "-cc1") 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") 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. // Reject unknown tools.
llvm::errs() << "error: unknown integrated tool '" << Tool << "'. " llvm::errs() << "error: unknown integrated tool '" << Tool << "'. "
<< "Valid tools include '-cc1' and '-cc1as'.\n"; << "Valid tools include '-cc1' and '-cc1as'.\n";
@ -541,4 +544,3 @@ int ZigClang_main(int argc_, const char **argv_) {
// failing command. // failing command.
return Res; return Res;
} }