clang 8.0.0

Public Member Functions | Static Public Member Functions | List of all members
clang::driver::tools::Clang Class Reference

Clang compiler tool. More...

`#include "/work/www-prereleases/8.0.0/rc2/builddocs/llvm.src/tools/clang/lib/Driver/ToolChains/Clang.h"`

Inheritance diagram for clang::driver::tools::Clang:
[legend]
Collaboration diagram for clang::driver::tools::Clang:
[legend]

## Public Member Functions
| Clang (const ToolChain &TC)
| ~Clang () override
bool | hasGoodDiagnostics () const override
| Does this tool have "good" standardized diagnostics, or should the driver add an additional "command failed" diagnostic on failures. More...
bool | hasIntegratedAssembler () const override
bool | hasIntegratedCPP () const override
bool | canEmitIR () const override
void | ConstructJob (Compilation &C, const JobAction &JA, const InputInfo &Output, const InputInfoList &Inputs, const llvm::opt::ArgList &TCArgs, const char *LinkingOutput) const override
| ConstructJob - Construct jobs to perform the action `JA`, writing to `Output` and with `Inputs`, and add the jobs to `C`. More...
Public Member Functions inherited from clang::driver::Tool
| Tool (const char *Name, const char *ShortName, const ToolChain &TC, ResponseFileSupport ResponseSupport=RF_None, llvm::sys::WindowsEncodingMethod ResponseEncoding=llvm::sys::WEM_UTF8, const char *ResponseFlag="@")
virtual | ~Tool ()
const char * | getName () const
const char * | getShortName () const
const ToolChain & | getToolChain () const
virtual bool | isLinkJob () const
virtual bool | isDsymutilJob () const
ResponseFileSupport | getResponseFilesSupport () const
| Returns the level of support for response files of this tool, whether it accepts arguments to be passed via a file on disk. More...
llvm::sys::WindowsEncodingMethod | getResponseFileEncoding () const
| Returns which encoding the response file should use. More...
const char * | getResponseFileFlag () const
| Returns which prefix to use when passing the name of a response file as a parameter to this tool. More...
virtual void | ConstructJobMultipleOutputs (Compilation &C, const JobAction &JA, const InputInfoList &Outputs, const InputInfoList &Inputs, const llvm::opt::ArgList &TCArgs, const char *LinkingOutput) const
| Construct jobs to perform the action `JA`, writing to the `Outputs` and with `Inputs`, and add the jobs to `C`. More...

## Static Public Member Functions
static const char * | getBaseInputName (const llvm::opt::ArgList &Args, const InputInfo &Input)
static const char * | getBaseInputStem (const llvm::opt::ArgList &Args, const InputInfoList &Inputs)
static const char * | getDependencyFileName (const llvm::opt::ArgList &Args, const InputInfoList &Inputs)

## Additional Inherited Members
Public Types inherited from clang::driver::Tool
enum | ResponseFileSupport { RF_Full, RF_FileList, RF_None }

## Detailed Description

Clang compiler tool.

Definition at line 29 of file Clang.h.

## Constructor & Destructor Documentation

## ◆ Clang()

Clang::Clang | ( | const ToolChain & | TC | ) |

Definition at line 5370 of file Clang.cpp.

## ◆ ~Clang()

Clang::~Clang | ( |  | ) |
| override

Definition at line 5376 of file Clang.cpp.

References clang::driver::Driver::Diag(), clang::ObjCRuntime::FragileMacOSX, clang::ObjCRuntime::GCC, clang::ObjCRuntime::getAsString(), clang::driver::ToolChain::getDefaultObjCRuntime(), clang::driver::ToolChain::getDriver(), clang::ObjCRuntime::getKind(), clang::driver::Tool::getToolChain(), clang::driver::ToolChain::getTriple(), clang::ObjCRuntime::getVersion(), clang::ObjCRuntime::GNUstep, clang::driver::ToolChain::IsObjCNonFragileABIDefault(), clang::ObjCRuntime::MacOSX, and clang::ObjCRuntime::tryParse().

## Member Function Documentation

## ◆ canEmitIR()

bool clang::driver::tools::Clang::canEmitIR | ( |  | ) | const
| inline override virtual

Reimplemented from clang::driver::Tool.

Definition at line 106 of file Clang.h.

## ◆ ConstructJob()

void Clang::ConstructJob | ( | Compilation & | C,
|  | const JobAction & | JA,
|  | const InputInfo & | Output,
|  | const InputInfoList & | Inputs,
|  | const llvm::opt::ArgList & | TCArgs,
|  | const char * | LinkingOutput
| ) |  | const
| override virtual

ConstructJob - Construct jobs to perform the action `JA`, writing to `Output` and with `Inputs`, and add the jobs to `C`.

Parameters

  TCArgs | - The argument list for this toolchain, with any tool chain specific translations applied.
  LinkingOutput | - If this output will eventually feed the linker, then this is the final output name of the linked image.

Implements clang::driver::Tool.

Definition at line 3366 of file Clang.cpp.

