class Tool

Declaration

class Tool { /* full declaration omitted */ };

Description

Tool - Information on a specific compilation tool.

Declared at: clang/include/clang/Driver/Tool.h:32

Member Variables

private const char* Name
The tool name (for debugging).
private const char* ShortName
The human readable name for the tool, for use in diagnostics.
private const clang::driver::ToolChain& TheToolChain
The tool chain this tool is a part of.

Method Overview

  • public virtual void ConstructJob(clang::driver::Compilation & C, const clang::driver::JobAction & JA, const clang::driver::InputInfo & Output, const clang::driver::InputInfoList & Inputs, const llvm::opt::ArgList & TCArgs, const char * LinkingOutput) const
  • public virtual void ConstructJobMultipleOutputs(clang::driver::Compilation & C, const clang::driver::JobAction & JA, const clang::driver::InputInfoList & Outputs, const clang::driver::InputInfoList & Inputs, const llvm::opt::ArgList & TCArgs, const char * LinkingOutput) const
  • public Tool(const char * Name, const char * ShortName, const clang::driver::ToolChain & TC)
  • public virtual bool canEmitIR() const
  • public const char * getName() const
  • public const char * getShortName() const
  • public const clang::driver::ToolChain & getToolChain() const
  • public virtual bool hasGoodDiagnostics() const
  • public virtual bool hasIntegratedAssembler() const
  • public virtual bool hasIntegratedBackend() const
  • public virtual bool hasIntegratedCPP() const
  • public virtual bool isDsymutilJob() const
  • public virtual bool isLinkJob() const
  • public virtual ~Tool()

Methods

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

Description

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

Declared at: clang/include/clang/Driver/Tool.h:73

Parameters

clang::driver::Compilation& C
const clang::driver::JobAction& JA
const clang::driver::InputInfo& Output
const clang::driver::InputInfoList& Inputs
const llvm::opt::ArgList& TCArgs
- The argument list for this toolchain, with any tool chain specific translations applied.
const char* LinkingOutput
- If this output will eventually feed the linker, then this is the final output name of the linked image.

virtual void ConstructJobMultipleOutputs(
    clang::driver::Compilation& C,
    const clang::driver::JobAction& JA,
    const clang::driver::InputInfoList& Outputs,
    const clang::driver::InputInfoList& Inputs,
    const llvm::opt::ArgList& TCArgs,
    const char* LinkingOutput) const

Description

Construct jobs to perform the action \p JA, writing to the \p Outputs and with \p Inputs, and add the jobs to \p C. The default implementation assumes a single output and is expected to be overloaded for the tools that support multiple inputs.

Declared at: clang/include/clang/Driver/Tool.h:87

Parameters

clang::driver::Compilation& C
const clang::driver::JobAction& JA
const clang::driver::InputInfoList& Outputs
const clang::driver::InputInfoList& Inputs
const llvm::opt::ArgList& TCArgs
The argument list for this toolchain, with any tool chain specific translations applied.
const char* LinkingOutput
If this output will eventually feed the linker, then this is the final output name of the linked image.

Tool(const char* Name,
     const char* ShortName,
     const clang::driver::ToolChain& TC)

Declared at: clang/include/clang/Driver/Tool.h:43

Parameters

const char* Name
const char* ShortName
const clang::driver::ToolChain& TC

virtual bool canEmitIR() const

Declared at: clang/include/clang/Driver/Tool.h:56

const char* getName() const

Declared at: clang/include/clang/Driver/Tool.h:48

const char* getShortName() const

Declared at: clang/include/clang/Driver/Tool.h:50

const clang::driver::ToolChain& getToolChain()
    const

Declared at: clang/include/clang/Driver/Tool.h:52

virtual bool hasGoodDiagnostics() const

Description

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

Declared at: clang/include/clang/Driver/Tool.h:63

virtual bool hasIntegratedAssembler() const

Declared at: clang/include/clang/Driver/Tool.h:54

virtual bool hasIntegratedBackend() const

Declared at: clang/include/clang/Driver/Tool.h:55

virtual bool hasIntegratedCPP() const

Declared at: clang/include/clang/Driver/Tool.h:57

virtual bool isDsymutilJob() const

Declared at: clang/include/clang/Driver/Tool.h:59

virtual bool isLinkJob() const

Declared at: clang/include/clang/Driver/Tool.h:58

virtual ~Tool()

Declared at: clang/include/clang/Driver/Tool.h:46