Lines Matching defs:Driver
1 //===--- Driver.cpp - Clang GCC Compatible Driver -------------------------===//
9 #include "clang/Driver/Driver.h"
54 #include "clang/Driver/Action.h"
55 #include "clang/Driver/Compilation.h"
56 #include "clang/Driver/DriverDiagnostic.h"
57 #include "clang/Driver/Job.h"
58 #include "clang/Driver/Options.h"
59 #include "clang/Driver/SanitizerArgs.h"
60 #include "clang/Driver/Tool.h"
61 #include "clang/Driver/ToolChain.h"
96 using namespace clang::driver;
106 std::string Driver::GetResourcesPath(StringRef BinaryPath,
132 Driver::Driver(StringRef ClangExecutable, StringRef TargetTriple,
171 void Driver::ParseDriverMode(StringRef ProgramName,
186 void Driver::setDriverModeFromOption(StringRef Opt) {
205 InputArgList Driver::ParseArgStrings(ArrayRef<const char *> ArgStrings,
289 phases::ID Driver::getFinalPhase(const DerivedArgList &DAL,
345 DerivedArgList *Driver::TranslateInputArgs(const InputArgList &Args) const {
355 // (assembler and preprocessor), or bypass a previous driver ('collect2').
439 /// args passed to the driver and the default triple string.
440 static llvm::Triple computeTargetTriple(const Driver &D,
444 // FIXME: Already done in Compilation *Driver::BuildCompilation
599 static llvm::Optional<driver::LTOKind>
600 parseLTOMode(Driver &D, const llvm::opt::ArgList &Args, OptSpecifier OptPos,
602 driver::LTOKind LTOMode = LTOK_None;
633 void Driver::setLTOMode(const llvm::opt::ArgList &Args) {
649 Driver::OpenMPRuntimeKind Driver::getOpenMPRuntime(const ArgList &Args) const {
674 void Driver::CreateOffloadingDeviceToolChains(Compilation &C,
835 bool Driver::readConfigFile(StringRef FileName) {
861 // Claim all arguments that come from a configuration file so that the driver
868 Driver::loadConfigFile() {
997 // Finally try removing driver mode part: 'x86_64-clang.cfg' -> 'x86_64.cfg'.
1019 Compilation *Driver::BuildCompilation(ArrayRef<const char *> ArgList) {
1022 // FIXME: Handle environment options which affect driver behavior, somewhere
1025 // We look for the driver mode option early, because the mode can affect
1096 // FIXME: This stuff needs to go into the Compilation, not the driver.
1099 // Silence driver warnings if requested
1221 // MachO targets this uses the driver-driver and universal actions.
1250 bool Driver::getCrashDiagnosticFile(StringRef ReproCrashFilename,
1274 // by this driver invocation.
1307 // it matches this driver invocation pid.
1315 // Found a .crash file matching the driver pid. To avoid getting an older
1317 // FIXME: the driver can dispatch multiple cc1 invocations, leading to
1318 // multiple crashes poiting to the same parent process. Since the driver
1342 void Driver::generateCompilationDiagnostics(
1356 // Suppress driver output and emit preprocessor output to temp file.
1420 // Darwin OSes this uses the driver-driver and builds universal actions.
1491 << "# Driver args: ";
1529 void Driver::setUpResponseFiles(Compilation &C, Command &Cmd) {
1544 int Driver::ExecuteCompilation(
1615 void Driver::PrintHelp(bool ShowHidden) const {
1636 void Driver::PrintVersion(const Compilation &C, raw_ostream &OS) const {
1673 void Driver::HandleAutocompletions(StringRef PassedFlags) const {
1759 bool Driver::HandleImmediateArgs(const Compilation &C) {
2039 void Driver::PrintActions(const Compilation &C) const {
2059 void Driver::BuildUniversalActions(Compilation &C, const ToolChain &TC,
2071 // particular spelling may participate in other driver choices.
2147 bool Driver::DiagnoseInputExistence(const DerivedArgList &Args, StringRef Value,
2196 void Driver::BuildInputs(const ToolChain &TC, DerivedArgList &Args,
2227 // No driver mode exposes -x and /TC or /TP; we don't support mixing them.
2276 // If the driver is invoked as C++ compiler (like clang++ or c++) it
2414 const Driver::InputList &Inputs;
2421 const Driver::InputList &Inputs,
2523 const Driver::InputList &Inputs,
2774 const Driver::InputList &Inputs)
2906 const Driver::InputList &Inputs)
3098 const Driver::InputList &Inputs)
3271 const Driver::InputList &Inputs)
3528 void Driver::handleArguments(Compilation &C, DerivedArgList &Args,
3624 // The driver currently exits after the first failed command. This
3642 void Driver::BuildActions(Compilation &C, DerivedArgList &Args,
3883 Action *Driver::ConstructPhaseAction(
3988 void Driver::BuildJobs(Compilation &C) const {
4012 (A->getType() == clang::driver::types::TY_IFS_CPP &&
4013 A->getKind() == clang::driver::Action::CompileJobClass &&
4137 // Claim --driver-mode, --rsp-quoting, it was handled earlier.
4487 InputInfo Driver::BuildJobsForAction(
4505 InputInfo Driver::BuildJobsForActionNoCache(
4801 const char *Driver::getDefaultImageName() const {
4850 const char *Driver::GetNamedOutputPath(Compilation &C, const JobAction &JA,
5070 std::string Driver::GetFilePath(StringRef Name, const ToolChain &TC) const {
5114 void Driver::generatePrefixedToolNames(
5130 std::string Driver::GetProgramPath(StringRef Name, const ToolChain &TC) const {
5172 std::string Driver::GetTemporaryPath(StringRef Prefix, StringRef Suffix) const {
5183 std::string Driver::GetTemporaryDirectory(StringRef Prefix) const {
5194 std::string Driver::GetClPchPath(Compilation &C, StringRef BaseName) const {
5216 const ToolChain &Driver::getToolChain(const ArgList &Args,
5397 bool Driver::ShouldUseClangCompiler(const JobAction &JA) const {
5411 bool Driver::ShouldUseFlangCompiler(const JobAction &JA) const {
5424 bool Driver::ShouldEmitStaticLibrary(const ArgList &Args) const {
5436 bool Driver::GetReleaseVersion(StringRef Str, unsigned &Major, unsigned &Minor,
5474 bool Driver::GetReleaseVersion(StringRef Str,
5498 Driver::getIncludeExcludeOptionFlagMasks(bool IsClCompatMode) const {
5513 bool clang::driver::isOptimizationLevelFast(const ArgList &Args) {
5517 bool clang::driver::willEmitRemarks(const ArgList &Args) {