<pre style='margin:0'>
Jeremy Huddleston Sequoia (jeremyhu) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/940be0184457f975068bf3554c2374664e83a036">https://github.com/macports/macports-ports/commit/940be0184457f975068bf3554c2374664e83a036</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 940be01  clang-devel: refactor patch file
</span>940be01 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 940be0184457f975068bf3554c2374664e83a036
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Sat Jul 6 07:31:09 2019 -0700

<span style='display:block; white-space:pre;color:#404040;'>    clang-devel: refactor patch file
</span>---
 lang/llvm-devel/Portfile                           | 14 +--
 lang/llvm-devel/files/9001-macports-libstdcxx.diff | 99 +++++++++++-----------
 2 files changed, 58 insertions(+), 55 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/Portfile b/lang/llvm-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b5cfa98..27b30a2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -587,14 +587,14 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span> 
     variant libstdcxx description {-stdlib=macports-libstdc++ searches for MacPorts libstdc++} {
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # TODO: This variant is currently broken.  We need to rebase this patch.
</span>         patchfiles-append 9001-macports-libstdcxx.diff
 
         post-patch {
             reinplace "s|@@MACPORTS_GCC_INCLUDE_DIR@@|${prefix}/include/gcc/c++|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span>             reinplace "s|@@MACPORTS_HOST_NAME@@|${build_arch}-apple-darwin${os.major}|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span>             reinplace "s|@@MACPORTS_libstdc++@@|${prefix}/lib/libgcc/libstdc++.6.dylib|g" \
                 ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -631,13 +631,13 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span>             }
 
             reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_x86_64@@|${gcc_subdirectory_x86_64}|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span>             reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_i386@@|${gcc_subdirectory_i386}|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span>             reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_ppc64@@|${gcc_subdirectory_ppc64}|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span>             reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_ppc@@|${gcc_subdirectory_ppc}|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span>         }
     }
     default_variants-append +libstdcxx
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/9001-macports-libstdcxx.diff b/lang/llvm-devel/files/9001-macports-libstdcxx.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index c73a7b2..a5f6ad8 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/9001-macports-libstdcxx.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/9001-macports-libstdcxx.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,6 +1,6 @@
</span> --- orig/tools/clang/include/clang/Lex/HeaderSearchOptions.h
 +++ new/tools/clang/include/clang/Lex/HeaderSearchOptions.h
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -185,6 +185,9 @@ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -184,6 +184,9 @@ public:
</span>    /// Use libc++ instead of the default libstdc++.
    unsigned UseLibcxx : 1;
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -12,7 +12,7 @@
</span>  
 --- orig/tools/clang/lib/Frontend/CompilerInvocation.cpp
 +++ new/tools/clang/lib/Frontend/CompilerInvocation.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1721,8 +1721,10 @@ static void ParseHeaderSearchArgs(HeaderSearchOptions &Opts, ArgList &Args,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1967,8 +1967,10 @@ static void ParseHeaderSearchArgs(HeaderSearchOptions &Opts, ArgList &Args,
</span>    Opts.UseBuiltinIncludes = !Args.hasArg(OPT_nobuiltininc);
    Opts.UseStandardSystemIncludes = !Args.hasArg(OPT_nostdsysteminc);
    Opts.UseStandardCXXIncludes = !Args.hasArg(OPT_nostdincxx);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,7 +26,7 @@
</span>    // Canonicalize -fmodules-cache-path before storing it.
 --- orig/tools/clang/lib/Frontend/InitHeaderSearch.cpp
 +++ new/tools/clang/lib/Frontend/InitHeaderSearch.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -111,7 +111,7 @@ static bool CanPrefixSysroot(StringRef Path) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -110,7 +110,7 @@ static bool CanPrefixSysroot(StringRef Path) {
</span>  #if defined(_WIN32)
    return !Path.empty() && llvm::sys::path::is_separator(Path[0]);
  #else
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -35,47 +35,6 @@
</span>  #endif
  }
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -371,9 +371,17 @@ void InitHeaderSearch::AddDefaultCPlusPlusIncludePaths(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case llvm::Triple::ppc:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case llvm::Triple::ppc64:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      IsBaseFound = AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                                "powerpc-apple-darwin10", "",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                                "ppc64", triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      IsBaseFound = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      if (HSOpts.UseMacPortsLibstdcxx) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        IsBaseFound = AddGnuCPlusPlusIncludePaths("@@MACPORTS_GCC_INCLUDE_DIR@@",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                                  "@@MACPORTS_HOST_NAME@@", "@@MACPORTS_GCC_SUBDIRECTORY_ppc@@", "@@MACPORTS_GCC_SUBDIRECTORY_ppc64@@",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                                  triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      IsBaseFound |= AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                                 "powerpc-apple-darwin10", "",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                                 "ppc64", triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       IsBaseFound |= AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.0.0",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                                  "powerpc-apple-darwin8", "",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                                  "ppc64", triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -381,9 +389,16 @@ void InitHeaderSearch::AddDefaultCPlusPlusIncludePaths(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case llvm::Triple::x86:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case llvm::Triple::x86_64:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      IsBaseFound = AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                                "i686-apple-darwin10", "",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                                "x86_64", triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      IsBaseFound = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      if (HSOpts.UseMacPortsLibstdcxx) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        IsBaseFound = AddGnuCPlusPlusIncludePaths("@@MACPORTS_GCC_INCLUDE_DIR@@",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                                  "@@MACPORTS_HOST_NAME@@", "@@MACPORTS_GCC_SUBDIRECTORY_i386@@", "@@MACPORTS_GCC_SUBDIRECTORY_x86_64@@", triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      IsBaseFound |= AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                                 "i686-apple-darwin10", "",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                                 "x86_64", triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       IsBaseFound |= AddGnuCPlusPlusIncludePaths(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           "/usr/include/c++/4.0.0", "i686-apple-darwin8", "", "x86_64", triple);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       break;
</span> --- orig/tools/clang/include/clang/Driver/ToolChain.h
 +++ new/tools/clang/include/clang/Driver/ToolChain.h
 @@ -91,7 +91,8 @@ public:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -90,7 +49,51 @@
</span>    enum RuntimeLibType {
 --- orig/tools/clang/lib/Driver/ToolChains/Darwin.cpp
 +++ new/tools/clang/lib/Driver/ToolChains/Darwin.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1729,6 +1729,12 @@ void DarwinClang::AddCXXStdlibLibArgs(const ArgList &Args,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1953,10 +1953,17 @@ void DarwinClang::AddClangCXXStdlibInclu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case llvm::Triple::ppc:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case llvm::Triple::ppc64:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      IsBaseFound = AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                "4.2.1",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                "powerpc-apple-darwin10",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                arch == llvm::Triple::ppc64 ? "ppc64" : "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      IsBaseFound = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (HSOpts.UseMacPortsLibstdcxx) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, "@@MACPORTS_GCC_INCLUDE_DIR@@",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                  "",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                  "@@MACPORTS_HOST_NAME@@",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                  arch == llvm::Triple::ppc64 ? "@@MACPORTS_GCC_SUBDIRECTORY_ppc64@@" : "@@MACPORTS_GCC_SUBDIRECTORY_ppc@@");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                 "4.2.1",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                 "powerpc-apple-darwin10",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                 arch == llvm::Triple::ppc64 ? "ppc64" : "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                 "4.0.0", "powerpc-apple-darwin8",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                  arch == llvm::Triple::ppc64 ? "ppc64" : "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1964,10 +1971,17 @@ void DarwinClang::AddClangCXXStdlibInclu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case llvm::Triple::x86:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case llvm::Triple::x86_64:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      IsBaseFound = AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                "4.2.1",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                "i686-apple-darwin10",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                arch == llvm::Triple::x86_64 ? "x86_64" : "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      IsBaseFound = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (HSOpts.UseMacPortsLibstdcxx) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        IsBaseFound = AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, "@@MACPORTS_GCC_INCLUDE_DIR@@",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                  "",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                  "@@MACPORTS_HOST_NAME@@",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                  arch == llvm::Triple::x86_64 ? "@@MACPORTS_GCC_SUBDIRECTORY_x86_64@@" : "@@MACPORTS_GCC_SUBDIRECTORY_i386@@");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                 "4.2.1",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                 "i686-apple-darwin10",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                 arch == llvm::Triple::x86_64 ? "x86_64" : "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                 "4.0.0", "i686-apple-darwin8",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                  arch == llvm::Triple::x86_64 ? "x86_64" : "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2010,6 +2024,12 @@ void DarwinClang::AddCXXStdlibLibArgs(co
</span>      break;
  
    case ToolChain::CST_Libstdcxx:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -105,7 +108,7 @@
</span>      // platforms we care about it was -lstdc++.6, so we search for that
 --- orig/tools/clang/lib/Driver/ToolChains/Hexagon.cpp
 +++ new/tools/clang/lib/Driver/ToolChains/Hexagon.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -557,6 +557,8 @@ HexagonToolChain::GetCXXStdlibType(const ArgList &Args) const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -551,6 +551,8 @@ HexagonToolChain::GetCXXStdlibType(const ArgList &Args) const {
</span>      return ToolChain::CST_Libstdcxx;
  
    StringRef Value = A->getValue();
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -116,7 +119,7 @@
</span>  
 --- orig/tools/clang/lib/Driver/ToolChain.cpp
 +++ new/tools/clang/lib/Driver/ToolChain.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -674,6 +674,8 @@ ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -766,6 +766,8 @@ ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{
</span>      return ToolChain::CST_Libcxx;
    else if (LibName == "libstdc++")
      return ToolChain::CST_Libstdcxx;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -125,7 +128,7 @@
</span>    else if (LibName == "platform")
      return GetDefaultCXXStdlibType();
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -755,6 +757,7 @@ void ToolChain::AddCXXStdlibLibArgs(const ArgList &Args,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -847,6 +849,7 @@ void ToolChain::AddCXXStdlibLibArgs(const ArgList &Args,
</span>      break;
  
    case ToolChain::CST_Libstdcxx:
</pre><pre style='margin:0'>

</pre>