mirror of
https://github.com/ziglang/zig.git
synced 2025-12-16 11:13:08 +00:00
update clang driver to release/10.x branch
upstream commit 967658150edb2cbb860c19ce54ac1e216bdc8461
This commit is contained in:
parent
a95dce15ae
commit
c7fa71d233
@ -274,4 +274,3 @@ int cc1_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
|
||||
|
||||
return !Success;
|
||||
}
|
||||
|
||||
|
||||
@ -614,4 +614,3 @@ int cc1as_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
|
||||
|
||||
return !!Failed;
|
||||
}
|
||||
|
||||
|
||||
@ -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];
|
||||
void *GetExecutablePathVP = (void *)(intptr_t) GetExecutablePath;
|
||||
if (Tool == "-cc1")
|
||||
return cc1_main(argv.slice(2), argv[0], GetExecutablePathVP);
|
||||
if (Tool == "-cc1as")
|
||||
return cc1as_main(argv.slice(2), argv[0], GetExecutablePathVP);
|
||||
|
||||
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(makeArrayRef(ArgV).slice(2), ArgV[0], GetExecutablePathVP);
|
||||
if (Tool == "-cc1as")
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user