clang 22.0.0git
clang::driver::tools::Clang Class Reference

Clang compiler tool. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/Driver/ToolChains/Clang.h"

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

Public Member Functions

 Clang (const ToolChain &TC, bool HasIntegratedBackend=true)
 ~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.
bool hasIntegratedAssembler () const override
bool hasIntegratedBackend () 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.
Public Member Functions inherited from clang::driver::Tool
 Tool (const char *Name, const char *ShortName, const ToolChain &TC)
virtual ~Tool ()
const char * getName () const
const char * getShortName () const
const ToolChaingetToolChain () const
virtual bool isLinkJob () const
virtual bool isDsymutilJob () const
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.

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)

Detailed Description

Clang compiler tool.

Definition at line 28 of file Clang.h.

Constructor & Destructor Documentation

◆ Clang()

Clang::Clang ( const ToolChain & TC,
bool HasIntegratedBackend = true )

Definition at line 8026 of file Clang.cpp.

References clang::driver::Tool::Tool().

◆ ~Clang()

Clang::~Clang ( )
override

Definition at line 8032 of file Clang.cpp.

Member Function Documentation

◆ canEmitIR()

bool clang::driver::tools::Clang::canEmitIR ( ) const
inlineoverridevirtual

Reimplemented from clang::driver::Tool.

Definition at line 113 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
overridevirtual

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 4837 of file Clang.cpp.

