using namespace clang;
using namespace llvm::opt;
-Windows::Windows(const Driver &D, const llvm::Triple& Triple,
- const ArgList &Args)
+MSVCToolChain::MSVCToolChain(const Driver &D, const llvm::Triple& Triple,
+ const ArgList &Args)
: ToolChain(D, Triple, Args) {
}
-Tool *Windows::buildLinker() const {
+Tool *MSVCToolChain::buildLinker() const {
return new tools::visualstudio::Link(*this);
}
-Tool *Windows::buildAssembler() const {
+Tool *MSVCToolChain::buildAssembler() const {
if (getTriple().isOSBinFormatMachO())
return new tools::darwin::Assemble(*this);
getDriver().Diag(clang::diag::err_no_external_assembler);
return nullptr;
}
-bool Windows::IsIntegratedAssemblerDefault() const {
+bool MSVCToolChain::IsIntegratedAssemblerDefault() const {
return true;
}
-bool Windows::IsUnwindTablesDefault() const {
+bool MSVCToolChain::IsUnwindTablesDefault() const {
// Emit unwind tables by default on Win64. All non-x86_32 Windows platforms
// such as ARM and PPC actually require unwind tables, but LLVM doesn't know
// how to generate them yet.
return getArch() == llvm::Triple::x86_64;
}
-bool Windows::isPICDefault() const {
+bool MSVCToolChain::isPICDefault() const {
return getArch() == llvm::Triple::x86_64;
}
-bool Windows::isPIEDefault() const {
+bool MSVCToolChain::isPIEDefault() const {
return false;
}
-bool Windows::isPICDefaultForced() const {
+bool MSVCToolChain::isPICDefaultForced() const {
return getArch() == llvm::Triple::x86_64;
}
return false;
}
-void Windows::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
- ArgStringList &CC1Args) const {
+void MSVCToolChain::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
+ ArgStringList &CC1Args) const {
if (DriverArgs.hasArg(options::OPT_nostdinc))
return;
addSystemIncludes(DriverArgs, CC1Args, Paths);
}
-void Windows::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
- ArgStringList &CC1Args) const {
+void MSVCToolChain::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
+ ArgStringList &CC1Args) const {
// FIXME: There should probably be logic here to find libc++ on Windows.
}
bool isPICDefaultForced() const override;
};
-class LLVM_LIBRARY_VISIBILITY Windows : public ToolChain {
+class LLVM_LIBRARY_VISIBILITY MSVCToolChain : public ToolChain {
public:
- Windows(const Driver &D, const llvm::Triple &Triple,
- const llvm::opt::ArgList &Args);
+ MSVCToolChain(const Driver &D, const llvm::Triple &Triple,
+ const llvm::opt::ArgList &Args);
bool IsIntegratedAssemblerDefault() const override;
bool IsUnwindTablesDefault() const override;