llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-driver @llvm/pr-subscribers-clang Author: llvmbot <details> <summary>Changes</summary> Backport 9a19c7750f949c979372ba1d2eec8a7a40061aef Requested by: @<!-- -->rorth --- Full diff: https://github.com/llvm/llvm-project/pull/213535.diff 6 Files Affected: - (modified) clang/lib/Driver/ToolChains/NetBSD.cpp (-21) - (modified) clang/lib/Driver/ToolChains/NetBSD.h (-3) - (added) clang/test/Driver/Inputs/install_tree_with_libcxx/bin/.keep () - (added) clang/test/Driver/Inputs/install_tree_with_libcxx/include/c++/v1/.keep () - (added) clang/test/Driver/Inputs/install_tree_with_libcxx/lib/.keep () - (modified) clang/test/Driver/netbsd.cpp (+8) ``````````diff diff --git a/clang/lib/Driver/ToolChains/NetBSD.cpp b/clang/lib/Driver/ToolChains/NetBSD.cpp index 31a5723c17c2f..f03114b53bb61 100644 --- a/clang/lib/Driver/ToolChains/NetBSD.cpp +++ b/clang/lib/Driver/ToolChains/NetBSD.cpp @@ -495,27 +495,6 @@ void NetBSD::AddClangSystemIncludeArgs( concat(D.SysRoot, "/usr/include")); } -void NetBSD::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const { - const std::string Candidates[] = { - // directory relative to build tree - concat(getDriver().Dir, "/../include/c++/v1"), - // system install with full upstream path - concat(getDriver().SysRoot, "/usr/include/c++/v1"), - // system install from src - concat(getDriver().SysRoot, "/usr/include/c++"), - }; - - for (const auto &IncludePath : Candidates) { - if (!getVFS().exists(IncludePath + "/__config")) - continue; - - // Use the first candidate that looks valid. - addSystemInclude(DriverArgs, CC1Args, IncludePath); - return; - } -} - void NetBSD::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const { addLibStdCXXIncludePaths(concat(getDriver().SysRoot, "/usr/include/g++"), "", "", diff --git a/clang/lib/Driver/ToolChains/NetBSD.h b/clang/lib/Driver/ToolChains/NetBSD.h index c6a40ff34036c..bb0953c02e62e 100644 --- a/clang/lib/Driver/ToolChains/NetBSD.h +++ b/clang/lib/Driver/ToolChains/NetBSD.h @@ -61,9 +61,6 @@ class LLVM_LIBRARY_VISIBILITY NetBSD : public Generic_ELF { void AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override; - void addLibCxxIncludePaths( - const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const override; void addLibStdCxxIncludePaths( const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override; diff --git a/clang/test/Driver/Inputs/install_tree_with_libcxx/bin/.keep b/clang/test/Driver/Inputs/install_tree_with_libcxx/bin/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/install_tree_with_libcxx/include/c++/v1/.keep b/clang/test/Driver/Inputs/install_tree_with_libcxx/include/c++/v1/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/install_tree_with_libcxx/lib/.keep b/clang/test/Driver/Inputs/install_tree_with_libcxx/lib/.keep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/netbsd.cpp b/clang/test/Driver/netbsd.cpp index 6b8a86d6ee532..97ed44b841ed8 100644 --- a/clang/test/Driver/netbsd.cpp +++ b/clang/test/Driver/netbsd.cpp @@ -191,6 +191,14 @@ // DRIVER-PASS-INCLUDES: "-internal-isystem" "[[RESOURCE]]{{/|\\\\}}include" // DRIVER-PASS-INCLUDES: "-internal-externc-isystem" "{{.*}}/usr/include" +// Test that NetBSD prefers install tree libc++ headers over system ones. +// RUN: %clang -### %s --target=x86_64-unknown-netbsd -r 2>&1 \ +// RUN: -ccc-install-dir %S/Inputs/install_tree_with_libcxx/bin \ +// RUN: --sysroot=%S/Inputs/basic_netbsd_tree \ +// RUN: | FileCheck %s --check-prefix=DRIVER-INSTALL-INCLUDES +// DRIVER-INSTALL-INCLUDES: "-internal-isystem" "{{.*}}bin[[SEP:/|\\\\]]..[[SEP]]include[[SEP]]c++[[SEP]]v1" +// DRIVER-INSTALL-INCLUDES-NOT: "-internal-isystem" "{{.*}}usr[[SEP]]include[[SEP]]c++[[SEP]]v1" + // Test NetBSD with libstdc++ when the sysroot path ends with `/`. // RUN: %clangxx -### %s 2>&1 \ // RUN: --target=x86_64-unknown-netbsd \ `````````` </details> https://github.com/llvm/llvm-project/pull/213535 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
