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

Clang compiler tool. More...

#include "/home/runner/work/llvm/llvm/repo/clang/lib/Driver/ToolChains/Clang.h"

Inheritance diagram for clang::driver::tools::Clang:
Inheritance graph
[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. More...
 
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. More...
 
- 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. 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)
 

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

◆ ~Clang()

Clang::~Clang ( )
override

Definition at line 8801 of file Clang.cpp.

Member Function Documentation

◆ canEmitIR()

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

Reimplemented from clang::driver::Tool.

Definition at line 118 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 5182 of file Clang.cpp.

References clang::driver::ToolChain::addClangTargetOptions(), clang::driver::ToolChain::addClangWarningOptions(), addDashXForInput(), clang::driver::Driver::addSYCLTargetMacroArg(), clang::driver::ResponseFileSupport::AtFileUTF8(), clang::driver::Driver::CCCIsCXX(), CheckCodeGenerationOptions(), CollectArgsForIntegratedAssembler(), clang::CUDA_90, clang::CudaVersionToString(), clang::Device, clang::driver::Driver::Diag(), clang::driver::ToolChain::getArch(), clang::driver::ToolChain::getAuxTriple(), clang::driver::InputInfo::getBaseInput(), clang::driver::Driver::getClangProgramPath(), clang::driver::Driver::getDeviceTraitsMacrosArgs(), clang::driver::ToolChain::getDriver(), clang::driver::ToolChain::getEffectiveTriple(), clang::driver::InputInfo::getFilename(), clang::driver::tools::SYCL::gen::getGenDeviceMacro(), clang::driver::Driver::getIntegrationFooter(), clang::driver::Driver::getIntegrationHeader(), clang::driver::Driver::getLTOMode(), clang::driver::Action::getOffloadingArch(), clang::driver::Action::getOffloadingDeviceKind(), clang::driver::Driver::getPrependArg(), clang::driver::types::getPreprocessedType(), clang::driver::Driver::getSYCLTargetMacroArgs(), clang::driver::Driver::getSYCLUniqueID(), clang::driver::ToolChain::getTriple(), clang::driver::Action::getType(), clang::driver::InputInfo::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::Action::isHostOffloading(), clang::driver::types::isLLVMIR(), clang::driver::InputInfo::isNothing(), clang::driver::Action::isOffloading(), clang::driver::isOptimizationLevelFast(), clang::driver::isSYCLNativeCPU(), isSYCLOptimizationO2orHigher(), clang::driver::Driver::isUsingLTO(), clang::driver::LTOK_Full, clang::driver::LTOK_Thin, min(), 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::Action::OFK_SYCL, clang::driver::tools::ParseFunctionAlignment(), RenderAnalyzerOptions(), RenderFloatingPointOptions(), clang::SM_53, clang::StringToCudaArch(), clang::driver::types::TY_INVALID, clang::UNKNOWN, and clang::driver::ToolChain::useIntegratedAs().

◆ 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 9199 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 9209 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 114 of file Clang.h.

◆ hasIntegratedAssembler()

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

Reimplemented from clang::driver::Tool.

Definition at line 115 of file Clang.h.

◆ hasIntegratedBackend()

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

Reimplemented from clang::driver::Tool.

Definition at line 116 of file Clang.h.

◆ hasIntegratedCPP()

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

Implements clang::driver::Tool.

Definition at line 117 of file Clang.h.


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