[PATCH] D52574: NFC: Fix some darwin linker warnings introduced in r338385
This revision was automatically updated to reflect the committed changes. Closed by commit rC343263: NFC: Fix some darwin linker warnings introduced in r338385 (authored by epilk, committed by ). Changed prior to commit: https://reviews.llvm.org/D52574?vs=167193=167394#toc Repository: rC Clang https://reviews.llvm.org/D52574 Files: lib/Driver/CMakeLists.txt lib/Driver/Driver.cpp lib/Driver/ToolChains/RISCV.cpp lib/Driver/ToolChains/RISCV.h lib/Driver/ToolChains/RISCVToolchain.cpp lib/Driver/ToolChains/RISCVToolchain.h Index: lib/Driver/CMakeLists.txt === --- lib/Driver/CMakeLists.txt +++ lib/Driver/CMakeLists.txt @@ -57,7 +57,7 @@ ToolChains/NetBSD.cpp ToolChains/OpenBSD.cpp ToolChains/PS4CPU.cpp - ToolChains/RISCV.cpp + ToolChains/RISCVToolchain.cpp ToolChains/Solaris.cpp ToolChains/TCE.cpp ToolChains/WebAssembly.cpp Index: lib/Driver/Driver.cpp === --- lib/Driver/Driver.cpp +++ lib/Driver/Driver.cpp @@ -37,7 +37,7 @@ #include "ToolChains/NetBSD.h" #include "ToolChains/OpenBSD.h" #include "ToolChains/PS4CPU.h" -#include "ToolChains/RISCV.h" +#include "ToolChains/RISCVToolchain.h" #include "ToolChains/Solaris.h" #include "ToolChains/TCE.h" #include "ToolChains/WebAssembly.h" Index: lib/Driver/ToolChains/RISCVToolchain.h === --- lib/Driver/ToolChains/RISCVToolchain.h +++ lib/Driver/ToolChains/RISCVToolchain.h @@ -0,0 +1,63 @@ +//===--- RISCVToolchain.h - RISCV ToolChain Implementations -*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===--===// + +#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_RISCVTOOLCHAIN_H +#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_RISCVTOOLCHAIN_H + +#include "Gnu.h" +#include "clang/Driver/ToolChain.h" + +namespace clang { +namespace driver { +namespace toolchains { + +class LLVM_LIBRARY_VISIBILITY RISCVToolChain : public Generic_ELF { +public: + RISCVToolChain(const Driver , const llvm::Triple , + const llvm::opt::ArgList ); + + bool IsIntegratedAssemblerDefault() const override { return true; } + void addClangTargetOptions(const llvm::opt::ArgList , + llvm::opt::ArgStringList , + Action::OffloadKind) const override; + void + AddClangSystemIncludeArgs(const llvm::opt::ArgList , +llvm::opt::ArgStringList ) const override; + void + addLibStdCxxIncludePaths(const llvm::opt::ArgList , + llvm::opt::ArgStringList ) const override; + +protected: + Tool *buildLinker() const override; + +private: + std::string computeSysRoot() const; +}; + +} // end namespace toolchains + +namespace tools { +namespace RISCV { +class LLVM_LIBRARY_VISIBILITY Linker : public GnuTool { +public: + Linker(const ToolChain ) : GnuTool("RISCV::Linker", "ld", TC) {} + bool hasIntegratedCPP() const override { return false; } + bool isLinkJob() const override { return true; } + void ConstructJob(Compilation , const JobAction , +const InputInfo , const InputInfoList , +const llvm::opt::ArgList , +const char *LinkingOutput) const override; +}; +} // end namespace RISCV +} // end namespace tools + +} // end namespace driver +} // end namespace clang + +#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_RISCVTOOLCHAIN_H Index: lib/Driver/ToolChains/RISCVToolchain.cpp === --- lib/Driver/ToolChains/RISCVToolchain.cpp +++ lib/Driver/ToolChains/RISCVToolchain.cpp @@ -0,0 +1,141 @@ +//===--- RISCVToolchain.cpp - RISCV ToolChain Implementations ---*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===--===// + +#include "RISCVToolchain.h" +#include "CommonArgs.h" +#include "InputInfo.h" +#include "clang/Driver/Compilation.h" +#include "clang/Driver/Options.h" +#include "llvm/Option/ArgList.h" +#include "llvm/Support/FileSystem.h" +#include "llvm/Support/Path.h" +#include "llvm/Support/raw_ostream.h" + +using namespace clang::driver; +using namespace clang::driver::toolchains; +using namespace clang::driver::tools; +using namespace clang; +using namespace llvm::opt; + +/// RISCV Toolchain +RISCVToolChain::RISCVToolChain(const Driver , const llvm::Triple , + const ArgList ) +: Generic_ELF(D, Triple, Args) { + GCCInstallation.init(Triple, Args); +
[PATCH] D52574: NFC: Fix some darwin linker warnings introduced in r338385
xbolva00 accepted this revision. xbolva00 added a comment. This revision is now accepted and ready to land. ok, thanks Repository: rC Clang https://reviews.llvm.org/D52574 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D52574: NFC: Fix some darwin linker warnings introduced in r338385
erik.pilkington created this revision. erik.pilkington added reviewers: xbolva00, kristina, asb. Herald added subscribers: kadircet, jocewei, PkmX, dexonsmith, the_o, brucehoult, MartinMosbeck, rogfer01, mgrang, edward-jones, zzheng, jrtc27, ioeric, niosHD, sabuasal, apazos, simoncook, johnrusso, rbar, ilya-biryukov, mgorny. The darwin linker was complaining about Toolchains/RISCV.cpp and Toolchains/Arch/RISCV.cpp had the same name. Fix is to just rename Toolchains/RISCV.cpp to Toolchains/RISCVToolchain.cpp. This was introduced by https://reviews.llvm.org/D50246. /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: warning same member name (RISCV.cpp.o) in output file used for input files: tools/clang/lib/Driver/CMakeFiles/clangDriver.dir/ToolChains/Arch/RISCV.cpp.o and: tools/clang/lib/Driver/CMakeFiles/clangDriver.dir/ToolChains/RISCV.cpp.o (due to use of basename, truncation, blank padding or duplicate input files) rdar://44535427 Repository: rC Clang https://reviews.llvm.org/D52574 Files: clang/lib/Driver/CMakeLists.txt clang/lib/Driver/Driver.cpp clang/lib/Driver/ToolChains/RISCV.cpp clang/lib/Driver/ToolChains/RISCV.h clang/lib/Driver/ToolChains/RISCVToolchain.cpp clang/lib/Driver/ToolChains/RISCVToolchain.h Index: clang/lib/Driver/ToolChains/RISCVToolchain.h === --- clang/lib/Driver/ToolChains/RISCVToolchain.h +++ clang/lib/Driver/ToolChains/RISCVToolchain.h @@ -1,14 +1,14 @@ -//===--- RISCV.h - RISCV ToolChain Implementations --*- C++ -*-===// +//===--- RISCVToolchain.h - RISCV ToolChain Implementations -*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===--===// -#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_RISCV_H -#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_RISCV_H +#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_RISCVTOOLCHAIN_H +#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_RISCVTOOLCHAIN_H #include "Gnu.h" #include "clang/Driver/ToolChain.h" Index: clang/lib/Driver/ToolChains/RISCVToolchain.cpp === --- clang/lib/Driver/ToolChains/RISCVToolchain.cpp +++ clang/lib/Driver/ToolChains/RISCVToolchain.cpp @@ -1,13 +1,13 @@ -//===--- RISCV.cpp - RISCV ToolChain Implementations *- C++ -*-===// +//===--- RISCVToolchain.cpp - RISCV ToolChain Implementations ---*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===--===// -#include "RISCV.h" +#include "RISCVToolchain.h" #include "CommonArgs.h" #include "InputInfo.h" #include "clang/Driver/Compilation.h" Index: clang/lib/Driver/Driver.cpp === --- clang/lib/Driver/Driver.cpp +++ clang/lib/Driver/Driver.cpp @@ -37,7 +37,7 @@ #include "ToolChains/NetBSD.h" #include "ToolChains/OpenBSD.h" #include "ToolChains/PS4CPU.h" -#include "ToolChains/RISCV.h" +#include "ToolChains/RISCVToolchain.h" #include "ToolChains/Solaris.h" #include "ToolChains/TCE.h" #include "ToolChains/WebAssembly.h" Index: clang/lib/Driver/CMakeLists.txt === --- clang/lib/Driver/CMakeLists.txt +++ clang/lib/Driver/CMakeLists.txt @@ -57,7 +57,7 @@ ToolChains/NetBSD.cpp ToolChains/OpenBSD.cpp ToolChains/PS4CPU.cpp - ToolChains/RISCV.cpp + ToolChains/RISCVToolchain.cpp ToolChains/Solaris.cpp ToolChains/TCE.cpp ToolChains/WebAssembly.cpp Index: clang/lib/Driver/ToolChains/RISCVToolchain.h === --- clang/lib/Driver/ToolChains/RISCVToolchain.h +++ clang/lib/Driver/ToolChains/RISCVToolchain.h @@ -1,14 +1,14 @@ -//===--- RISCV.h - RISCV ToolChain Implementations --*- C++ -*-===// +//===--- RISCVToolchain.h - RISCV ToolChain Implementations -*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===--===// -#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_RISCV_H -#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_RISCV_H +#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_RISCVTOOLCHAIN_H +#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_RISCVTOOLCHAIN_H #include "Gnu.h" #include "clang/Driver/ToolChain.h" Index: clang/lib/Driver/ToolChains/RISCVToolchain.cpp