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().