clang API Documentation

Public Member Functions | Static Public Member Functions
clang::driver::tools::Clang Class Reference

Clang compiler tool. More...

#include <Tools.h>

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

List of all members.

Public Member Functions

 Clang (const ToolChain &TC)
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 hasIntegratedCPP () 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

Static Public Member Functions

static const char * getBaseInputName (const llvm::opt::ArgList &Args, const InputInfoList &Inputs)
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 40 of file Tools.h.


Constructor & Destructor Documentation

Definition at line 93 of file Tools.h.


Member Function Documentation

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 2477 of file Tools.cpp.

References clang::driver::SanitizerArgs::addArgs(), clang::driver::Compilation::addCommand(), addDashXForInput(), addDebugCompDirArg(), addExceptionArgs(), clang::driver::Compilation::addTempFile(), clang::driver::Driver::CCCUsePCH, clang::driver::Driver::CCGenDiagnostics, clang::driver::Driver::CCLogDiagnostics, clang::driver::Driver::CCLogDiagnosticsFilename, clang::driver::Driver::CCPrintHeaders, clang::driver::Driver::CCPrintHeadersFilename, CheckCodeGenerationOptions(), CollectArgsForIntegratedAssembler(), clang::driver::ToolChain::CST_Libcxx, clang::driver::Driver::Diag(), EscapeSpacesAndBackslashes(), clang::ObjCRuntime::FragileMacOSX, clang::driver::Compilation::getArgs(), clang::driver::InputInfo::getBaseInput(), getCPUName(), clang::driver::Compilation::getDriver(), clang::driver::InputInfo::getFilename(), clang::ObjCRuntime::getKind(), getMSCompatibilityVersion(), clang::driver::types::getPreprocessedType(), getTargetFeatures(), clang::driver::InputInfo::getType(), clang::driver::Action::getType(), clang::driver::Driver::IsCLMode(), clang::driver::types::isCXX(), clang::driver::InputInfo::isFilename(), clang::driver::Compilation::isForDiagnostics(), clang::ObjCRuntime::isLegacyDispatchDefaultForArch(), clang::ObjCRuntime::isNeXTFamily(), isNoCommonDefault(), clang::ObjCRuntime::isNonFragile(), clang::driver::InputInfo::isNothing(), clang::driver::types::isObjC(), isObjCAutoRefCount(), clang::driver::isOptimizationLevelFast(), isSignedCharDefault(), clang::driver::Driver::ResourceDir, clang::driver::SanitizerArgs::sanitizesVptr(), ShouldDisableAutolink(), ShouldDisableDwarfDirectory(), shouldEnableVectorizerAtOLevel(), shouldUseFramePointer(), shouldUseLeafFramePointer(), SplitDebugInfo(), SplitDebugName(), clang::LangOptions::SSPOn, clang::LangOptions::SSPReq, clang::LangOptions::SSPStrong, clang::driver::types::TY_INVALID, and clang::driver::options::Unsupported.

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

Definition at line 5495 of file Tools.cpp.

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

Definition at line 5501 of file Tools.cpp.

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

Definition at line 5511 of file Tools.cpp.

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 95 of file Tools.h.

bool clang::driver::tools::Clang::hasIntegratedAssembler ( ) const [inline, override, virtual]

Reimplemented from clang::driver::Tool.

Definition at line 96 of file Tools.h.

bool clang::driver::tools::Clang::hasIntegratedCPP ( ) const [inline, override, virtual]

Implements clang::driver::Tool.

Definition at line 97 of file Tools.h.


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