clang API Documentation

Public Member Functions | Protected Member Functions
clang::driver::toolchains::MSVCToolChain Class Reference

#include <ToolChains.h>

Inheritance diagram for clang::driver::toolchains::MSVCToolChain:
Inheritance graph
[legend]
Collaboration diagram for clang::driver::toolchains::MSVCToolChain:
Collaboration graph
[legend]

List of all members.

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
ToolbuildLinker () const override
ToolbuildAssembler () const override

Detailed Description

Definition at line 732 of file ToolChains.h.


Constructor & Destructor Documentation

MSVCToolChain::MSVCToolChain ( const Driver D,
const llvm::Triple &  Triple,
const llvm::opt::ArgList &  Args 
)

Definition at line 43 of file MSVCToolChain.cpp.


Member Function Documentation

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]
Tool * MSVCToolChain::buildAssembler ( ) const [override, protected, virtual]
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
bool MSVCToolChain::getVisualStudioInstallDir ( std::string &  path) const
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().


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