This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGf3476332e453: [Driver] move DragonFly header search path management to the driver (authored by brad).
Changed prior to commit: https://reviews.llvm.org/D158376?vs=554140&id=554556#toc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D158376/new/ https://reviews.llvm.org/D158376 Files: clang/lib/Driver/ToolChains/DragonFly.cpp clang/lib/Driver/ToolChains/DragonFly.h clang/lib/Lex/InitHeaderSearch.cpp Index: clang/lib/Lex/InitHeaderSearch.cpp =================================================================== --- clang/lib/Lex/InitHeaderSearch.cpp +++ clang/lib/Lex/InitHeaderSearch.cpp @@ -307,9 +307,6 @@ break; } break; - case llvm::Triple::DragonFly: - AddPath("/usr/include/c++/5.0", CXXSystem, false); - break; default: break; } @@ -319,6 +316,7 @@ const llvm::Triple &triple) { switch (triple.getOS()) { case llvm::Triple::AIX: + case llvm::Triple::DragonFly: case llvm::Triple::ELFIAMCU: case llvm::Triple::Emscripten: case llvm::Triple::FreeBSD: Index: clang/lib/Driver/ToolChains/DragonFly.h =================================================================== --- clang/lib/Driver/ToolChains/DragonFly.h +++ clang/lib/Driver/ToolChains/DragonFly.h @@ -55,6 +55,13 @@ bool IsMathErrnoDefault() const override { return false; } + void + AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; + void addLibStdCxxIncludePaths( + const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; + protected: Tool *buildAssembler() const override; Tool *buildLinker() const override; Index: clang/lib/Driver/ToolChains/DragonFly.cpp =================================================================== --- clang/lib/Driver/ToolChains/DragonFly.cpp +++ clang/lib/Driver/ToolChains/DragonFly.cpp @@ -12,6 +12,7 @@ #include "clang/Driver/Driver.h" #include "clang/Driver/Options.h" #include "llvm/Option/ArgList.h" +#include "llvm/Support/Path.h" using namespace clang::driver; using namespace clang::driver::tools; @@ -195,6 +196,33 @@ getFilePaths().push_back("/usr/lib/gcc80"); } +void DragonFly::AddClangSystemIncludeArgs( + const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const { + const Driver &D = getDriver(); + + if (DriverArgs.hasArg(clang::driver::options::OPT_nostdinc)) + return; + + if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) { + SmallString<128> Dir(D.ResourceDir); + llvm::sys::path::append(Dir, "include"); + addSystemInclude(DriverArgs, CC1Args, Dir.str()); + } + + if (DriverArgs.hasArg(options::OPT_nostdlibinc)) + return; + + addExternCSystemInclude(DriverArgs, CC1Args, + concat(D.SysRoot, "/usr/include")); +} + +void DragonFly::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const { + addLibStdCXXIncludePaths(concat(getDriver().SysRoot, "/usr/include/c++/8.0"), "", "", + DriverArgs, CC1Args); +} + Tool *DragonFly::buildAssembler() const { return new tools::dragonfly::Assembler(*this); }
Index: clang/lib/Lex/InitHeaderSearch.cpp =================================================================== --- clang/lib/Lex/InitHeaderSearch.cpp +++ clang/lib/Lex/InitHeaderSearch.cpp @@ -307,9 +307,6 @@ break; } break; - case llvm::Triple::DragonFly: - AddPath("/usr/include/c++/5.0", CXXSystem, false); - break; default: break; } @@ -319,6 +316,7 @@ const llvm::Triple &triple) { switch (triple.getOS()) { case llvm::Triple::AIX: + case llvm::Triple::DragonFly: case llvm::Triple::ELFIAMCU: case llvm::Triple::Emscripten: case llvm::Triple::FreeBSD: Index: clang/lib/Driver/ToolChains/DragonFly.h =================================================================== --- clang/lib/Driver/ToolChains/DragonFly.h +++ clang/lib/Driver/ToolChains/DragonFly.h @@ -55,6 +55,13 @@ bool IsMathErrnoDefault() const override { return false; } + void + AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; + void addLibStdCxxIncludePaths( + const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; + protected: Tool *buildAssembler() const override; Tool *buildLinker() const override; Index: clang/lib/Driver/ToolChains/DragonFly.cpp =================================================================== --- clang/lib/Driver/ToolChains/DragonFly.cpp +++ clang/lib/Driver/ToolChains/DragonFly.cpp @@ -12,6 +12,7 @@ #include "clang/Driver/Driver.h" #include "clang/Driver/Options.h" #include "llvm/Option/ArgList.h" +#include "llvm/Support/Path.h" using namespace clang::driver; using namespace clang::driver::tools; @@ -195,6 +196,33 @@ getFilePaths().push_back("/usr/lib/gcc80"); } +void DragonFly::AddClangSystemIncludeArgs( + const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const { + const Driver &D = getDriver(); + + if (DriverArgs.hasArg(clang::driver::options::OPT_nostdinc)) + return; + + if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) { + SmallString<128> Dir(D.ResourceDir); + llvm::sys::path::append(Dir, "include"); + addSystemInclude(DriverArgs, CC1Args, Dir.str()); + } + + if (DriverArgs.hasArg(options::OPT_nostdlibinc)) + return; + + addExternCSystemInclude(DriverArgs, CC1Args, + concat(D.SysRoot, "/usr/include")); +} + +void DragonFly::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const { + addLibStdCXXIncludePaths(concat(getDriver().SysRoot, "/usr/include/c++/8.0"), "", "", + DriverArgs, CC1Args); +} + Tool *DragonFly::buildAssembler() const { return new tools::dragonfly::Assembler(*this); }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits