clang 10.0.0git

Namespaces | Classes | Typedefs | Enumerations | Functions
clang::driver Namespace Reference

## Namespaces
| options
| phases
| toolchains
| tools
| types

## Classes
class | Action
| Action - Represent an abstract compilation step to perform. More...
class | AnalyzeJobAction
class | AssembleJobAction
class | BackendJobAction
class | BindArchAction
class | CC1Command
| Use the CC1 tool callback when available, to avoid creating a new process. More...
class | Command
| Command - An executable path/name and argument vector to execute. More...
class | Compilation
| Compilation - A set of tasks to perform for a single driver invocation. More...
class | CompileJobAction
struct | CrashReportInfo
class | CudaInstallationDetector
| A class to find a viable CUDA installation. More...
class | DarwinSDKInfo
| The information about the darwin SDK that was used during this compilation. More...
struct | DetectedMultilibs
class | Distro
| Distro - Helper class for detecting and classifying Linux distributions. More...
class | Driver
| Driver - Encapsulate logic for constructing compilation processes from a set of gcc-driver-like command line arguments. More...
class | DsymutilJobAction
class | FallbackCommand
| Like Command, but with a fallback which is executed in case the primary command crashes. More...
class | ForceSuccessCommand
| Like Command, but always pretends that the wrapped command succeeded. More...
class | HeaderModulePrecompileJobAction
class | IfsMergeJobAction
class | InputAction
class | InputInfo
| InputInfo - Wrapper for information about an input source. More...
class | JobAction
class | JobList
| JobList - A sequence of jobs to perform. More...
class | LinkJobAction
class | LipoJobAction
class | MigrateJobAction
class | Multilib
| This corresponds to a single GCC Multilib, or a segment of one controlled by a command line flag. More...
class | MultilibSet
class | OffloadAction
| An offload action combines host or/and device actions according to the programming model implementation needs and propagates the offloading kind to its dependences. More...
class | OffloadBundlingJobAction
class | OffloadUnbundlingJobAction
class | OffloadWrapperJobAction
struct | ParsedClangName
| Helper structure used to pass information extracted from clang executable name such as `i686-linux-android-g++`. More...
class | PrecompileJobAction
class | PreprocessJobAction
class | RegisterEffectiveTriple
| Set a ToolChain's effective triple. More...
class | SanitizerArgs
class | Tool
| Tool - Information on a specific compilation tool. More...
class | ToolChain
| ToolChain - Access to tools for a single platform. More...
class | VerifyDebugInfoJobAction
class | VerifyJobAction
class | VerifyPCHJobAction
class | XRayArgs

## Typedefs
typedef SmallVector< InputInfo, 4 > | InputInfoList
typedef llvm::DenseMap< const JobAction *, const char * > | ArgStringMap
| ArgStringMap - Type used to map a JobAction to its result file. More...
typedef SmallVector< Action *, 3 > | ActionList
| ActionList - Type used for lists of actions. More...

## Enumerations
enum | LTOKind { LTOK_None, LTOK_Full, LTOK_Thin, LTOK_Unknown }
| Describes the kind of LTO mode selected via -f(no-)?lto(=.*)? options. More...

## Functions
Expected< Optional< DarwinSDKInfo > > | parseDarwinSDKInfo (llvm::vfs::FileSystem &VFS, StringRef SDKRootPath)
| Parse the SDK information from the SDKSettings.json file. More...
bool | isOptimizationLevelFast (const llvm::opt::ArgList &Args)
bool | willEmitRemarks (const llvm::opt::ArgList &Args)
raw_ostream & | operator<< (raw_ostream &OS, const Multilib &M)
raw_ostream & | operator<< (raw_ostream &OS, const MultilibSet &MS)
const llvm::opt::OptTable & | getDriverOptTable ()
bool | findMIPSMultilibs (const Driver &D, const llvm::Triple &TargetTriple, StringRef Path, const llvm::opt::ArgList &Args, DetectedMultilibs &Result)

## Typedef Documentation

## ◆ ActionList

typedef SmallVector<Action*, 3> clang::driver::ActionList

ActionList - Type used for lists of actions.

Definition at line 26 of file Util.h.

## ◆ ArgStringMap

typedef llvm::DenseMap<const JobAction*, const char*> clang::driver::ArgStringMap

ArgStringMap - Type used to map a JobAction to its result file.

Definition at line 20 of file Util.h.

## ◆ InputInfoList

typedef SmallVector<InputInfo, 4> clang::driver::InputInfoList

Definition at line 28 of file Tool.h.

## Enumeration Type Documentation

## ◆ LTOKind

enum clang::driver::LTOKind

Describes the kind of LTO mode selected via -f(no-)?lto(=.*)? options.

Enumerator
LTOK_None |
LTOK_Full |
LTOK_Thin |
LTOK_Unknown |

Definition at line 50 of file Driver.h.

## Function Documentation

## ◆ findMIPSMultilibs()

bool clang::driver::findMIPSMultilibs | ( | const Driver & | D,
|  | const llvm::Triple & | TargetTriple,
|  | StringRef | Path,
|  | const llvm::opt::ArgList & | Args,
|  | DetectedMultilibs & | Result
| ) |  |

Referenced by findMipsImgMultilibs(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getBiarchSibling(), and clang::driver::toolchains::MipsLLVMToolChain::MipsLLVMToolChain().

## ◆ getDriverOptTable()

const llvm::opt::OptTable & clang::driver::getDriverOptTable | ( |  | ) |

Definition at line 42 of file DriverOptions.cpp.

Referenced by clang::CompilerInvocation::CreateFromArgs(), clang::ExecuteCompilerInvocation(), clang::driver::Driver::getOpts(), and clang::tooling::ToolInvocation::run().

## ◆ isOptimizationLevelFast()

bool clang::driver::isOptimizationLevelFast | ( | const llvm::opt::ArgList & | Args | ) |

Returns
  True if the last defined optimization level is -Ofast. And False otherwise.

Referenced by clang::driver::ToolChain::AddFastMathRuntimeIfAvailable(), clang::driver::tools::Clang::ConstructJob(), clang::driver::Driver::getLTOMode(), and clang::driver::Driver::GetReleaseVersion().

## ◆ operator<<() [1/2]

raw_ostream & clang::driver::operator<< | ( | raw_ostream & | OS,
|  | const Multilib & | M
| ) |  |

Definition at line 137 of file Multilib.cpp.

References clang::driver::Multilib::print().

Referenced by clang::driver::MultilibSet::filePathsCallback(), and clang::driver::Multilib::isDefault().

## ◆ operator<<() [2/2]

raw_ostream & clang::driver::operator<< | ( | raw_ostream & | OS,
|  | const MultilibSet & | MS
| ) |  |

Definition at line 305 of file Multilib.cpp.

References clang::driver::MultilibSet::print().

## ◆ parseDarwinSDKInfo()

Expected< Optional< DarwinSDKInfo > > clang::driver::parseDarwinSDKInfo | ( | llvm::vfs::FileSystem & | VFS,
|  | StringRef | SDKRootPath
| ) |  |

Parse the SDK information from the SDKSettings.json file.

Returns
  an error if the SDKSettings.json file is invalid, None if the SDK has no SDKSettings.json, or a valid `DarwinSDKInfo` otherwise.

Definition at line 19 of file DarwinSDKInfo.cpp.

Referenced by clang::driver::DarwinSDKInfo::getVersion().

## ◆ willEmitRemarks()

bool clang::driver::willEmitRemarks | ( | const llvm::opt::ArgList & | Args | ) |

Returns
  True if the argument combination will end up generating remarks.

Referenced by clang::driver::Driver::BuildUniversalActions(), clang::driver::Driver::getLTOMode(), clang::driver::Driver::GetReleaseVersion(), and RenderDebugOptions().