References clang::driver::XRayArgs::addArgs(), clang::driver::SanitizerArgs::addArgs(), clang::driver::Compilation::addCommand(), addDashXForInput(), addDebugCompDirArg(), addDebugPrefixMapArg(), addExceptionArgs(), addPGOAndCoverageFlags(), clang::driver::tools::PS4cpu::addProfileRTArgs(), clang::driver::tools::PS4cpu::addSanitizerArgs(), bytes(), clang::driver::Driver::CCGenDiagnostics, clang::driver::Driver::CCLogDiagnostics, clang::driver::Driver::CCLogDiagnosticsFilename, clang::driver::Driver::CCPrintHeaders, clang::driver::Driver::CCPrintHeadersFilename, CheckCodeGenerationOptions(), clang::driver::tools::claimNoWarnArgs(), CollectArgsForIntegratedAssembler(), clang::driver::Driver::Diag(), clang::driver::Driver::embedBitcodeInObject(), clang::driver::Driver::embedBitcodeMarkerOnly(), EscapeSpacesAndBackslashes(), clang::driver::InputInfo::getBaseInput(), clang::driver::Driver::getClangProgramPath(), clang::driver::tools::getCPUName(), clang::driver::Compilation::getDriver(), clang::driver::InputInfo::getFilename(), clang::driver::InputInfo::getInputArg(), clang::driver::JobList::getJobs(), clang::driver::Compilation::getJobs(), clang::driver::tools::getLastProfileSampleUseArg(), clang::driver::Driver::getLTOMode(), clang::driver::Action::getOffloadingArch(), clang::driver::Action::getOffloadingDeviceKind(), clang::driver::Action::GetOffloadingFileNamePrefix(), clang::driver::Driver::getOpenMPRuntime(), clang::driver::types::getPrecompiledType(), clang::driver::types::getPreprocessedType(), clang::driver::Compilation::getSingleOffloadToolChain(), clang::driver::tools::getStatsFileName(), clang::driver::InputInfo::getType(), clang::driver::Action::getType(), clang::driver::types::getTypeName(), clang::driver::Driver::getVFS(), clang::driver::Driver::IsCLMode(), clang::driver::types::isCXX(), clang::driver::Action::isDeviceOffloading(), clang::driver::InputInfo::isFilename(), clang::driver::Compilation::isForDiagnostics(), clang::driver::Action::isHostOffloading(), clang::driver::types::isLLVMIR(), isNoCommonDefault(), clang::driver::InputInfo::isNothing(), clang::driver::Action::isOffloading(), clang::driver::isOptimizationLevelFast(), clang::driver::Driver::isSaveTempsEnabled(), clang::driver::tools::isUseSeparateSections(), clang::driver::Driver::isUsingLTO(), clang::driver::LTOK_Full, clang::driver::SanitizerArgs::needsLTO(), clang::codegenoptions::NoDebugInfo, None, Offset, clang::driver::Action::OFK_Cuda, clang::driver::Action::OFK_HIP, clang::driver::Action::OFK_Host, clang::driver::Action::OFK_None, clang::driver::Action::OFK_OpenMP, clang::driver::Driver::OMPRT_IOMP5, clang::driver::Driver::OMPRT_OMP, clang::driver::tools::ParseFunctionAlignment(), ParseMPreferVectorWidth(), clang::driver::tools::ParsePICArgs(), RelocationModelName(), RenderAnalyzerOptions(), RenderARCMigrateToolOptions(), RenderBuiltinOptions(), RenderCharacterOptions(), RenderDebugOptions(), RenderDiagnosticsOptions(), RenderFloatingPointOptions(), RenderModulesOptions(), RenderObjCOptions(), RenderOpenCLOptions(), RenderSSPOptions(), RenderTrivialAutoVarInitOptions(), clang::driver::Driver::ResourceDir, clang::driver::ToolChain::RM_Disabled, ShouldDisableAutolink(), ShouldDisableDwarfDirectory(), shouldEnableVectorizerAtOLevel(), shouldUseFramePointer(), shouldUseLeafFramePointer(), clang::driver::tools::SplitDebugName(), Std, clang::driver::types::TY_INVALID, clang::driver::options::Unsupported, and v.

## ◆ getBaseInputName()

const char * Clang::getBaseInputName | ( | const llvm::opt::ArgList & | Args,
|  | const InputInfo & | Input
| ) |  |
| static

Definition at line 5800 of file Clang.cpp.

References clang::driver::InputInfo::getBaseInput().

Referenced by clang::driver::tools::ClangAs::ConstructJob(), and getBaseInputStem().

## ◆ getBaseInputStem()

const char * Clang::getBaseInputStem | ( | const llvm::opt::ArgList & | Args,
|  | const InputInfoList & | Inputs
| ) |  |
| static

Definition at line 5805 of file Clang.cpp.

References End, and getBaseInputName().

Referenced by getDependencyFileName().

## ◆ getDependencyFileName()

const char * Clang::getDependencyFileName | ( | const llvm::opt::ArgList & | Args,
|  | const InputInfoList & | Inputs
| ) |  |
| static

Definition at line 5815 of file Clang.cpp.

References getBaseInputStem().

## ◆ hasGoodDiagnostics()

bool clang::driver::tools::Clang::hasGoodDiagnostics | ( |  | ) | const
| inline override virtual

Does this tool have "good" standardized diagnostics, or should the driver add an additional "command failed" diagnostic on failures.

Reimplemented from clang::driver::Tool.

Definition at line 103 of file Clang.h.

## ◆ hasIntegratedAssembler()

bool clang::driver::tools::Clang::hasIntegratedAssembler | ( |  | ) | const
| inline override virtual

Reimplemented from clang::driver::Tool.

Definition at line 104 of file Clang.h.

## ◆ hasIntegratedCPP()

bool clang::driver::tools::Clang::hasIntegratedCPP | ( |  | ) | const
| inline override virtual

Implements clang::driver::Tool.

Definition at line 105 of file Clang.h.

The documentation for this class was generated from the following files:

- lib/Driver/ToolChains/Clang.h
- lib/Driver/ToolChains/Clang.cpp