class Clang
Declaration
class Clang : public Tool { /* full declaration omitted */ };
Description
Clang compiler tool.
Declared at: clang/lib/Driver/ToolChains/Clang.h:28
Inherits from: Tool
Member Variables
- private bool HasBackend
- private std::unique_ptr<llvm::raw_fd_ostream> CompilationDatabase = nullptr
Method Overview
- private void AddAArch64TargetArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- private void AddARM64TargetArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- private void AddARMTargetArgs(const llvm::Triple & Triple, const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs, bool KernelOrKext) const
- private void AddClangCLArgs(const llvm::opt::ArgList & Args, types::ID InputType, llvm::opt::ArgStringList & CmdArgs, codegenoptions::DebugInfoKind * DebugInfoKind, bool * EmitCodeView) const
- private void AddHexagonTargetArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- private void AddLanaiTargetArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- private void AddMIPSTargetArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- private clang::ObjCRuntime AddObjCRuntimeArgs(const llvm::opt::ArgList & args, const clang::driver::InputInfoList & inputs, llvm::opt::ArgStringList & cmdArgs, clang::driver::tools::Clang::RewriteKind rewrite) const
- private void AddPPCTargetArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- private void AddPreprocessingOptions(clang::driver::Compilation & C, const clang::driver::JobAction & JA, const clang::driver::Driver & D, const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs, const clang::driver::InputInfo & Output, const clang::driver::InputInfoList & Inputs) const
- private void AddR600TargetArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- private void AddRISCVTargetArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- private void AddSparcTargetArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- private void AddSystemZTargetArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- private void AddVETargetArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- private void AddWebAssemblyTargetArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- private void AddX86TargetArgs(const llvm::opt::ArgList & Args, llvm::opt::ArgStringList & CmdArgs) const
- public Clang(const clang::driver::ToolChain & TC, bool HasIntegratedBackend = true)
- public 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
- private void DumpCompilationDatabase(clang::driver::Compilation & C, llvm::StringRef Filename, llvm::StringRef Target, const clang::driver::InputInfo & Output, const clang::driver::InputInfo & Input, const llvm::opt::ArgList & Args) const
- private void DumpCompilationDatabaseFragmentToDir(llvm::StringRef Dir, clang::driver::Compilation & C, llvm::StringRef Target, const clang::driver::InputInfo & Output, const clang::driver::InputInfo & Input, const llvm::opt::ArgList & Args) const
- private void RenderTargetOptions(const llvm::Triple & EffectiveTriple, const llvm::opt::ArgList & Args, bool KernelOrKext, llvm::opt::ArgStringList & CmdArgs) const
- public bool canEmitIR() const
- public static const char * getBaseInputName(const llvm::opt::ArgList & Args, const clang::driver::InputInfo & Input)
- public static const char * getBaseInputStem(const llvm::opt::ArgList & Args, const clang::driver::InputInfoList & Inputs)
- public static const char * getDependencyFileName(const llvm::opt::ArgList & Args, const clang::driver::InputInfoList & Inputs)
- public bool hasGoodDiagnostics() const
- public bool hasIntegratedAssembler() const
- public bool hasIntegratedBackend() const
- public bool hasIntegratedCPP() const
- public ~Clang()
Inherited from Tool:
- public ConstructJob
- public ConstructJobMultipleOutputs
- public canEmitIR
- public getName
- public getShortName
- public getToolChain
- public hasGoodDiagnostics
- public hasIntegratedAssembler
- public hasIntegratedBackend
- public hasIntegratedCPP
- public isDsymutilJob
- public isLinkJob
Methods
¶void AddAArch64TargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
void AddAArch64TargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:52
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
¶void AddARM64TargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
void AddARM64TargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:58
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
¶void AddARMTargetArgs(
const llvm::Triple& Triple,
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs,
bool KernelOrKext) const
void AddARMTargetArgs(
const llvm::Triple& Triple,
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs,
bool KernelOrKext) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:54
Parameters
- const llvm::Triple& Triple
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
- bool KernelOrKext
¶void AddClangCLArgs(
const llvm::opt::ArgList& Args,
types::ID InputType,
llvm::opt::ArgStringList& CmdArgs,
codegenoptions::DebugInfoKind* DebugInfoKind,
bool* EmitCodeView) const
void AddClangCLArgs(
const llvm::opt::ArgList& Args,
types::ID InputType,
llvm::opt::ArgStringList& CmdArgs,
codegenoptions::DebugInfoKind* DebugInfoKind,
bool* EmitCodeView) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:90
Parameters
- const llvm::opt::ArgList& Args
- types::ID InputType
- llvm::opt::ArgStringList& CmdArgs
- codegenoptions::DebugInfoKind* DebugInfoKind
- bool* EmitCodeView
¶void AddHexagonTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
void AddHexagonTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:74
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
¶void AddLanaiTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
void AddLanaiTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:76
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
¶void AddMIPSTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
void AddMIPSTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:60
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
¶clang::ObjCRuntime AddObjCRuntimeArgs(
const llvm::opt::ArgList& args,
const clang::driver::InputInfoList& inputs,
llvm::opt::ArgStringList& cmdArgs,
clang::driver::tools::Clang::RewriteKind
rewrite) const
clang::ObjCRuntime AddObjCRuntimeArgs(
const llvm::opt::ArgList& args,
const clang::driver::InputInfoList& inputs,
llvm::opt::ArgStringList& cmdArgs,
clang::driver::tools::Clang::RewriteKind
rewrite) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:85
Parameters
- const llvm::opt::ArgList& args
- const clang::driver::InputInfoList& inputs
- llvm::opt::ArgStringList& cmdArgs
- clang::driver::tools::Clang::RewriteKind rewrite
¶void AddPPCTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
void AddPPCTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:62
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
¶void AddPreprocessingOptions(
clang::driver::Compilation& C,
const clang::driver::JobAction& JA,
const clang::driver::Driver& D,
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs,
const clang::driver::InputInfo& Output,
const clang::driver::InputInfoList& Inputs)
const
void AddPreprocessingOptions(
clang::driver::Compilation& C,
const clang::driver::JobAction& JA,
const clang::driver::Driver& D,
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs,
const clang::driver::InputInfo& Output,
const clang::driver::InputInfoList& Inputs)
const
Declared at: clang/lib/Driver/ToolChains/Clang.h:42
Parameters
- clang::driver::Compilation& C
- const clang::driver::JobAction& JA
- const clang::driver::Driver& D
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
- const clang::driver::InputInfo& Output
- const clang::driver::InputInfoList& Inputs
¶void AddR600TargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
void AddR600TargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:64
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
¶void AddRISCVTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
void AddRISCVTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:66
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
¶void AddSparcTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
void AddSparcTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:68
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
¶void AddSystemZTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
void AddSystemZTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:70
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
¶void AddVETargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
void AddVETargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:80
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
¶void AddWebAssemblyTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
void AddWebAssemblyTargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:78
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
¶void AddX86TargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
void AddX86TargetArgs(
const llvm::opt::ArgList& Args,
llvm::opt::ArgStringList& CmdArgs) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:72
Parameters
- const llvm::opt::ArgList& Args
- llvm::opt::ArgStringList& CmdArgs
¶Clang(const clang::driver::ToolChain& TC,
bool HasIntegratedBackend = true)
Clang(const clang::driver::ToolChain& TC,
bool HasIntegratedBackend = true)
Declared at: clang/lib/Driver/ToolChains/Clang.h:106
Parameters
- const clang::driver::ToolChain& TC
- bool HasIntegratedBackend = true
¶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
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/lib/Driver/ToolChains/Clang.h:115
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.
¶void DumpCompilationDatabase(
clang::driver::Compilation& C,
llvm::StringRef Filename,
llvm::StringRef Target,
const clang::driver::InputInfo& Output,
const clang::driver::InputInfo& Input,
const llvm::opt::ArgList& Args) const
void DumpCompilationDatabase(
clang::driver::Compilation& C,
llvm::StringRef Filename,
llvm::StringRef Target,
const clang::driver::InputInfo& Output,
const clang::driver::InputInfo& Input,
const llvm::opt::ArgList& Args) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:96
Parameters
- clang::driver::Compilation& C
- llvm::StringRef Filename
- llvm::StringRef Target
- const clang::driver::InputInfo& Output
- const clang::driver::InputInfo& Input
- const llvm::opt::ArgList& Args
¶void DumpCompilationDatabaseFragmentToDir(
llvm::StringRef Dir,
clang::driver::Compilation& C,
llvm::StringRef Target,
const clang::driver::InputInfo& Output,
const clang::driver::InputInfo& Input,
const llvm::opt::ArgList& Args) const
void DumpCompilationDatabaseFragmentToDir(
llvm::StringRef Dir,
clang::driver::Compilation& C,
llvm::StringRef Target,
const clang::driver::InputInfo& Output,
const clang::driver::InputInfo& Input,
const llvm::opt::ArgList& Args) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:101
Parameters
- llvm::StringRef Dir
- clang::driver::Compilation& C
- llvm::StringRef Target
- const clang::driver::InputInfo& Output
- const clang::driver::InputInfo& Input
- const llvm::opt::ArgList& Args
¶void RenderTargetOptions(
const llvm::Triple& EffectiveTriple,
const llvm::opt::ArgList& Args,
bool KernelOrKext,
llvm::opt::ArgStringList& CmdArgs) const
void RenderTargetOptions(
const llvm::Triple& EffectiveTriple,
const llvm::opt::ArgList& Args,
bool KernelOrKext,
llvm::opt::ArgStringList& CmdArgs) const
Declared at: clang/lib/Driver/ToolChains/Clang.h:48
Parameters
- const llvm::Triple& EffectiveTriple
- const llvm::opt::ArgList& Args
- bool KernelOrKext
- llvm::opt::ArgStringList& CmdArgs
¶bool canEmitIR() const
bool canEmitIR() const
Declared at: clang/lib/Driver/ToolChains/Clang.h:113
¶static const char* getBaseInputName(
const llvm::opt::ArgList& Args,
const clang::driver::InputInfo& Input)
static const char* getBaseInputName(
const llvm::opt::ArgList& Args,
const clang::driver::InputInfo& Input)
Declared at: clang/lib/Driver/ToolChains/Clang.h:34
Parameters
- const llvm::opt::ArgList& Args
- const clang::driver::InputInfo& Input
¶static const char* getBaseInputStem(
const llvm::opt::ArgList& Args,
const clang::driver::InputInfoList& Inputs)
static const char* getBaseInputStem(
const llvm::opt::ArgList& Args,
const clang::driver::InputInfoList& Inputs)
Declared at: clang/lib/Driver/ToolChains/Clang.h:36
Parameters
- const llvm::opt::ArgList& Args
- const clang::driver::InputInfoList& Inputs
¶static const char* getDependencyFileName(
const llvm::opt::ArgList& Args,
const clang::driver::InputInfoList& Inputs)
static const char* getDependencyFileName(
const llvm::opt::ArgList& Args,
const clang::driver::InputInfoList& Inputs)
Declared at: clang/lib/Driver/ToolChains/Clang.h:38
Parameters
- const llvm::opt::ArgList& Args
- const clang::driver::InputInfoList& Inputs
¶bool hasGoodDiagnostics() const
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/lib/Driver/ToolChains/Clang.h:109
¶bool hasIntegratedAssembler() const
bool hasIntegratedAssembler() const
Declared at: clang/lib/Driver/ToolChains/Clang.h:110
¶bool hasIntegratedBackend() const
bool hasIntegratedBackend() const
Declared at: clang/lib/Driver/ToolChains/Clang.h:111
¶bool hasIntegratedCPP() const
bool hasIntegratedCPP() const
Declared at: clang/lib/Driver/ToolChains/Clang.h:112
¶~Clang()
~Clang()
Declared at: clang/lib/Driver/ToolChains/Clang.h:107