References clang::driver::XRayArgs::addArgs(), clang::driver::ToolChain::addClangTargetOptions(), clang::driver::ToolChain::addClangWarningOptions(), addDashXForInput(), addExceptionArgs(), clang::driver::tools::addMachineOutlinerArgs(), clang::driver::tools::addMCModel(), clang::driver::tools::addOpenMPHostOffloadingArgs(), clang::driver::tools::addOutlineAtomicsArgs(), addPGOAndCoverageFlags(), clang::driver::tools::PScpu::addProfileRTArgs(), clang::driver::tools::PScpu::addSanitizerArgs(), clang::CodeGenOptions::All, Arch, clang::Asm, clang::driver::ToolChain::Asynchronous, clang::driver::ResponseFileSupport::AtFileUTF8(), bytes(), clang::C, clang::driver::ToolChain::canSplitThinLTOUnit(), clang::cast(), clang::driver::Driver::CC1Main, clang::driver::Driver::CCCIsCXX(), clang::driver::Driver::CCGenDiagnostics, clang::driver::Driver::CCLogDiagnostics, clang::driver::Driver::CCLogDiagnosticsFilename, clang::driver::Driver::CCPrintHeadersFilename, clang::driver::Driver::CCPrintHeadersFiltering, clang::driver::Driver::CCPrintHeadersFormat, clang::driver::Driver::CCPrintInternalStats, CheckCodeGenerationOptions(), checkRemarksOptions(), clang::driver::tools::claimNoWarnArgs(), CollectArgsForIntegratedAssembler(), clang::driver::ToolChain::computeMSVCVersion(), clang::CUDA_90, clang::CudaVersionToString(), clang::driver::Driver::Diag(), clang::diagGroupFromCLWarningID(), clang::driver::ToolChain::getArch(), clang::driver::ToolChain::getAuxTriple(), clang::driver::InputInfo::getBaseInput(), getBaseInputName(), getBaseInputStem(), clang::driver::Driver::getClangProgramPath(), clang::driver::tools::getCPUName(), clang::driver::ToolChain::getDefaultUnwindTableLevel(), clang::driver::Driver::getDiags(), clang::driver::ToolChain::getDriver(), clang::driver::ToolChain::getEffectiveTriple(), clang::driver::ToolChain::GetExceptionModel(), clang::driver::InputInfo::getFilename(), getFramePointerKind(), clang::driver::InputInfo::getInputArg(), clang::driver::ToolChain::getInputFilename(), clang::driver::Action::getInputs(), clang::driver::Action::getKind(), clang::driver::tools::getLastProfileSampleUseArg(), clang::driver::Driver::getLTOMode(), clang::driver::Action::getOffloadingDeviceKind(), clang::driver::Driver::getOffloadLTOMode(), clang::driver::Driver::getOpenMPRuntime(), clang::driver::Driver::getPrependArg(), clang::driver::types::getPreprocessedType(), clang::driver::ToolChain::getRTTIMode(), clang::driver::ToolChain::getSanitizerArgs(), clang::driver::tools::getStatsFileName(), clang::driver::tools::getTargetFeatures(), clang::driver::ToolChain::getThreadModel(), clang::driver::Tool::getToolChain(), clang::driver::ToolChain::getTriple(), clang::driver::ToolChain::getTripleString(), clang::driver::Action::getType(), clang::driver::InputInfo::getType(), getType(), clang::driver::types::getTypeName(), clang::driver::Driver::getVFS(), clang::DiagnosticIDs::getWarningOptionForGroup(), clang::driver::ToolChain::getXRayArgs(), handleAMDGPUCodeObjectVersionOptions(), clang::driver::tools::handleVectorizeLoopsArgs(), clang::driver::tools::handleVectorizeSLPArgs(), clang::driver::ToolChain::hasBlocksRuntime(), clang::headerIncludeFilteringKindToString(), clang::headerIncludeFormatKindToString(), clang::driver::Action::InputClass, clang::Invalid, clang::isa(), clang::driver::ToolChain::IsBlocksDefault(), clang::driver::Driver::IsCLMode(), clang::driver::types::isCXX(), clang::driver::Action::isDeviceOffloading(), clang::driver::ToolChain::IsEncodeExtendedBlockSignatureDefault(), clang::driver::InputInfo::isFilename(), clang::driver::Distro::IsGentoo(), clang::driver::Action::isHostOffloading(), clang::driver::ToolChain::IsIntegratedAssemblerDefault(), clang::driver::types::isLLVMIR(), clang::ObjCRuntime::isNeXTFamily(), clang::driver::InputInfo::isNothing(), clang::driver::types::isObjC(), clang::driver::Action::isOffloading(), clang::driver::types::isOpenCL(), clang::driver::isOptimizationLevelFast(), clang::driver::ToolChain::isThreadModelSupported(), clang::driver::tools::isTLSDESCEnabled(), clang::driver::tools::isUseSeparateSections(), clang::driver::LTOK_Full, clang::driver::LTOK_None, clang::driver::LTOK_Thin, clang::Macro, clang::CodeGenOptions::None, clang::driver::tools::None, clang::CodeGenOptions::NonLeaf, clang::Num, 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::Action::OFK_SYCL, clang::driver::Driver::OMPRT_IOMP5, clang::driver::Driver::OMPRT_OMP, clang::driver::tools::ParseFunctionAlignment(), clang::driver::ToolChain::parseInlineAsmUsingAsmParser(), clang::driver::tools::parseMPreferVectorWidthOption(), clang::driver::tools::ParsePICArgs(), ProcessVSRuntimeLibrary(), clang::driver::tools::RelocationModelName(), RenderAnalyzerOptions(), RenderBuiltinOptions(), RenderCharacterOptions(), clang::driver::tools::renderCommonIntegerOverflowOptions(), renderDebugOptions(), RenderDiagnosticsOptions(), clang::driver::tools::renderEscapedCommandLine(), RenderFloatingPointOptions(), RenderHLSLOptions(), RenderModulesOptions(), RenderObjCOptions(), RenderOpenACCOptions(), RenderOpenCLOptions(), renderRemarksOptions(), RenderSCPOptions(), RenderSSPOptions(), RenderTrivialAutoVarInitOptions(), clang::CodeGenOptions::Reserved, clang::driver::Driver::ResourceDir, clang::driver::ToolChain::RLT_CompilerRT, clang::driver::ToolChain::RM_Disabled, ShouldEnableAutolink(), clang::driver::tools::shouldRecordCommandLine(), clang::driver::tools::Split, clang::driver::tools::SplitDebugName(), clang::driver::ToolChain::SupportsProfiling(), clang::driver::ToolChain::Synchronous, clang::driver::types::TY_INVALID, clang::UNKNOWN, clang::driver::ToolChain::UseDwarfDebugFlags(), clang::driver::ToolChain::useIntegratedAs(), V, and clang::driver::willEmitRemarks().

◆ getBaseInputName()

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

◆ getBaseInputStem()

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

Definition at line 8442 of file Clang.cpp.

References getBaseInputName().

Referenced by ConstructJob(), and getDependencyFileName().

◆ getDependencyFileName()

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

Definition at line 8452 of file Clang.cpp.

References getBaseInputStem().

◆ hasGoodDiagnostics()

bool clang::driver::tools::Clang::hasGoodDiagnostics ( ) const
inlineoverridevirtual

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 109 of file Clang.h.

◆ hasIntegratedAssembler()

bool clang::driver::tools::Clang::hasIntegratedAssembler ( ) const
inlineoverridevirtual

Reimplemented from clang::driver::Tool.

Definition at line 110 of file Clang.h.

◆ hasIntegratedBackend()

bool clang::driver::tools::Clang::hasIntegratedBackend ( ) const
inlineoverridevirtual

Reimplemented from clang::driver::Tool.

Definition at line 111 of file Clang.h.

◆ hasIntegratedCPP()

bool clang::driver::tools::Clang::hasIntegratedCPP ( ) const
inlineoverridevirtual

Implements clang::driver::Tool.

Definition at line 112 of file Clang.h.


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