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

Clang compiler tool. More...

#include "/opt/doxygen-docs/src/llvm/tools/clang/lib/Driver/ToolChains/Clang.h"

Inheritance diagram for clang::driver::tools::Clang:
Inheritance graph
[legend]
Collaboration diagram for clang::driver::tools::Clang:
Collaboration graph
[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 ToolChaingetToolChain () 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 4680 of file Clang.cpp.

◆ ~Clang()

Clang::~Clang ( )
override

Member Function Documentation

◆ canEmitIR()

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

Reimplemented from clang::driver::Tool.

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

References clang::driver::Driver::Diag(), clang::driver::types::isCXX(), clang::driver::Action::isDeviceOffloading(), clang::driver::Action::isOffloading(), clang::driver::Action::OFK_Cuda, and clang::driver::Action::OFK_OpenMP.

◆ 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 5080 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 5090 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 101 of file Clang.h.

◆ hasIntegratedAssembler()

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

Reimplemented from clang::driver::Tool.

Definition at line 102 of file Clang.h.

◆ hasIntegratedCPP()

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

Implements clang::driver::Tool.

Definition at line 103 of file Clang.h.


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