clang API Documentation
#include <ToolChains.h>
Public Member Functions | |
MSVCToolChain (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) | |
bool | IsIntegratedAssemblerDefault () const override |
bool | IsUnwindTablesDefault () const override |
bool | isPICDefault () const override |
Test whether this toolchain defaults to PIC. | |
bool | isPIEDefault () const override |
Test whether this toolchain defaults to PIE. | |
bool | isPICDefaultForced () const override |
Tests whether this toolchain forces its default for PIC, PIE or non-PIC. If this returns true, any PIC related flags should be ignored and instead the results of isPICDefault() and isPIEDefault() are used exclusively. | |
void | AddClangSystemIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
Add the clang cc1 arguments for system include paths. | |
void | AddClangCXXStdlibIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
bool | getWindowsSDKDir (std::string &path, int &major, int &minor) const |
Get Windows SDK installation directory. | |
bool | getWindowsSDKLibraryPath (std::string &path) const |
bool | getVisualStudioInstallDir (std::string &path) const |
bool | getVisualStudioBinariesFolder (const char *clangProgramPath, std::string &path) const |
Protected Member Functions | |
void | AddSystemIncludeWithSubfolder (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, const std::string &folder, const char *subfolder) const |
Tool * | buildLinker () const override |
Tool * | buildAssembler () const override |
Definition at line 732 of file ToolChains.h.
MSVCToolChain::MSVCToolChain | ( | const Driver & | D, |
const llvm::Triple & | Triple, | ||
const llvm::opt::ArgList & | Args | ||
) |
Definition at line 43 of file MSVCToolChain.cpp.
void MSVCToolChain::AddClangCXXStdlibIncludeArgs | ( | const llvm::opt::ArgList & | DriverArgs, |
llvm::opt::ArgStringList & | CC1Args | ||
) | const [override, virtual] |
AddClangCXXStdlibIncludeArgs - Add the clang -cc1 level arguments to set the include paths to use for the given C++ standard library type.
Reimplemented from clang::driver::ToolChain.
Definition at line 488 of file MSVCToolChain.cpp.
void MSVCToolChain::AddClangSystemIncludeArgs | ( | const llvm::opt::ArgList & | DriverArgs, |
llvm::opt::ArgStringList & | CC1Args | ||
) | const [override, virtual] |
Add the clang cc1 arguments for system include paths.
This routine is responsible for adding the necessary cc1 arguments to include headers from standard system header directories.
Reimplemented from clang::driver::ToolChain.
Definition at line 424 of file MSVCToolChain.cpp.
References clang::driver::ToolChain::addSystemInclude(), clang::driver::ToolChain::addSystemIncludes(), AddSystemIncludeWithSubfolder(), clang::driver::ToolChain::getDriver(), getVisualStudioInstallDir(), getWindowsSDKDir(), and P.
void MSVCToolChain::AddSystemIncludeWithSubfolder | ( | const llvm::opt::ArgList & | DriverArgs, |
llvm::opt::ArgStringList & | CC1Args, | ||
const std::string & | folder, | ||
const char * | subfolder | ||
) | const [protected] |
Definition at line 415 of file MSVCToolChain.cpp.
References clang::driver::ToolChain::addSystemInclude().
Referenced by AddClangSystemIncludeArgs().
Tool * MSVCToolChain::buildAssembler | ( | ) | const [override, protected, virtual] |
Reimplemented from clang::driver::ToolChain.
Definition at line 52 of file MSVCToolChain.cpp.
References clang::driver::phases::Assemble, clang::driver::Driver::Diag(), clang::driver::ToolChain::getDriver(), and clang::driver::ToolChain::getTriple().
Tool * MSVCToolChain::buildLinker | ( | ) | const [override, protected, virtual] |
Reimplemented from clang::driver::ToolChain.
Definition at line 48 of file MSVCToolChain.cpp.
References clang::driver::phases::Link.
bool MSVCToolChain::getVisualStudioBinariesFolder | ( | const char * | clangProgramPath, |
std::string & | path | ||
) | const |
Definition at line 282 of file MSVCToolChain.cpp.
References clang::driver::ToolChain::getArch(), and getVisualStudioInstallDir().
bool MSVCToolChain::getVisualStudioInstallDir | ( | std::string & | path | ) | const |
Definition at line 360 of file MSVCToolChain.cpp.
References getSystemRegistryString().
Referenced by AddClangSystemIncludeArgs(), and getVisualStudioBinariesFolder().
bool MSVCToolChain::getWindowsSDKDir | ( | std::string & | path, |
int & | major, | ||
int & | minor | ||
) | const |
Get Windows SDK installation directory.
Definition at line 202 of file MSVCToolChain.cpp.
References getSystemRegistryString().
Referenced by AddClangSystemIncludeArgs(), and getWindowsSDKLibraryPath().
bool MSVCToolChain::getWindowsSDKLibraryPath | ( | std::string & | path | ) | const |
Definition at line 215 of file MSVCToolChain.cpp.
References clang::driver::ToolChain::getArch(), and getWindowsSDKDir().
bool MSVCToolChain::IsIntegratedAssemblerDefault | ( | ) | const [override, virtual] |
IsIntegratedAssemblerDefault - Does this tool chain enable -integrated-as by default.
Reimplemented from clang::driver::ToolChain.
Definition at line 59 of file MSVCToolChain.cpp.
bool MSVCToolChain::isPICDefault | ( | ) | const [override, virtual] |
Test whether this toolchain defaults to PIC.
Implements clang::driver::ToolChain.
Definition at line 70 of file MSVCToolChain.cpp.
References clang::driver::ToolChain::getArch().
bool MSVCToolChain::isPICDefaultForced | ( | ) | const [override, virtual] |
Tests whether this toolchain forces its default for PIC, PIE or non-PIC. If this returns true, any PIC related flags should be ignored and instead the results of isPICDefault()
and isPIEDefault()
are used exclusively.
Implements clang::driver::ToolChain.
Definition at line 78 of file MSVCToolChain.cpp.
References clang::driver::ToolChain::getArch().
bool MSVCToolChain::isPIEDefault | ( | ) | const [override, virtual] |
Test whether this toolchain defaults to PIE.
Implements clang::driver::ToolChain.
Definition at line 74 of file MSVCToolChain.cpp.
bool MSVCToolChain::IsUnwindTablesDefault | ( | ) | const [override, virtual] |
IsUnwindTablesDefault - Does this tool chain use -funwind-tables by default.
Reimplemented from clang::driver::ToolChain.
Definition at line 63 of file MSVCToolChain.cpp.
References clang::driver::ToolChain::getArch().