<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/24345c7733ed5eca7c5d1e836272a45221ee72f5">https://github.com/macports/macports-ports/commit/24345c7733ed5eca7c5d1e836272a45221ee72f5</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 24345c7733ed5eca7c5d1e836272a45221ee72f5
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Sun Sep 19 12:38:16 2021 -0700

<span style='display:block; white-space:pre;color:#404040;'>    clang-7.0: fixes for older systems
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    1. use cmake-bootstrap to reduce deps for building
</span><span style='display:block; white-space:pre;color:#404040;'>    2. use /usr/lib/libxml2.dylib to remove need for MP libxml2
</span><span style='display:block; white-space:pre;color:#404040;'>    3. allow relabelling asm labels to allow legacy support to work properly
</span><span style='display:block; white-space:pre;color:#404040;'>    4. minor whitespace cleanups
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    see: https://trac.macports.org/ticket/58677
</span>---
 lang/llvm-7.0/Portfile                             | 35 +++++++++++++++-------
 ...003-patch-clang-7.0-allow-asm-redefinition.diff | 23 ++++++++++++++
 2 files changed, 48 insertions(+), 10 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-7.0/Portfile b/lang/llvm-7.0/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 197ced96d8c..59ebe85f1e0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-7.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-7.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -16,7 +16,7 @@ set clang_executable_version 7
</span> set lldb_executable_version 7.1.0
 name                    llvm-${llvm_version}
 revision                2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-subport                 clang-${llvm_version} { revision 0 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport                 clang-${llvm_version} { revision 1 }
</span> subport                 lldb-${llvm_version} { revision 1 }
 set suffix              mp-${llvm_version}
 set sub_prefix          ${prefix}/libexec/llvm-${llvm_version}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -279,15 +279,13 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span>     if {${os.major} <= 13} {
         # We unfortunately don't have an option to just turn off tsan
         # https://llvm.org/bugs/show_bug.cgi?id=27715
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            -DCOMPILER_RT_BUILD_SANITIZERS=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append  -DCOMPILER_RT_BUILD_SANITIZERS=OFF
</span>     }
 
     if {${os.major} <= 13} {
         # libfuzzer uses TLS, fails on 10.9 and less
         # possibly fixable, see https://trac.macports.org/ticket/58291
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       -DCOMPILER_RT_BUILD_LIBFUZZER=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append  -DCOMPILER_RT_BUILD_LIBFUZZER=OFF
</span>     }
 
     if {${os.major} <= 15} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -296,8 +294,7 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span>         # see https://trac.macports.org/ticket/57130
         # https://bugs.llvm.org/show_bug.cgi?id=38959
         # https://bugs.llvm.org/show_bug.cgi?id=38958
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       -DCOMPILER_RT_BUILD_XRAY=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append  -DCOMPILER_RT_BUILD_XRAY=OFF
</span>     }
 
 } elseif {${subport} eq "lldb-${llvm_version}"} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -359,10 +356,10 @@ if {[lsearch -exact $PortInfo(depends_build) port:cctools] != -1} {
</span> 
 # use the system python27 if present
 if {${os.platform} eq "darwin" && ${os.major} >= 11} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set pythonfullpath   /usr/bin/python2.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set pythonfullpath   /usr/bin/python2.7
</span> } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set pythonfullpath   ${prefix}/bin/python2.7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   depends_lib-append   port:python27
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set pythonfullpath   ${prefix}/bin/python2.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append   port:python27
</span> }
 configure.args-append   -DPYTHON_EXECUTABLE=${pythonfullpath}
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -403,6 +400,19 @@ variant assertions description "Enable assertions for error detection (has perfo
</span> }
 
 platform darwin {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} < 14} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # use cmake-bootstrap to minimize dependencies.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-replace  path:bin/cmake:cmake port:cmake-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.cmd          ${prefix}/libexec/cmake-bootstrap/bin/cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # remove need for port:libxml2 dependency
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-delete     port:libxml2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append  -DLIBXML2_INCLUDE_DIR=/usr/include/libxml2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append  -DLIBXML2_LIBRARIES=/usr/lib/libxml2.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append  -DLIBXML2_XMLLINT_EXECUTABLE=/usr/bin/xmllint
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     if {[string match "*ppc*" [get_canonical_archs]]} {
         # http://trac.macports.org/ticket/33987
         configure.optflags    -Os
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -416,6 +426,11 @@ platform darwin {
</span> 
     if {${subport} eq "clang-${llvm_version}" && ${os.major} <= 9} {
         patchfiles-append leopard-no-blocks.patch
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # allow asm label redefining. We use this in legacysupport
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # but it was disabled in clang as of clang-3.8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # see https://trac.macports.org/ticket/58677
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append 2003-patch-clang-7.0-allow-asm-redefinition.diff
</span>     }
 
     if {${subport} eq "clang-${llvm_version}" && ${os.major} <= 14} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-7.0/files/2003-patch-clang-7.0-allow-asm-redefinition.diff b/lang/llvm-7.0/files/2003-patch-clang-7.0-allow-asm-redefinition.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8956ce84e47
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-7.0/files/2003-patch-clang-7.0-allow-asm-redefinition.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,23 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+We use asm symbol redefining to allow some of legacysupport's magic to work
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+in certain circumstances this errors, always (so far) involving the <assert.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+header. work around this by allowing asm symbol redefining again on < 10.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+where this feature is used at present, until/unless we can come up with some more
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+elegant solution to the problem that doesn't require this.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+see https://trac.macports.org/ticket/58677 for further details
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+kencu@macports.org
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/tools/clang/lib/Sema/SemaDecl.cpp.orig       2021-09-19 10:11:38.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/tools/clang/lib/Sema/SemaDecl.cpp    2021-09-19 10:16:42.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2634,8 +2634,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (AsmLabelAttr *OldA = Old->getAttr<AsmLabelAttr>()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if (OldA->getLabel() != NewA->getLabel()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         // This redeclaration changes __asm__ label.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        Diag(New->getLocation(), diag::err_different_asm_label);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        Diag(OldA->getLocation(), diag::note_previous_declaration);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        // Diag(New->getLocation(), diag::err_different_asm_label);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        // Diag(OldA->getLocation(), diag::note_previous_declaration);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     } else if (Old->isUsed()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       // This redeclaration adds an __asm__ label to a declaration that has
</span></pre><pre style='margin:0'>

</pre>