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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d7353fc1efcdd97edd059f2d274ea0481651dd91">https://github.com/macports/macports-ports/commit/d7353fc1efcdd97edd059f2d274ea0481651dd91</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 d7353fc1efc llvm-devel: Update portfile to mirror developments made to production clang portfiles.
</span>d7353fc1efc is described below

<span style='display:block; white-space:pre;color:#808000;'>commit d7353fc1efcdd97edd059f2d274ea0481651dd91
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Mon Jan 3 23:15:16 2022 +0000

<span style='display:block; white-space:pre;color:#404040;'>    llvm-devel: Update portfile to mirror developments made to production clang portfiles.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    A number of improvements have been made to the production clang port files which
</span><span style='display:block; white-space:pre;color:#404040;'>    have so far not been migrated to the llvm-devel suite of ports. This updates the
</span><span style='display:block; white-space:pre;color:#404040;'>    port to be be based off the current llvm-13 portfile, with then the minimal changes
</span><span style='display:block; white-space:pre;color:#404040;'>    needed to build a development snapshot. Should make it much easier in the future
</span><span style='display:block; white-space:pre;color:#404040;'>    to cut future production llvm-X ports from this development port (assuming it is
</span><span style='display:block; white-space:pre;color:#404040;'>    kept up to date).
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Also update to latest 20220103 commit.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Add myself as a maintainer.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/63715
</span>---
 lang/llvm-devel/Portfile                           | 761 ++++++++++-----------
 ...-MacPorts-only-clang-use-MP-omp-locations.patch |  50 ++
 ...MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch |  36 -
 ...ly-Don-t-embed-the-deployment-target-in-t.patch |  22 +
 ...ly-Don-t-embed-the-deployment-target-in-t.patch |  33 -
 ...ly-Prepare-clang-format-for-replacement-w.patch |  82 +++
 ...y-Fix-name-of-scan-view-executable-insid.patch} |  24 +-
 ...nly-call-pthread_setname_np-on-SnowLeopar.patch |  36 -
 ...=> 0005-clang-support-macports-libstdcxx.patch} | 179 +++--
 ...MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch |  32 +
 ...etpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch |  29 -
 ...nly-call-pthread_setname_np-if-we-have-it.patch |  26 +
 ...p-use-older-cfname-and-fix-uuid-on-leopard.diff |  23 -
 ...nly-call-setpriority-PRIO_DARWIN_THREAD-0.patch |  25 +
 ...t-unix-path-copyfileclone-on-older-systems.diff |  14 -
 ...-Unix-Path.inc-define-COPYFILE_CLONE-if-n.patch |  23 +
 ...cmake-config-ix.cmake-was-Leopard-No-ASA.patch} |  20 +-
 ...long-long-math-prototypes-when-using-the.patch} |  22 +-
 ...er-rt-add-some-defs-missing-in-older-SDKs.patch |  47 ++
 ...ck-runtime-libraries-used-on-10.4-and-10.patch} |  19 +-
 ...at.h-to-work-on-Snow-Leopard-and-earlier.patch} |  23 +-
 ...dc-header-search-paths-for-older-versions.patch |  34 +
 ....10-and-less-compiler-rt-find-macosx-sdk.patch} |  22 +-
 ...ss-libcxx-work-around-no-reexported_symbo.patch |  43 ++
 ...ss-clang-default-to-libc-on-all-darwin-sy.patch |  26 +
 ...0.6-and-less-use-emulated-TLS-before-10.7.patch |  58 ++
 ...ss-work-around-no-directory-watcher-befor.patch |  25 +
 ...nd-less-libcxx-disable-Availability-tests.patch |  35 +
 .../0022-10.5-and-less-default-to-fno-blocks.patch |  24 +
 ...ss-use-older-cfname-and-fix-uuid-on-leopa.patch |  30 +
 ...ss-compiler-rt-work-around-no-libdispatch.patch |  64 ++
 ...25-lldb-add-defines-needed-for-older-SDKs.patch |  55 ++
 .../files/0100-define-target-os-osx.patch          |  13 +
 ...ly-Prepare-clang-format-for-replacement-w.patch |  84 ---
 .../1003-Default-to-ppc7400-for-OSX-10.5.patch     |  26 -
 ...fragile-ObjC-runtime-when-targeting-darwi.patch |  31 -
 ...dc-header-search-paths-for-older-versions.patch |  41 --
 .../files/1008-compilerrt-fuzzer-missingdefs.diff  |  17 -
 .../1009-compilerrt-sanitizer-missingdefs.diff     |  14 -
 .../2002-Work-around-no-libdispatch-on-10.6.patch  |  50 --
 ...tomic-using-mutex-lock_guard-for-64b-ops-.patch | 316 ---------
 ...-patch-no-directory-watcher-on-snowleopard.diff |  11 -
 ...libcxx-reexport-symbols-lionorgreater-only.diff |  27 -
 ...libcxx-includes-disable-availability-tests.diff |  13 -
 ...LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR.diff |  16 -
 .../9000-patch-clang-7.0-support-emulated-tls.diff |  26 -
 .../9000-patch-llvm-7.0-support-emulated-tls.diff  |  13 -
 ...clang-7.0-default-to-libcxx-on-all-systems.diff |  15 -
 lang/llvm-devel/files/leopard-no-blocks.patch      |  26 -
 lang/llvm-devel/files/openmp-locations.patch       |  35 -
 ...patch-libcxx-includes-config-optional-1013.diff |  11 -
 51 files changed, 1259 insertions(+), 1468 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 217b01bf497..1d89a1c1fdc 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;'>@@ -1,373 +1,294 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortSystem              1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup select        1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem                            1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup select                      1.0
</span> PortGroup compiler_blacklist_versions 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup active_variants 1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup cmake         1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup legacysupport 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup active_variants             1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup cmake                       1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup legacysupport               1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Do not propagate c/c++ standards as set by base
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.set_c_standard     no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.set_cxx_standard   no
</span> 
 # link legacysupport statically for compilers
<span style='display:block; white-space:pre;background:#ffe0e0;'>-legacysupport.use_static yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-legacysupport.newest_darwin_requires_legacy 13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+legacysupport.use_static              yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Sysconf wrapping causes issues so disable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+legacysupport.disable_function_wrap   yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories              lang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms               darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license                 NCSA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers             {jeremyhu @jeremyhu} {jonesc @cjones051073} openmaintainer
</span> 
 # for devel
 PortGroup github        1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set llvm-commit         73daeb3d507f7c8da52a35311ec1799f161ac7a5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set date                20211023
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set llvm-commit         550ea385abc2805fd3e0a539bf55bc82edb5c13e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set date                20220103
</span> set llvm_version        devel
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# for release
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# set llvm_version 13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set llvm_version_no_dot      13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set clang_executable_version 13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set lldb_executable_version  13
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set clang_exe_version   14
</span> github.setup            llvm llvm-project ${llvm-commit}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               rmd160  cdaabe5fdab55011f56b1c1fcfb26e6c6ddc5efe \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  9a6d4cf5bc4ef725d327a77752eac8f64e72d00d4cdb94d9166e4d4ff758801f \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        size    147262456
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# for release, use      ${llvm_version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# version                 ${llvm_version}
</span> version                 ${date}-[string range ${llvm-commit} 0 7]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+default_variants-append +assertions
</span> 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# For release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#set llvm_version        14
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#version                 ${llvm_version}.0.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#set clang_exe_version   ${llvm_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#master_sites            https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#distname                llvm-project-${version}.src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#use_xz                  yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums               rmd160  aafd90e8f2fd9dd6778e4105cd3a4fc6e44fe09b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  ed462ff0234467d9145ce497e982b0b20f602800633f3406fcbad7c7fec90074 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    156167262
</span> 
 name                    llvm-${llvm_version}
 revision                0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+subport                 mlir-${llvm_version}  { revision 0 }
</span> subport                 clang-${llvm_version} { revision 0 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-subport                 lldb-${llvm_version} { revision 0 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport                 lldb-${llvm_version}  { revision 0 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport                 flang-${llvm_version} { revision 0 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dist_subdir             llvm
</span> set suffix              mp-${llvm_version}
 set sub_prefix          ${prefix}/libexec/llvm-${llvm_version}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-dist_subdir             llvm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories              lang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms               darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license                 NCSA
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers             {jeremyhu @jeremyhu} openmaintainer
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "llvm-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    homepage            https://llvm.org/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    description         llvm is a next generation compiler infrastructure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    long_description    The LLVM Core libraries provide a modern source- and \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        target-independent optimizer, along with code \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        generation support for many popular CPUs (as well as \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        some less common ones!) These libraries are built \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        around a well specified code representation known as \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        the LLVM intermediate representation ("LLVM IR").
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+worksrcdir              ${worksrcdir}/llvm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch.dir               ${workpath}/${distname}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib         port:libedit port:libffi port:ncurses path:lib/libxar.dylib:xar port:zlib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_run         bin:perl:perl5 port:llvm_select
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# hand-tweaked, approximately c++ standard 2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist      *gcc* {clang < 1001} macports-clang-3.*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# work/build/include/c++/v1/optional:224:5: error: destructor cannot be marked constexpr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     _LIBCPP_CONSTEXPR_AFTER_CXX17 ~__optional_destruct_base()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append {clang < 1204} {macports-clang-[5-9].0}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.fallback       clang macports-clang-11 macports-clang-10
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    default_variants-append    +polly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# We can't use Ninja with our custom destrooting plan for llvm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#cmake.generator         Ninja
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.install_prefix    ${sub_prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.build_type        Release
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-} elseif {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    homepage            https://clang.llvm.org/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    description         C, C++, Objective C and Objective C++ compiler
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    long_description    Clang is an "LLVM native" C/C++/Objective-C compiler, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        which aims to deliver amazingly fast compiles (e.g. \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        about 3x faster than GCC when compiling Objective-C \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        code in a debug configuration), extremely useful error \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        and warning messages and to provide a platform for \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        building great source level tools. The included Clang \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        Static Analyzer is a tool that automatically finds bugs in \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        your code, and is a great example of the sort of tool \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        that can be built using the Clang frontend as a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        library to parse C/C++ code.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib         port:libxml2 port:libomp port:llvm-${llvm_version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_run         port:clang_select port:ld64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_skip_archcheck-append ld64 subversion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# clean up some cmake-PG added values we don't want to use, because we want @rpaths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.install_rpath
</span> 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.pre_args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DCMAKE_INSTALL_NAME_DIR=${cmake.install_prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DCMAKE_INSTALL_RPATH=${cmake.install_prefix}/lib
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Avoid requiring a bootstrap version of perl5 on 10.6.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${os.major} >= 11} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        default_variants    +analyzer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.pre_args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # avoid:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #    CMake Error: failed to create symbolic link '___': file already exists
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #use_parallel_build  no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.pre_args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DCMAKE_SYSTEM_PREFIX_PATH="${prefix}\;/usr" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DCMAKE_SYSTEM_PREFIX_PATH="${cmake.install_prefix}\;${prefix}\;/usr"
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-} elseif {${subport} eq "lldb-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    homepage            https://lldb.llvm.org/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    description         the LLVM debugger
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    long_description    Lldb is the "LLVM native" debugger.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DLLVM_LINK_LLVM_DYLIB=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DLLVM_ENABLE_RTTI=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DLLVM_INCLUDE_TESTS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DLLVM_INCLUDE_EXAMPLES=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DLLVM_ENABLE_FFI=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DFFI_INCLUDE_DIR=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DFFI_LIBRARY_DIR=${prefix}/lib
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib         port:libxml2 port:libomp port:llvm-${llvm_version} port:ncurses
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_build-append port:swig-python port:doxygen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# cctools is needed to handle objects from newer clang toolchains
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match macports-clang-* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append            port:cctools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_skip_archcheck-append   cctools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append           -DCMAKE_LIBTOOL=${prefix}/bin/libtool
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# for devel version only
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-default_variants-append +assertions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-worksrcdir              llvm-project/llvm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patch.dir               ${workpath}/llvm-project/llvm
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ln -s ${workpath}/llvm-project-${llvm-commit} ${workpath}/llvm-project
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set py_ver              3.10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set py_ver_nodot        [string map {. {}} ${py_ver}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append    port:python${py_ver_nodot} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:py${py_ver_nodot}-pygments \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:py${py_ver_nodot}-yaml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pythonfullpath      ${prefix}/bin/python${py_ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append   -DPython3_EXECUTABLE=${pythonfullpath}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${subport} eq "llvm-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset polly]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ln -s ${workpath}/llvm-project/polly                        ${worksrcpath}/tools/polly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cxx_stdlib libc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append port:libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${os.major} < 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           supported_archs i386 x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {![file exists /usr/lib/libc++.dylib]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ui_error "$name requires a C++11 runtime, which your configuration does not allow"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                error "unsupported configuration"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span>         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    } elseif {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${workpath}/llvm-project/clang                            ${worksrcpath}/tools/clang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${workpath}/llvm-project/compiler-rt                      ${worksrcpath}/projects/compiler-rt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${workpath}/llvm-project/libcxx                           ${worksrcpath}/projects/libcxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${workpath}/llvm-project/libcxxabi                        ${worksrcpath}/projects/libcxxabi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${workpath}/llvm-project/lld                              ${worksrcpath}/projects/lld
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${workpath}/llvm-project/clang-tools-extra                ${worksrcpath}/tools/clang/tools/extra
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${workpath}/llvm-project/mlir                             ${worksrcpath}/tools/mlir
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${workpath}/llvm-project/flang                            ${worksrcpath}/tools/flang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } elseif {${subport} eq "lldb-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${workpath}/llvm-project/clang                            ${worksrcpath}/tools/clang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${workpath}/llvm-project/lldb                             ${worksrcpath}/tools/lldb
</span>     }
 }
 
 patch.pre_args  -p1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    0002-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    0003-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    0005-Threading-Only-call-pthread_setname_np-on-SnowLeopar.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    0006-Only-call-setpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    0007-patch-llvm8-tools-dsymutil-symbolmap-use-older-cfname-and-fix-uuid-on-leopard.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    0008-patch-lib-support-unix-path-copyfileclone-on-older-systems.diff
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0001-MacPorts-only-clang-use-MP-omp-locations.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0002-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0003-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0004-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0006-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0007-Threading-Only-call-pthread_setname_np-if-we-have-it.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0008-Threading-Only-call-setpriority-PRIO_DARWIN_THREAD-0.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0009-lib-Support-Unix-Path.inc-define-COPYFILE_CLONE-if-n.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0010-compiler-rt-cmake-config-ix.cmake-was-Leopard-No-ASA.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0011-Fix-missing-long-long-math-prototypes-when-using-the.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0012-compiler-rt-add-some-defs-missing-in-older-SDKs.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0013-clang-add-back-runtime-libraries-used-on-10.4-and-10.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0014-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0015-Fixup-libstdc-header-search-paths-for-older-versions.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0025-lldb-add-defines-needed-for-older-SDKs.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 14} {
</span>     patchfiles-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        1001-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        1002-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        1004-Default-to-fragile-ObjC-runtime-when-targeting-darwi.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        1005-Fixup-libstdc-header-search-paths-for-older-versions.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        1007-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        1008-compilerrt-fuzzer-missingdefs.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        1009-compilerrt-sanitizer-missingdefs.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        3001-Fix-missing-long-long-math-prototypes-when-using-the.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        3002-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        openmp-locations.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        leopard-no-asan.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        5000-patch-compilerrtdarwinutils-find-macosxsdkversion.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        5002-patch-toolchains-darwin-add-back-pre-10.6-link-libs.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        5006-patch-clang-tools-extra-LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# these don't apply at present
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#         1003-Default-to-ppc7400-for-OSX-10.5.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#         2002-Work-around-no-libdispatch-on-10.6.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        0016-10.10-and-less-compiler-rt-find-macosx-sdk.patch
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "lldb-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # lldb needs the clang sources present, so we apply the applicable patches.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 11} {
</span>     patchfiles-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        1001-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        1002-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        1004-Default-to-fragile-ObjC-runtime-when-targeting-darwi.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        1005-Fixup-libstdc-header-search-paths-for-older-versions.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        1007-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        openmp-locations.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# does not apply at present
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#         1003-Default-to-ppc7400-for-OSX-10.5.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        0017-10.6-and-less-libcxx-work-around-no-reexported_symbo.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        0019-10.6-and-less-use-emulated-TLS-before-10.7.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        0020-10.6-and-less-work-around-no-directory-watcher-befor.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        0021-10.6-and-less-libcxx-disable-Availability-tests.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        0022-10.5-and-less-default-to-fno-blocks.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        0023-10.5-and-less-use-older-cfname-and-fix-uuid-on-leopa.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        0024-10.5-and-less-compiler-rt-work-around-no-libdispatch.patch
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.post_args         ../${worksrcdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-default configure.dir       {${workpath}/build}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-default build.dir           {${workpath}/build}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 16} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # error: 'TARGET_OS_OSX' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append  0100-define-target-os-osx.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-cmake.install_prefix ${sub_prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@@PREFIX@@|${prefix}|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${patch.dir}/clang/lib/Driver/ToolChains/Clang.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${patch.dir}/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@CLANG_FORMAT_PATH@|${prefix}/bin/clang-format-${suffix}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${patch.dir}/clang/tools/clang-format/clang-format-bbedit.applescript \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${patch.dir}/clang/tools/clang-format/clang-format-diff.py            \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${patch.dir}/clang/tools/clang-format/clang-format-sublime.py         \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${patch.dir}/clang/tools/clang-format/clang-format.el                 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${patch.dir}/clang/tools/clang-format/clang-format.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# clang shared libraries are not all installed in ${cmake.install_prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# so we have to let the llvm/clang cmake scripts handle the @rpath setting
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# See:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#     https://llvm.org/bugs/show_bug.cgi?id=31425
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#     https://trac.macports.org/ticket/53299
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-delete \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DCMAKE_INSTALL_NAME_DIR=${cmake.install_prefix}/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DCMAKE_INSTALL_RPATH=${cmake.install_prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} eq "llvm-${llvm_version}"} {
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DCMAKE_SYSTEM_PREFIX_PATH="${prefix}\;/usr" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DCMAKE_SYSTEM_PREFIX_PATH="${cmake.install_prefix}\;${prefix}\;/usr"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    homepage            https://llvm.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description         llvm is a next generation compiler infrastructure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    long_description    The LLVM Core libraries provide a modern source- and \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        target-independent optimizer, along with code \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        generation support for many popular CPUs (as well as \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        some less common ones!) These libraries are built \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        around a well specified code representation known as \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        the LLVM intermediate representation ("LLVM IR").
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DLLVM_LINK_LLVM_DYLIB=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DLLVM_ENABLE_ASSERTIONS=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DLLVM_ENABLE_RTTI=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DLLVM_INCLUDE_TESTS=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DLLVM_INCLUDE_EXAMPLES=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DLLVM_BINDINGS_LIST=none \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DLLVM_ENABLE_FFI=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DFFI_INCLUDE_DIR=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DFFI_LIBRARY_DIR=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:libedit port:libffi port:ncurses path:lib/libxar.dylib:xar port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run-append  port:llvm_select
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "llvm-${llvm_version}"} {
</span>     select.group        llvm
     select.file         ${filespath}/mp-${subport}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-} elseif {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    select.group        clang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    select.file         ${filespath}/mp-${subport}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # CMAKE_LINKER is used to determine the value for HOST_LINK_VERSION
</span>     configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DCMAKE_LINKER=${prefix}/bin/ld \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DLD64_EXECUTABLE=${prefix}/bin/ld \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DCLANG_INCLUDE_TESTS=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DCLANG_ENABLE_STATIC_ANALYZER=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DCLANG_ENABLE_ARCMT=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DDARWIN_PREFER_PUBLIC_SDK=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DLLVM_BUILD_RUNTIME=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DLIBCXX_ENABLE_SHARED=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DLIBCXX_INSTALL_LIBRARY=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # we are going to use the new driver for flang now
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append -DFLANG_BUILD_NEW_DRIVER=ON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} elseif {${subport} eq "lldb-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #select.group        lldb
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #select.file         ${filespath}/mp-${subport}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DLLDB_CODESIGN_IDENTITY=- \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DLLDB_ENABLE_LUA=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DCLANG_INCLUDE_TESTS=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DCLANG_ENABLE_STATIC_ANALYZER=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DCLANG_ENABLE_ARCMT=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DLLVM_BUILD_RUNTIME=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DLIBCXX_ENABLE_SHARED=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DLIBCXX_INSTALL_LIBRARY=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DLLVM_ENABLE_PROJECTS="polly"
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# not building with macports-clang up to 3.7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# error: no type named 'type' in 'std::__1::enable_if<false, void>'; 'enable_if' cannot be used to disable this declaration
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#                 ,typename enable_if<is_convertible<const _U1&, _T1>::value &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# clang-1000.11.45.5 gives missing symbols for ZTIDu and others during libcxxabi build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist *gcc* {clang < 1001} {macports-clang-[3-8].*}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Override the normal compiler fallback list entirely since we have
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# such specific requirements.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.fallback   clang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# fall back to newer macports-clang when system clang is too old
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# at present clang-11 needs TLS so only use it on >= 10.7 for now
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.major} > 10} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    compiler.fallback-append macports-clang-11
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.fallback-append macports-clang-10 macports-clang-9.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} eq "mlir-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    homepage            https://mlir.llvm.org
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# cctools is needed to handle objects from newer clang toolchains
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[string match macports-clang-* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_build-append port:cctools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_skip_archcheck-append cctools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description         The MLIR project is a novel approach to building reusable \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        and extensible compiler infrastructure.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    long_description    {*}${description} MLIR aims to address software fragmentation, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        improve compilation for heterogeneous hardware, significantly \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        reduce the cost of building domain specific compilers, and aid \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        in connecting existing compilers together.
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.major} <= 14} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # compiler-rt does a broad search for an SDK it likes, but this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # search fails on older systems that don't have a MacOSX.sdk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # TODO: apply this always to all systems?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${configure.sdkroot} eq ""} {set configure.sdkroot "/"}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append -DDARWIN_osx_SYSROOT="${configure.sdkroot}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:llvm-${llvm_version}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Set CMAKE_LIBTOOL if we're using MacPorts-provided cctools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[lsearch -exact $PortInfo(depends_build) port:cctools] != -1} {
</span>     configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        -DCMAKE_LIBTOOL=${prefix}/bin/libtool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DLLVM_ENABLE_PROJECTS="mlir"
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append      port:python39
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set pythonfullpath      ${prefix}/bin/python3.9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append   -DPython3_EXECUTABLE=${pythonfullpath}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Note that we are forcing this choice.  This means that anything linking
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # against llvm needs to also be using libc++.  This is possibly
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # problematic, but luckily there is just a limited set of such dependents.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxx_stdlib libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append port:libcxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.major} < 11} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # exclude older systems from trying to build this as ppc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # otherwise we can use MacPort's base defaults for the rest
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            supported_archs i386 x86_64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {![file exists /usr/lib/libc++.dylib]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                ui_error "$name requires a C++11 runtime, which your configuration does not allow"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                error "unsupported configuration"
</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:#e0ffe0;'>+    destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # we have to run the destroot like this, because individual targets for each of the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # components we want to install are not available; we want "everything but llvm"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "cd ${destroot.dir}/tools/mlir && ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}"
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant assertions description "Enable assertions for error detection (has performance impacts, especially on JIT)" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-delete -DLLVM_ENABLE_ASSERTIONS=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append -DLLVM_ENABLE_ASSERTIONS=ON
</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;'>-platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${subport} eq "clang-${llvm_version}" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    homepage            https://clang.llvm.org/
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description         C, C++, Objective C and Objective C++ compiler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    long_description    Clang is an "LLVM native" C/C++/Objective-C compiler, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        which aims to deliver amazingly fast compiles (e.g. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        about 3x faster than GCC when compiling Objective-C \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        code in a debug configuration), extremely useful error \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        and warning messages and to provide a platform for \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        building great source level tools. The included Clang \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        Static Analyzer is a tool that automatically finds bugs in \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        your code, and is a great example of the sort of tool \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        that can be built using the Clang frontend as a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        library to parse C/C++ code.
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.major} < 19} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # on systems that might build i386, we need atomic builtins
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # https://trac.macports.org/ticket/58712
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # this system restriction means that on Catalina+ building i386 will not have these
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # we can consider applying this to all clang builds
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # once proven to have no detrimental effects on newer systems
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            configure.args-append    -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run-append  port:clang_select
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    select.group        clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    select.file         ${filespath}/mp-${subport}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.major} <= 14} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # sanitizers in compiler_rt fail to build on older systems
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # might be fixable with the use of newer SDK and/or effort if motivated
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # all three toggles are needed to force them off
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            configure.args-append    -DCOMPILER_RT_BUILD_SANITIZERS=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            configure.args-append    -DCOMPILER_RT_BUILD_XRAY=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            configure.args-append    -DCOMPILER_RT_BUILD_MEMPROF=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DLLVM_ENABLE_PROJECTS="clang\;clang-tools-extra\;compiler-rt\;libcxx\;libcxxabi\;lld\;mlir" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DLIBCXX_ENABLE_SHARED=ON    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DLIBCXX_INSTALL_LIBRARY=ON
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.major} <= 11} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # xpc.h available 10.7 but doesn't support nullable features
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # xpc.h works currently on 10.8+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # toggle enabled in https://reviews.llvm.org/D59808
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            configure.args-append    -DCLANGD_BUILD_XPC=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # we have to run the destroot like this, because individual targets for each of the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # components we want to install are not available; we want "everything but llvm"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "cd ${destroot.dir}/tools/clang          && ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "cd ${destroot.dir}/tools/lld            && ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "cd ${destroot.dir}/projects/compiler-rt && ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "cd ${destroot.dir}/projects/libcxx      && ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "cd ${destroot.dir}/projects/libcxxabi   && ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}"
</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:#ffe0e0;'>-        if {${os.major} <= 10} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # needs thread_local_storage enabled
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            #require_active_variants port:libcxx emulated_tls
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${subport} eq "flang-${llvm_version}" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    homepage            https://flang.llvm.org/
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            # Proxy for eliminating the dependency on native TLS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # http://trac.macports.org/ticket/46887
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            configure.args-append -DLLVM_ENABLE_BACKTRACES=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description         LLVM Fortran compiler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    long_description    {*}${description}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.major} <= 10} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # the directorywatcher code is currently 10.7+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            patchfiles-append 5003-patch-no-directory-watcher-on-snowleopard.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DLLVM_ENABLE_PROJECTS="clang\;flang\;compiler-rt\;mlir" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DLIBCXX_ENABLE_SHARED=OFF          \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DLIBCXX_INSTALL_LIBRARY=OFF
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            # reexported_symbols_list is available on 10.7+ only, used by libcxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            patchfiles-append 5004-patch-libcxx-reexport-symbols-lionorgreater-only.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:clang-${llvm_version}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            # the libcxx installed by MacPorts on darwin 10 and less does not correspond to Apple's builtin libcxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            patchfiles-append 5005-MacPorts-only-patch-libcxx-includes-disable-availability-tests.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # we have to run the destroot like this, because individual targets for each of the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # components we want to install are not available; we want "everything but llvm"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "cd ${destroot.dir}/tools/flang && ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.major} <= 9} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # TO DO: the blocks functionality can be replaced by libblocksruntime
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # this might be integrated into clang on < 10.6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            patchfiles-append leopard-no-blocks.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    notes-append {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        This version of flang passes off to another fortran compiler to do the actual compiling.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        At present, you may need to set the desired fortran compiler with an ENV VAR if\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        the default gfortran is not found on PATH.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        For example: F18_FC=gfortran-mp-11 flang-mp-13 hello.f90 -o hello.bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        See https://github.com/llvm/llvm-project/blob/master/flang/docs/ReleaseNotes.md
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "lldb-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${os.platform} eq "darwin" && ${os.major} < 17} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${subport} eq "clang-${llvm_version}" || ${subport} eq "mlir-${llvm_version}" || ${subport} eq "flang-${llvm_version}" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # temporarily restrict to newer systems until older systems can be rigorously vetted
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.platform} eq "darwin" && ${os.major} <= 10} {
</span>         depends_build
         depends_lib
         depends_run
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -380,40 +301,83 @@ if {${subport} eq "lldb-${llvm_version}"} {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        system "cd ${destroot.dir}/tools/clang && ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        system "cd ${destroot.dir}/projects/compiler-rt && ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        system "cd ${destroot.dir}/projects/libcxx && ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        system "cd ${destroot.dir}/projects/libcxxabi && ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        system "cd ${destroot.dir}/projects/lld && ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        system "cd ${destroot.dir}/tools/mlir && ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        system "cd ${destroot.dir}/tools/flang && ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${subport} eq "clang-${llvm_version}" || ${subport} eq "flang-${llvm_version}" } {
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        system "chmod 755 ${destroot}${sub_prefix}/bin/flang"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:libxml2 port:libomp port:llvm-${llvm_version} port:mlir-${llvm_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run-append  port:ld64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_skip_archcheck-append ld64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # CMAKE_LINKER is used to determine the value for HOST_LINK_VERSION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DCMAKE_LINKER=${prefix}/bin/ld    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DCLANG_INCLUDE_TESTS=OFF          \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DCLANG_ENABLE_STATIC_ANALYZER=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DCLANG_ENABLE_ARCMT=OFF           \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DDARWIN_PREFER_PUBLIC_SDK=ON      \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DLLVM_BUILD_RUNTIME=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} <= 18} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # on systems that might build i386, we need atomic builtins
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # https://trac.macports.org/ticket/58712
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append    -DCOMPILER_RT_EXCLUDE_ATOMIC_BUILTIN=OFF
</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;'>+    if {${os.major} <= 14} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # compiler-rt does a broad search for an SDK it likes, but this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # search fails on older systems that don't have a MacOSX.sdk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # TODO: apply this always to all systems?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${configure.sdkroot} eq ""} {set configure.sdkroot "/"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append    -DDARWIN_osx_SYSROOT="${configure.sdkroot}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # sanitizers in compiler_rt fail to build on older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # might be fixable with the use of newer SDK and/or effort if motivated
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # all three toggles are needed to force them off
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append    -DCOMPILER_RT_BUILD_SANITIZERS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 -DCOMPILER_RT_BUILD_XRAY=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 -DCOMPILER_RT_BUILD_MEMPROF=OFF
</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;'>+    if {${os.major} <= 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # xpc.h available 10.7 but doesn't support nullable features
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append    -DCLANGD_BUILD_XPC=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        delete ${destroot}${sub_prefix}/bin/clang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file rename ${destroot}${sub_prefix}/bin/clang-${clang_executable_version} ${destroot}${sub_prefix}/bin/clang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|/bin/clang-${clang_executable_version}|/bin/clang|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "${destroot}${sub_prefix}/lib/cmake/clang/ClangTargets-release.cmake"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} <= 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # avoid need for thread_local_storage
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append    -DCLANG_ENABLE_CLANGD=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 -DLLVM_ENABLE_BACKTRACES=OFF
</span>     }
 }
 
 if {${subport} eq "lldb-${llvm_version}"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|@@PREFIX@@|${prefix}|" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Clang.cpp \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|@CLANG_FORMAT_PATH@|${prefix}/bin/clang-format-${suffix}|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-bbedit.applescript \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-diff.py            \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-sublime.py         \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/tools/clang/tools/clang-format/clang-format.el                 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/tools/clang/tools/clang-format/clang-format.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    homepage            https://lldb.llvm.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description         the LLVM debugger
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    long_description    lldb is the "LLVM native" debugger.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:libedit port:libffi port:ncurses path:lib/libxar.dylib:xar port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:llvm-${llvm_version} port:clang-${llvm_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append port:swig-python port:doxygen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # error: use of undeclared identifier 'CPU_SUBTYPE_ARM64E
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.platform} eq "darwin" && ${os.major} <= 17} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # see Note 1 below
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_run
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        archive_sites
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        known_fail yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "${subport} is not supported on Darwin ${os.major} at present."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -code error {unsupported platform}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.dir   ${build.dir}/tools/lldb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DLLDB_CODESIGN_IDENTITY=- \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DLLDB_ENABLE_LUA=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set worksrcpath ${workpath}/${distname}/lldb
</span> 
     post-activate {
         ui_msg "Please follow the instructions at  https://lldb.llvm.org/resources/build.html#code-signing-on-macos and then codesign lldb-server with:"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -425,10 +389,36 @@ if {${subport} eq "lldb-${llvm_version}"} {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+variant tests description {Enable building of test code} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_test-append     port:py39-psutil
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.run                yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   -DLLVM_INCLUDE_TESTS=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    test.target             check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       test.target    check-all
</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;'>+   if {${subport} eq "lldb-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "running the test suite on ${subport} is not supported on this os version at present."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -code error {unsupported platform}
</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;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> post-destroot {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # remove the clang symlink and replace it with the actual binary
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        delete      ${destroot}${sub_prefix}/bin/clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file rename ${destroot}${sub_prefix}/bin/clang-${clang_exe_version} ${destroot}${sub_prefix}/bin/clang
</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;'>+    # generate a versioned wrapper script for each file in the bin directory
</span>     foreach bin [glob ${destroot}${sub_prefix}/bin/*] {
         set bin_filename [string map "${sub_prefix} ${prefix}" ${bin}]-${suffix}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set exec_path [string map "${destroot}${sub_prefix} ${sub_prefix}" ${bin}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set exec_path    [string map "${destroot}${sub_prefix} ${sub_prefix}" ${bin}]
</span> 
         # see https://trac.macports.org/ticket/54985
         if {${os.platform} eq "darwin" && [vercmp ${xcodeversion} 4.6] < 0} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -441,58 +431,30 @@ post-destroot {
</span>     }
 
     if {${subport} eq "llvm-${llvm_version}"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # r156389 (a5d2435409858728970202226d0bbbee508fe408) temporarilary removed llvm man pages
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        #foreach man [glob ${destroot}${sub_prefix}/share/man/man1/*.1] {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        #    set basename [string map "${destroot}${sub_prefix}/share/man/man1/ {}" ${man}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        #    file rename ${man} ${destroot}${prefix}/share/man/man1/[string map ".1 -${suffix}.1" ${basename}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        #}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>         # https://llvm.org/bugs/show_bug.cgi?id=19465
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset polly]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ln -s LLVMPolly.so ${destroot}${sub_prefix}/lib/LLVMPolly.dylib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } elseif {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        system "ditto ${worksrcpath}/projects/libcxx/include ${destroot}${sub_prefix}/lib/c++/v1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -s LLVMPolly.so ${destroot}${sub_prefix}/lib/LLVMPolly.dylib
</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;'>+    if {${subport} eq "flang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # fix errant permissions on the flang binary
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "chmod 755 ${destroot}${sub_prefix}/bin/flang"
</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;'>+    if {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # fix the cmake scripts to point to the versioned files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|/bin/clang-${clang_exe_version}|/bin/clang|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                  "${destroot}${sub_prefix}/lib/cmake/clang/ClangTargets-release.cmake"
</span> 
         # http://trac.macports.org/ticket/33207
         ln -s ${prefix}/libexec/ld64/ld ${destroot}${sub_prefix}/bin/ld
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    } elseif {${subport} eq "lldb-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        delete ${destroot}${prefix}/bin/debugserver-${suffix}
</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;'>-if {${os.major} < 11} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    variant emulated_tls description { enable c11/c++11 thread_local_storage support on older systems using emulated-tls } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # use emulated-tls to support thread_local on systems prior to 10.7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        patchfiles-append      9000-patch-llvm-7.0-support-emulated-tls.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            patchfiles-append  9000-patch-clang-7.0-support-emulated-tls.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${subport} eq "lldb-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        delete ${destroot}${prefix}/bin/debugserver-${suffix}
</span>     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    default_variants-append +emulated_tls
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "llvm-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    variant polly description {Provide the polly polyhedral optimizer} {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Unless upstream reverts to their old OCaml detection mechanism,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # this variant will be broken until #46161 is resolved.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    variant ocaml description {Enable generation of OCaml binding} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib-append   port:ocaml
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-delete -DLLVM_BINDINGS_LIST=none
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append -DLLVM_BINDINGS_LIST=ocaml
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        destroot.args-append  OVERRIDE_libdir=${sub_prefix}/lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} elseif {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset assertions]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Need to match llvm +-assertions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        require_active_variants port:llvm-${llvm_version} assertions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Need to match llvm +-assertions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        require_active_variants port:llvm-${llvm_version} {} assertions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} eq "clang-${llvm_version}"} {
</span> 
     variant analyzer description {Install clang static analyzer} {
         # these have to be switched on or off together
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -505,40 +467,39 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span> 
         post-patch {
             reinplace "s|/usr/bin/env perl|${prefix}/bin/perl5|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${worksrcpath}/tools/clang/tools/scan-build/libexec/ccc-analyzer \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${worksrcpath}/tools/clang/tools/scan-build/libexec/c++-analyzer \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${worksrcpath}/tools/clang/tools/scan-build/bin/scan-build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # pythonfullpath is set above, depending on presence of system python2.7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            reinplace "s|/usr/bin/env python|${pythonfullpath}|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 ${worksrcpath}/tools/clang/tools/scan-view/bin/scan-view
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${patch.dir}/clang/tools/scan-build/libexec/ccc-analyzer \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${patch.dir}/clang/tools/scan-build/libexec/c++-analyzer \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${patch.dir}/clang/tools/scan-build/bin/scan-build
</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:#ffe0e0;'>-            reinplace "s|/usr/bin/python|${pythonfullpath}|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${worksrcpath}/tools/clang/tools/scan-build/bin/set-xcode-analyzer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Avoid requiring a bootstrap version of perl5 on 10.6.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} >= 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        default_variants    +analyzer
</span>     }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     if { ${cxx_stdlib} eq "libc++" && ${os.major} < 13 } {
         variant defaultlibcxx description {default to -stdlib=libc++ if not otherwise specified}  {
             # on systems older than darwin 13, if macports.conf is configured to stdlib=libc++
             # then make that the default if not otherwise specified. This matches the behaviour of newer systems.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            patchfiles-append 9003-patch-clang-7.0-default-to-libcxx-on-all-systems.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            patchfiles-append 0018-10.6-and-less-clang-default-to-libc-on-all-darwin-sy.patch
</span>         }
         default_variants-append +defaultlibcxx
     }
 
     variant libstdcxx description {-stdlib=macports-libstdc++ searches for MacPorts libstdc++} {
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        patchfiles-append 9001-macports-libstdcxx.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append 0005-clang-support-macports-libstdcxx.patch
</span> 
         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:#ffe0e0;'>-                ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${patch.dir}/clang/lib/Frontend/InitHeaderSearch.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${patch.dir}/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/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${patch.dir}/clang/lib/Driver/ToolChains/Darwin.cpp
</span>             reinplace "s|@@MACPORTS_libstdc++@@|${prefix}/lib/libgcc/libstdc++.6.dylib|g" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${patch.dir}/clang/lib/Driver/ToolChains/Darwin.cpp
</span> 
             # GCC was built for ${build_arch}-apple-darwin${os.major}
             # if GCC was also built universal, it has an extra include directory
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -573,43 +534,21 @@ 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/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${patch.dir}/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/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${patch.dir}/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/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${patch.dir}/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/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${patch.dir}/clang/lib/Driver/ToolChains/Darwin.cpp
</span>         }
     }
     # at present, only the non-arm archs can use this variant
     if {${build_arch} in "x86_64 i386 ppc64 ppc"} {
         default_variants-append +libstdcxx
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|@@PREFIX@@|${prefix}|" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Clang.cpp \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|@CLANG_FORMAT_PATH@|${prefix}/bin/clang-format-${suffix}|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-bbedit.applescript \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-diff.py            \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-sublime.py         \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/tools/clang/tools/clang-format/clang-format.el                 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/tools/clang/tools/clang-format/clang-format.py
</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;'>-    post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file mkdir ${destroot}${sub_prefix}/libexec
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file copy ${worksrcpath}/tools/clang/tools/clang-format ${destroot}${sub_prefix}/libexec/clang-format
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file delete -force ${destroot}${sub_prefix}/libexec/clang-format/.svn
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file delete -force ${destroot}${sub_prefix}/libexec/clang-format/Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file delete -force ${destroot}${sub_prefix}/libexec/clang-format/Release+Debug+Asserts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file delete -force ${destroot}${sub_prefix}/libexec/clang-format/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file delete -force ${destroot}${sub_prefix}/libexec/clang-format/ClangFormat.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type          none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.type      regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.url       https://github.com/llvm/llvm-project/tags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex     llvmorg-(${llvm_version}.\[\\d.\]+).tar.gz
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0001-MacPorts-only-clang-use-MP-omp-locations.patch b/lang/llvm-devel/files/0001-MacPorts-only-clang-use-MP-omp-locations.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..99509d2e13d
</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-devel/files/0001-MacPorts-only-clang-use-MP-omp-locations.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,50 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From e27d02d4c95a48cfa3aa9f7c0f3d6dd4f45e4f22 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 16 May 2021 13:07:20 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 01/24] MacPorts-only: clang use MP omp locations
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+look in ${prefix}/lib/libomp for omp libraries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+* this patch requires post-patch reinplace
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/lib/Driver/ToolChains/Clang.cpp      | 2 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/lib/Driver/ToolChains/CommonArgs.cpp | 6 ++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 8 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1976b48e0f6a..981f35e36a0e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/lib/Driver/ToolChains/Clang.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/Driver/ToolChains/Clang.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5463,6 +5463,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case Driver::OMPRT_OMP:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case Driver::OMPRT_IOMP5:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       // Clang can generate useful OpenMP code for these two runtime libraries.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      // Automatically find MacPorts' omp.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      CmdArgs.push_back("-I@@PREFIX@@/include/libomp");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       CmdArgs.push_back("-fopenmp");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       // If no option regarding the use of TLS in OpenMP codegeneration is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bcaea71dca94..a88833055be7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -668,12 +668,18 @@ bool tools::addOpenMPRuntime(ArgStringList &CmdArgs, const ToolChain &TC,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   switch (RTKind) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   case Driver::OMPRT_OMP:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    // Automatically find MacPorts' libomp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CmdArgs.push_back("-L@@PREFIX@@/lib/libomp");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CmdArgs.push_back("-lomp");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   case Driver::OMPRT_GOMP:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    // Automatically find MacPorts' libomp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CmdArgs.push_back("-L@@PREFIX@@/lib/libomp");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CmdArgs.push_back("-lgomp");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   case Driver::OMPRT_IOMP5:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    // Automatically find MacPorts' libomp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CmdArgs.push_back("-L@@PREFIX@@/lib/libomp");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CmdArgs.push_back("-liomp5");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   case Driver::OMPRT_Unknown:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0002-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch b/lang/llvm-devel/files/0002-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 12429c9e407..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/0002-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,36 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 55278bd7f154686d9b9b8e31e4e526f8584468f6 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 18 Jan 2015 11:18:13 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 2/6] Define EXC_MASK_CRASH and MACH_EXCEPTION_CODES if they're
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- not defined in the SDK
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The 10.4 SDK does not define these macros
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lib/Support/Unix/Signals.inc | 9 +++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 9 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/lib/Support/Unix/Signals.inc macports_master/lib/Support/Unix/Signals.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ec3935928d2..529bbfb34c2 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/lib/Support/Unix/Signals.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/lib/Support/Unix/Signals.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -642,6 +642,15 @@ void llvm::sys::PrintStackTraceOnErrorSignal(StringRef Argv0,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   AddSignalHandler(PrintStackTraceSignalHandler, nullptr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if defined(__APPLE__) && ENABLE_CRASH_OVERRIDES
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* These aren't defined in the 10.4 SDK, so provide them here */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef EXC_MASK_CRASH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define EXC_MASK_CRASH 0x400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef MACH_EXCEPTION_CODES
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define MACH_EXCEPTION_CODES 0x80000000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   // Environment variable to disable any kind of crash dialog.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (DisableCrashReporting || getenv("LLVM_DISABLE_CRASH_REPORT")) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     mach_port_t self = mach_task_self();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.21.0 (Apple Git-120)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0002-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch b/lang/llvm-devel/files/0002-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f1606a948c5
</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-devel/files/0002-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 533f20535655..478232dc0ec8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -287,12 +287,14 @@ bool AsmPrinter::doInitialization(Module &M) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // alternative is duplicated code in each of the target asm printers that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // use the directive, where it would need the same conditionalization
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // anyway.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  const Triple &Target = TM.getTargetTriple();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  Triple TVT(M.getDarwinTargetVariantTriple());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  OutStreamer->emitVersionForTarget(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (MAI->useIntegratedAssembler()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    const Triple &Target = TM.getTargetTriple();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    Triple TVT(M.getDarwinTargetVariantTriple());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    OutStreamer->emitVersionForTarget(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       Target, M.getSDKVersion(),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       M.getDarwinTargetVariantTriple().empty() ? nullptr : &TVT,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       M.getDarwinTargetVariantSDKVersion());
</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;'>+   // Allow the target to emit any magic that it wants at the start of the file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   emitStartOfAsmFile(M);
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0003-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch b/lang/llvm-devel/files/0003-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 6fb9f66f817..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/0003-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,33 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 9b6ac68dbf1643543a3f1c4287255406069f061a Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 17 Jan 2015 16:41:30 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 3/6] MacPorts Only: Don't embed the deployment target in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- asm when using -fno-integrated-as
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-http://llvm.org/bugs/show_bug.cgi?id=21636
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 6 ++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 4 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/lib/CodeGen/AsmPrinter/AsmPrinter.cpp macports_master/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7adc59d096f..336d1384b8d 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -286,8 +286,10 @@ bool AsmPrinter::doInitialization(Module &M) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   // alternative is duplicated code in each of the target asm printers that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   // use the directive, where it would need the same conditionalization
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   // anyway.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  const Triple &Target = TM.getTargetTriple();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  OutStreamer->emitVersionForTarget(Target, M.getSDKVersion());
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if (MAI->useIntegratedAssembler()) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const Triple &Target = TM.getTargetTriple();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    OutStreamer->emitVersionForTarget(Target, M.getSDKVersion());
</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;'>-   // Allow the target to emit any magic that it wants at the start of the file.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   emitStartOfAsmFile(M);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.21.0 (Apple Git-120)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0003-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch b/lang/llvm-devel/files/0003-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ab2fad7fcdb
</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-devel/files/0003-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,82 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 898f186abe78b972d294949c260b279f76b32a2b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 17 May 2021 21:14:25 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 03/24] MacPorts Only: Prepare clang-format for replacement
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ with absolute path
</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;'>+ clang/tools/clang-format/clang-format-bbedit.applescript | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/tools/clang-format/clang-format-diff.py            | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/tools/clang-format/clang-format-sublime.py         | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/tools/clang-format/clang-format.el                 | 3 +--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/tools/clang-format/clang-format.py                 | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 5 files changed, 5 insertions(+), 6 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/tools/clang-format/clang-format-bbedit.applescript b/clang/tools/clang-format/clang-format-bbedit.applescript
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fa88fe900480..eb09448be561 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/tools/clang-format/clang-format-bbedit.applescript
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/tools/clang-format/clang-format-bbedit.applescript
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,7 +15,7 @@ tell application "BBEdit"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ end tell
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set filePath to urlToPOSIXPath(fileURL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-set newContents to do shell script "/path/to/clang-format -offset=" & selectionOffset & " -length=" & selectionLength & " " & quoted form of filePath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set newContents to do shell script "@CLANG_FORMAT_PATH@ -offset=" & selectionOffset & " -length=" & selectionLength & " " & quoted form of filePath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tell application "BBEdit"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   -- "set contents of text document 1 to newContents" scrolls to the bottom while
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/tools/clang-format/clang-format-diff.py b/clang/tools/clang-format/clang-format-diff.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6e653a134289..cbcf21474ccd 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/tools/clang-format/clang-format-diff.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/tools/clang-format/clang-format-diff.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -63,7 +63,7 @@ def main():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       'fallback in case clang-format is invoked with'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       '-style=file, but can not find the .clang-format'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       'file to use.')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  parser.add_argument('-binary', default='clang-format',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  parser.add_argument('-binary', default='@CLANG_FORMAT_PATH@',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       help='location of binary to use for clang-format')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   args = parser.parse_args()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/tools/clang-format/clang-format-sublime.py b/clang/tools/clang-format/clang-format-sublime.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 20c867092ef5..ae823c1d05b6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/tools/clang-format/clang-format-sublime.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/tools/clang-format/clang-format-sublime.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -18,7 +18,7 @@ import sublime_plugin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import subprocess
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Change this to the full path if clang-format is not on the path.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-binary = 'clang-format'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++binary = '@CLANG_FORMAT_PATH@'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Change this to format according to other formatting styles. See the output of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # 'clang-format --help' for a list of supported styles. The default looks for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/tools/clang-format/clang-format.el b/clang/tools/clang-format/clang-format.el
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 768acb3a5d0d..e702bc6af4db 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/tools/clang-format/clang-format.el
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/tools/clang-format/clang-format.el
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -37,8 +37,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   :group 'tools)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (defcustom clang-format-executable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  (or (executable-find "clang-format")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      "clang-format")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  "@CLANG_FORMAT_PATH@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "Location of the clang-format executable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ A string containing the name or the full path of the executable."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/tools/clang-format/clang-format.py b/clang/tools/clang-format/clang-format.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 76fedb648147..9cb9825cbe5d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/tools/clang-format/clang-format.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/tools/clang-format/clang-format.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -48,7 +48,7 @@ import vim
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # set g:clang_format_path to the path to clang-format if it is not on the path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Change this to the full path if clang-format is not on the path.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-binary = 'clang-format'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++binary = '@CLANG_FORMAT_PATH@'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if vim.eval('exists("g:clang_format_path")') == "1":
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   binary = vim.eval('g:clang_format_path')
</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;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/1002-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch b/lang/llvm-devel/files/0004-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch
</span>similarity index 53%
rename from lang/llvm-devel/files/1002-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch
rename to lang/llvm-devel/files/0004-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch
<span style='display:block; white-space:pre;color:#808080;'>index 7507e877150..a6c21b19565 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/1002-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/0004-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,14 +1,17 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From c391f668b5a767a3d003cf3fc7b8b4e7a321a06e Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 17 Jan 2015 17:55:27 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 1002/1007] MacPorts Only: Fix name of scan-view executable
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- inside scan-build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 6ff25e20ec478fcb76148c062beef0ca8d88f897 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 17 May 2021 21:15:35 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 04/24] MacPorts Only: Fix name of scan-view executable inside
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ scan-build
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-http://trac.macports.org/ticket/35006
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/tools/scan-build/bin/scan-build | 2 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 2 insertions(+)
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm/tools/clang/tools/scan-build/bin/scan-build.orig       2020-05-06 08:57:03.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ llvm/tools/clang/tools/scan-build/bin/scan-build       2020-05-07 12:22:47.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -969,6 +969,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/tools/scan-build/bin/scan-build b/clang/tools/scan-build/bin/scan-build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 645f5507b6fa..2eecc3b9a1dd 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/tools/scan-build/bin/scan-build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/tools/scan-build/bin/scan-build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -969,6 +969,8 @@ sub Finalize {
</span>        if ($Options{ViewResults} and -r "$Options{OutputDir}/index.html") {
          Diag "Viewing analysis results in '$Options{OutputDir}' using scan-view.\n";
          my $ScanView = Cwd::realpath("$RealBin/scan-view");
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -17,3 +20,6 @@ http://trac.macports.org/ticket/35006
</span>          if (! -x $ScanView) { $ScanView = "scan-view"; }
          if (! -x $ScanView) { $ScanView = Cwd::realpath("$RealBin/../../scan-view/bin/scan-view"); }
          if (! -x $ScanView) { $ScanView = `which scan-view`; chomp $ScanView; }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0005-Threading-Only-call-pthread_setname_np-on-SnowLeopar.patch b/lang/llvm-devel/files/0005-Threading-Only-call-pthread_setname_np-on-SnowLeopar.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index fa6c6c0f2d1..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/0005-Threading-Only-call-pthread_setname_np-on-SnowLeopar.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,36 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From fc3f9d69c4a99764af0885335c10e5286be351e9 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 27 Dec 2017 23:05:43 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 5/6] Threading: Only call pthread_setname_np() on SnowLeopard+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lib/Support/Unix/Threading.inc | 3 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 3 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/lib/Support/Unix/Threading.inc macports_master/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ed9a9656305..e8f9a13860f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16,6 +16,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "llvm/ADT/Twine.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <Availability.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <mach/mach_init.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <mach/mach_port.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -176,8 +176,10 @@ void llvm::set_thread_name(const Twine &Name) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ::pthread_setname_np(::pthread_self(), "%s",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     const_cast<char *>(NameStr.data()));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 1060
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ::pthread_setname_np(NameStr.data());
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</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;'>- void llvm::get_thread_name(SmallVectorImpl<char> &Name) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.21.0 (Apple Git-120)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><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/0005-clang-support-macports-libstdcxx.patch
</span>similarity index 58%
rename from lang/llvm-devel/files/9001-macports-libstdcxx.diff
rename to lang/llvm-devel/files/0005-clang-support-macports-libstdcxx.patch
<span style='display:block; white-space:pre;color:#808080;'>index 8ebac37f86e..af3794c4457 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/0005-clang-support-macports-libstdcxx.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,37 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- orig/tools/clang/include/clang/Lex/HeaderSearchOptions.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ new/tools/clang/include/clang/Lex/HeaderSearchOptions.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 4e850191efa6659de85a4ff9be7c896cfb0bb1ec Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 17 May 2021 21:28:40 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 05/24] clang: support macports-libstdcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+requires reinplace of search paths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/include/clang/Driver/ToolChain.h        |  3 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/include/clang/Lex/HeaderSearchOptions.h |  3 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/lib/Driver/ToolChain.cpp                |  3 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/lib/Driver/ToolChains/Darwin.cpp        | 40 ++++++++++++++-----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/lib/Driver/ToolChains/Hexagon.cpp       |  2 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/lib/Frontend/CompilerInvocation.cpp.rej | 21 ++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/lib/Frontend/InitHeaderSearch.cpp       |  2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 7 files changed, 63 insertions(+), 11 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 clang/lib/Frontend/CompilerInvocation.cpp.rej
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/include/clang/Driver/ToolChain.h b/clang/include/clang/Driver/ToolChain.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 28c37a44e1eb..78fcaec7bfb0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/include/clang/Driver/ToolChain.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/include/clang/Driver/ToolChain.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -94,7 +94,8 @@ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   enum CXXStdlibType {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CST_Libcxx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    CST_Libstdcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CST_Libstdcxx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CST_MacPortsLibstdcxx
</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;'>+   enum RuntimeLibType {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/include/clang/Lex/HeaderSearchOptions.h b/clang/include/clang/Lex/HeaderSearchOptions.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 42f3cff8c57a..97a01793c12c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/include/clang/Lex/HeaderSearchOptions.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/include/clang/Lex/HeaderSearchOptions.h
</span> @@ -189,6 +189,9 @@ public:
    /// Use libc++ instead of the default libstdc++.
    unsigned UseLibcxx : 1;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,46 +42,33 @@
</span>    /// Whether header search information should be output as for -v.
    unsigned Verbose : 1;
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp.orig   2020-05-06 08:57:03.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp   2020-05-07 12:51:38.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2939,8 +2939,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "clang/Driver/Options.inc"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #undef HEADER_SEARCH_OPTION_WITH_MARSHALLING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if (const Arg *A = Args.getLastArg(OPT_stdlib_EQ))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if (const Arg *A = Args.getLastArg(OPT_stdlib_EQ)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     Opts.UseLibcxx = (strcmp(A->getValue(), "libc++") == 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    Opts.UseMacPortsLibstdcxx = (strcmp(A->getValue(), "macports-libstdc++") == 0);
</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;'>-   // Canonicalize -fmodules-cache-path before storing it.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   SmallString<128> P(Args.getLastArgValue(OPT_fmodules_cache_path));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- orig/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ new/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -108,7 +108,7 @@ static bool CanPrefixSysroot(StringRef Path) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if defined(_WIN32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   return !Path.empty() && llvm::sys::path::is_separator(Path[0]);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  return llvm::sys::path::is_absolute(Path);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  return llvm::sys::path::is_absolute(Path) && Path.find("@@MACPORTS_GCC_INCLUDE_DIR@@")!=0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</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;'>---- orig/tools/clang/include/clang/Driver/ToolChain.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ new/tools/clang/include/clang/Driver/ToolChain.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -94,7 +94,8 @@ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b2ddef141a75..6160843b6885 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/lib/Driver/ToolChain.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/Driver/ToolChain.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -826,7 +826,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     cxxStdlibType = ToolChain::CST_Libcxx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else if (LibName == "libstdc++")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     cxxStdlibType = ToolChain::CST_Libstdcxx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  else if (LibName == "macports-libstdc++")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    cxxStdlibType = ToolChain::CST_MacPortsLibstdcxx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else if (LibName == "platform")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     cxxStdlibType = GetDefaultCXXStdlibType();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else {
</span>  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   enum CXXStdlibType {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CST_Libcxx,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    CST_Libstdcxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    CST_Libstdcxx,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    CST_MacPortsLibstdcxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1017,6 +1019,7 @@ void ToolChain::AddCXXStdlibLibArgs(const ArgList &Args,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     break;
</span>  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   enum RuntimeLibType {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- orig/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ new/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2045,8 +2045,9 @@ void DarwinClang::AddClangCXXStdlibInclu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   case ToolChain::CST_Libstdcxx:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  case ToolChain::CST_MacPortsLibstdcxx:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CmdArgs.push_back("-lstdc++");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index eb7bd4aec898..daa8e520e404 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2039,8 +2039,9 @@ void DarwinClang::AddClangCXXStdlibIncludeArgs(
</span>      return;
  
    llvm::StringRef Sysroot = GetHeaderSysroot(DriverArgs);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -60,7 +79,7 @@
</span>    case ToolChain::CST_Libcxx: {
      // On Darwin, libc++ can be installed in one of the following two places:
      // 1. Alongside the compiler in         <install>/include/c++/v1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2088,6 +2089,7 @@ void DarwinClang::AddClangCXXStdlibInclu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2082,6 +2083,7 @@ void DarwinClang::AddClangCXXStdlibIncludeArgs(
</span>    }
  
    case ToolChain::CST_Libstdcxx:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -68,7 +87,7 @@
</span>      llvm::SmallString<128> UsrIncludeCxx = Sysroot;
      llvm::sys::path::append(UsrIncludeCxx, "usr", "include", "c++");
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2098,10 +2100,17 @@ void DarwinClang::AddClangCXXStdlibInclu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2092,10 +2094,17 @@ void DarwinClang::AddClangCXXStdlibIncludeArgs(
</span>  
      case llvm::Triple::ppc:
      case llvm::Triple::ppc64:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -88,9 +107,9 @@
</span> +                                                 "powerpc-apple-darwin10",
 +                                                 arch == llvm::Triple::ppc64 ? "ppc64" : "");
        IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                                                 "4.0.0", "powerpc-apple-darwin8",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                 "4.0.0", "powerpc-apple-darwin10",
</span>                                                   arch == llvm::Triple::ppc64 ? "ppc64" : "");
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2109,10 +2118,17 @@ void DarwinClang::AddClangCXXStdlibInclu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2103,10 +2112,17 @@ void DarwinClang::AddClangCXXStdlibIncludeArgs(
</span>  
      case llvm::Triple::x86:
      case llvm::Triple::x86_64:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -111,8 +130,8 @@
</span> +                                                 arch == llvm::Triple::x86_64 ? "x86_64" : "");
        IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
                                                  "4.0.0", "i686-apple-darwin8",
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                                                  arch == llvm::Triple::x86_64 ? "x86_64" : "");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2155,6 +2171,12 @@ void DarwinClang::AddCXXStdlibLibArgs(co
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                  "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2149,6 +2165,12 @@ void DarwinClang::AddCXXStdlibLibArgs(const ArgList &Args,
</span>      break;
  
    case ToolChain::CST_Libstdcxx:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -125,9 +144,11 @@
</span>      // Unfortunately, -lstdc++ doesn't always exist in the standard search path;
      // it was previously found in the gcc lib dir. However, for all the Darwin
      // platforms we care about it was -lstdc++.6, so we search for that
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- orig/tools/clang/lib/Driver/ToolChains/Hexagon.cpp.orig     2020-05-06 08:57:03.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ new/tools/clang/lib/Driver/ToolChains/Hexagon.cpp      2020-05-07 12:43:10.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -643,6 +643,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/lib/Driver/ToolChains/Hexagon.cpp b/clang/lib/Driver/ToolChains/Hexagon.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fb54f73bcd4c..0260a32096af 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/lib/Driver/ToolChains/Hexagon.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/Driver/ToolChains/Hexagon.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -643,6 +643,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;'>@@ -136,22 +157,46 @@
</span>    if (Value != "libstdc++" && Value != "libc++")
      getDriver().Diag(diag::err_drv_invalid_stdlib_name) << A->getAsString(Args);
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- orig/tools/clang/lib/Driver/ToolChain.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ new/tools/clang/lib/Driver/ToolChain.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -965,6 +965,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cxxStdlibType = ToolChain::CST_Libcxx;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   else if (LibName == "libstdc++")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cxxStdlibType = ToolChain::CST_Libstdcxx;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  else if (LibName == "macports-libstdc++")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    cxxStdlibType = ToolChain::CST_MacPortsLibstdcxx;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   else if (LibName == "platform")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     cxxStdlibType = GetDefaultCXXStdlibType();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1060,6 +1062,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/lib/Frontend/CompilerInvocation.cpp.rej b/clang/lib/Frontend/CompilerInvocation.cpp.rej
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+new file mode 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 000000000000..227618c333c4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/Frontend/CompilerInvocation.cpp.rej
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++***************
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++*** 2939,2946 ****
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  #include "clang/Driver/Options.inc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  #undef HEADER_SEARCH_OPTION_WITH_MARSHALLING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++-   if (const Arg *A = Args.getLastArg(OPT_stdlib_EQ))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      Opts.UseLibcxx = (strcmp(A->getValue(), "libc++") == 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    // Canonicalize -fmodules-cache-path before storing it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    SmallString<128> P(Args.getLastArgValue(OPT_fmodules_cache_path));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++--- 2939,2948 ----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  #include "clang/Driver/Options.inc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  #undef HEADER_SEARCH_OPTION_WITH_MARSHALLING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++   if (const Arg *A = Args.getLastArg(OPT_stdlib_EQ)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      Opts.UseLibcxx = (strcmp(A->getValue(), "libc++") == 0);
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++     Opts.UseMacPortsLibstdcxx = (strcmp(A->getValue(), "macports-libstdc++") == 0);
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    // Canonicalize -fmodules-cache-path before storing it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    SmallString<128> P(Args.getLastArgValue(OPT_fmodules_cache_path));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/lib/Frontend/InitHeaderSearch.cpp b/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bc31445d6d08..abc3750edec0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -108,7 +108,7 @@ static bool CanPrefixSysroot(StringRef Path) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(_WIN32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return !Path.empty() && llvm::sys::path::is_separator(Path[0]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  return llvm::sys::path::is_absolute(Path);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return llvm::sys::path::is_absolute(Path) && Path.find("@@MACPORTS_GCC_INCLUDE_DIR@@")!=0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   case ToolChain::CST_Libstdcxx:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  case ToolChain::CST_MacPortsLibstdcxx:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CmdArgs.push_back("-lstdc++");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0006-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch b/lang/llvm-devel/files/0006-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c932c4a4894
</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-devel/files/0006-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,32 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 42707294da2789a755eedcd1af1a7fe0bc419925 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 16 May 2021 12:13:00 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 06/24] Define EXC_MASK_CRASH and MACH_EXCEPTION_CODES if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ they're not defined in the SDK
</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;'>+ llvm/lib/Support/Unix/Signals.inc | 9 +++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 9 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/llvm/lib/Support/Unix/Signals.inc b/llvm/lib/Support/Unix/Signals.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3d7b5d2fe5aa..7280003dacfb 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/llvm/lib/Support/Unix/Signals.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/llvm/lib/Support/Unix/Signals.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -642,6 +642,15 @@ void llvm::sys::PrintStackTraceOnErrorSignal(StringRef Argv0,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   AddSignalHandler(PrintStackTraceSignalHandler, nullptr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(__APPLE__) && ENABLE_CRASH_OVERRIDES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* These aren't defined in the 10.4 SDK, so provide them here */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef EXC_MASK_CRASH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define EXC_MASK_CRASH 0x400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef MACH_EXCEPTION_CODES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define MACH_EXCEPTION_CODES 0x80000000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Environment variable to disable any kind of crash dialog.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (DisableCrashReporting || getenv("LLVM_DISABLE_CRASH_REPORT")) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     mach_port_t self = mach_task_self();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0006-Only-call-setpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch b/lang/llvm-devel/files/0006-Only-call-setpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 9443576b474..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/0006-Only-call-setpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,29 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From e6f64b0058a576c78f7ad4dee747c269b0444006 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Thu, 4 Jul 2019 13:23:19 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 6/6] Only call setpriority(PRIO_DARWIN_THREAD, 0,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PRIO_DARWIN_BG) if it is available
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Tiger and earlier versions of darwin do not support this.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lib/Support/Unix/Threading.inc | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/lib/Support/Unix/Threading.inc macports_master/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e8f9a13860f..e731f750c1d 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -260,7 +260,7 @@ SetThreadPriorityResult llvm::set_thread_priority(ThreadPriority Priority) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-              &priority)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-              ? SetThreadPriorityResult::SUCCESS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-              : SetThreadPriorityResult::FAILURE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#elif defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#elif defined(__APPLE__) && defined(PRIO_DARWIN_THREAD) && defined(PRIO_DARWIN_BG)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   // https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man2/getpriority.2.html
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   // When setting a thread into background state the scheduling priority is set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   // to lowest value, disk and network IO are throttled. Network IO will be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.21.0 (Apple Git-120)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0007-Threading-Only-call-pthread_setname_np-if-we-have-it.patch b/lang/llvm-devel/files/0007-Threading-Only-call-pthread_setname_np-if-we-have-it.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7fb3372b58e
</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-devel/files/0007-Threading-Only-call-pthread_setname_np-if-we-have-it.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From af4b8f8987248e442faaad339261332e05e254b8 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 16 May 2021 12:21:10 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 07/24] Threading: Only call pthread_setname_np() if we have it
</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;'>+ llvm/lib/Support/Unix/Threading.inc | 2 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 2 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/llvm/lib/Support/Unix/Threading.inc b/llvm/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 667d023fc134..8162c60b2cdd 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/llvm/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/llvm/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -176,8 +176,10 @@ void llvm::set_thread_name(const Twine &Name) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ::pthread_setname_np(::pthread_self(), "%s",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const_cast<char *>(NameStr.data()));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if HAVE_PTHREAD_SETNAME_NP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ::pthread_setname_np(NameStr.data());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</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;'>+ void llvm::get_thread_name(SmallVectorImpl<char> &Name) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0007-patch-llvm8-tools-dsymutil-symbolmap-use-older-cfname-and-fix-uuid-on-leopard.diff b/lang/llvm-devel/files/0007-patch-llvm8-tools-dsymutil-symbolmap-use-older-cfname-and-fix-uuid-on-leopard.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 540fe8fb407..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/0007-patch-llvm8-tools-dsymutil-symbolmap-use-older-cfname-and-fix-uuid-on-leopard.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,23 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/tools/dsymutil/SymbolMap.cpp b/tools/dsymutil/SymbolMap.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index cab9374a..5c2377e4 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/tools/dsymutil/SymbolMap.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/tools/dsymutil/SymbolMap.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17,8 +17,18 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <CoreFoundation/CoreFoundation.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <uuid/uuid.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if MAC_OS_X_VERSION_MAX_ALLOWED < 1060
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* declare a missing reference not found in SDK < 10.6 for function called below */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef char * uuid_string_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef struct __CFError * CFErrorRef;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define CFPropertyListCreateWithStream(A,B,C,D,E,F) CFPropertyListCreateFromStream(A,B,C,D,E,F)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</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;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace llvm {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace dsymutil {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0008-Threading-Only-call-setpriority-PRIO_DARWIN_THREAD-0.patch b/lang/llvm-devel/files/0008-Threading-Only-call-setpriority-PRIO_DARWIN_THREAD-0.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..baded5d63e2
</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-devel/files/0008-Threading-Only-call-setpriority-PRIO_DARWIN_THREAD-0.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,25 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 718ec394030ca2da3973e0135d073e000b366848 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 16 May 2021 12:22:44 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 08/24] Threading: Only call setpriority(PRIO_DARWIN_THREAD, 0,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PRIO_DARWIN_BG) if it is available
</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;'>+ llvm/lib/Support/Unix/Threading.inc | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/llvm/lib/Support/Unix/Threading.inc b/llvm/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8162c60b2cdd..e0564c24b7f2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/llvm/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/llvm/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -259,7 +259,7 @@ SetThreadPriorityResult llvm::set_thread_priority(ThreadPriority Priority) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              &priority)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              ? SetThreadPriorityResult::SUCCESS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              : SetThreadPriorityResult::FAILURE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif defined(__APPLE__) && defined(PRIO_DARWIN_THREAD) && defined(PRIO_DARWIN_BG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man2/getpriority.2.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // When setting a thread into background state the scheduling priority is set
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // to lowest value, disk and network IO are throttled. Network IO will be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0008-patch-lib-support-unix-path-copyfileclone-on-older-systems.diff b/lang/llvm-devel/files/0008-patch-lib-support-unix-path-copyfileclone-on-older-systems.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 2239aae272b..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/0008-patch-lib-support-unix-path-copyfileclone-on-older-systems.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,14 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git trunk/lib/Support/Unix/Path.inc.orig trunk/lib/Support/Unix/Path.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c64c0df..aaa2226 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- trunk/lib/Support/Unix/Path.inc.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ trunk/lib/Support/Unix/Path.inc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -39,6 +39,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <mach-o/dyld.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <sys/attr.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <copyfile.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef COPYFILE_CLONE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define COPYFILE_CLONE            (1<<24)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif defined(__FreeBSD__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <osreldate.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if __FreeBSD_version >= 1300057
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0009-lib-Support-Unix-Path.inc-define-COPYFILE_CLONE-if-n.patch b/lang/llvm-devel/files/0009-lib-Support-Unix-Path.inc-define-COPYFILE_CLONE-if-n.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..08bb497d318
</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-devel/files/0009-lib-Support-Unix-Path.inc-define-COPYFILE_CLONE-if-n.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,23 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 22a94ab53fbde0a2c161d3cd07e35b0eb78160b9 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 16 May 2021 12:27:31 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 09/24] lib/Support/Unix/Path.inc: define COPYFILE_CLONE if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ needed
</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;'>+ llvm/lib/Support/Unix/Path.inc | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 5 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/llvm/lib/Support/Unix/Path.inc b/llvm/lib/Support/Unix/Path.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a18650aadb6e..3fefd4e7ae91 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/llvm/lib/Support/Unix/Path.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/llvm/lib/Support/Unix/Path.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -39,6 +39,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <mach-o/dyld.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/attr.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <copyfile.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef COPYFILE_CLONE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define COPYFILE_CLONE  (1<<24)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if __has_include(<sys/clonefile.h>)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/clonefile.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/leopard-no-asan.patch b/lang/llvm-devel/files/0010-compiler-rt-cmake-config-ix.cmake-was-Leopard-No-ASA.patch
</span>similarity index 50%
rename from lang/llvm-devel/files/leopard-no-asan.patch
rename to lang/llvm-devel/files/0010-compiler-rt-cmake-config-ix.cmake-was-Leopard-No-ASA.patch
<span style='display:block; white-space:pre;color:#808080;'>index 6d73fe61695..b8fe8378c00 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/leopard-no-asan.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/0010-compiler-rt-cmake-config-ix.cmake-was-Leopard-No-ASA.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,6 +1,17 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/projects/compiler-rt/cmake/config-ix.cmake       2015-11-29 22:17:04.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/projects/compiler-rt/cmake/config-ix.cmake       2015-11-29 22:19:16.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -414,9 +414,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 5b239286a37f4e3a0b8b843b1784acf6e4632a41 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 16 May 2021 12:58:33 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 10/24] compiler-rt/cmake/config-ix.cmake was Leopard: No ASAN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+don't error parsing this script on < 10.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ compiler-rt/cmake/config-ix.cmake | 3 ---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f81b8384cbd5..f4d47da7c4f4 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/compiler-rt/cmake/config-ix.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/compiler-rt/cmake/config-ix.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -414,9 +414,6 @@ if(APPLE)
</span>      else()
        set(SANITIZER_MIN_OSX_VERSION ${DEFAULT_SANITIZER_MIN_OSX_VERSION})
      endif()
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,3 +21,6 @@
</span>      if(SANITIZER_MIN_OSX_VERSION VERSION_GREATER ${DEFAULT_SANITIZER_MIN_OSX_VERSION})
        message(WARNING "macOS deployment target '${SANITIZER_MIN_OSX_VERSION}' is too new, setting to '${DEFAULT_SANITIZER_MIN_OSX_VERSION}' instead.")
        set(SANITIZER_MIN_OSX_VERSION ${DEFAULT_SANITIZER_MIN_OSX_VERSION})
<span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/3001-Fix-missing-long-long-math-prototypes-when-using-the.patch b/lang/llvm-devel/files/0011-Fix-missing-long-long-math-prototypes-when-using-the.patch
</span>similarity index 60%
rename from lang/llvm-devel/files/3001-Fix-missing-long-long-math-prototypes-when-using-the.patch
rename to lang/llvm-devel/files/0011-Fix-missing-long-long-math-prototypes-when-using-the.patch
<span style='display:block; white-space:pre;color:#808080;'>index 8a1858135b5..f3a875f0e7f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/3001-Fix-missing-long-long-math-prototypes-when-using-the.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/0011-Fix-missing-long-long-math-prototypes-when-using-the.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,18 +1,16 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From f632702961bff5e226cc09aa9f992e53b95697b2 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 17 Jan 2015 16:26:20 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 3001/3002] Fix missing long long math prototypes when using
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- the Snow Leopard SDK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 1040a210f53cc8a96f4e2c0bfc2b7ea53479955a Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 17 May 2021 17:21:47 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 11/24] Fix missing long long math prototypes when using the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Snow Leopard SDK
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span> ---
<span style='display:block; white-space:pre;background:#ffe0e0;'>- include/math.h | 26 ++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcxx/include/math.h | 26 ++++++++++++++++++++++++++
</span>  1 file changed, 26 insertions(+)
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/projects/libcxx/include/math.h macports_master/projects/libcxx/include/math.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 194df2077..14d14fe08 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/projects/libcxx/include/math.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/projects/libcxx/include/math.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/libcxx/include/math.h b/libcxx/include/math.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1603d5748e2d..d64e6a52ccd3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/libcxx/include/math.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/libcxx/include/math.h
</span> @@ -299,6 +299,32 @@ long double    truncl(long double x);
  
  #include_next <math.h>
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,5 +45,5 @@ index 194df2077..14d14fe08 100644
</span>  
  // We support including .h headers inside 'extern "C"' contexts, so switch
 -- 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-2.21.0 (Apple Git-120)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span> 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0012-compiler-rt-add-some-defs-missing-in-older-SDKs.patch b/lang/llvm-devel/files/0012-compiler-rt-add-some-defs-missing-in-older-SDKs.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..316b85770ca
</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-devel/files/0012-compiler-rt-add-some-defs-missing-in-older-SDKs.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,47 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 469281c821580ff8c89db236b35ef0a7c651633c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 17 May 2021 17:29:16 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 12/24] compiler-rt: add some defs missing in older SDKs
</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;'>+ compiler-rt/lib/fuzzer/FuzzerUtilDarwin.cpp        | 8 ++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp | 5 +++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 13 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/compiler-rt/lib/fuzzer/FuzzerUtilDarwin.cpp b/compiler-rt/lib/fuzzer/FuzzerUtilDarwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a5bed658a446..b853462df3d2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/compiler-rt/lib/fuzzer/FuzzerUtilDarwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/compiler-rt/lib/fuzzer/FuzzerUtilDarwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,6 +19,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/wait.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <unistd.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// add definition missing on older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef POSIX_SPAWN_SETSIGMASK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define POSIX_SPAWN_SETSIGMASK          0x0008
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef POSIX_SPAWN_SETSIGDEF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define POSIX_SPAWN_SETSIGDEF           0x0004
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // There is no header for this on macOS so declare here
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern "C" char **environ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2b53d7d730d7..6950f8757dd0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -110,6 +110,11 @@ extern "C" int __munmap(void *, size_t) SANITIZER_WEAK_ATTRIBUTE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define VM_MEMORY_SANITIZER 99
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// From <sys/spawn.h> but not in some SDKs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef POSIX_SPAWN_CLOEXEC_DEFAULT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define   POSIX_SPAWN_CLOEXEC_DEFAULT     0x4000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // XNU on Darwin provides a mmap flag that optimizes allocation/deallocation of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // giant memory regions (i.e. shadow memory regions).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define kXnuFastMmapFd 0x4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/5002-patch-toolchains-darwin-add-back-pre-10.6-link-libs.diff b/lang/llvm-devel/files/0013-clang-add-back-runtime-libraries-used-on-10.4-and-10.patch
</span>similarity index 67%
rename from lang/llvm-devel/files/5002-patch-toolchains-darwin-add-back-pre-10.6-link-libs.diff
rename to lang/llvm-devel/files/0013-clang-add-back-runtime-libraries-used-on-10.4-and-10.patch
<span style='display:block; white-space:pre;color:#808080;'>index 37cd49ae7ff..822a17455fc 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/5002-patch-toolchains-darwin-add-back-pre-10.6-link-libs.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/0013-clang-add-back-runtime-libraries-used-on-10.4-and-10.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,4 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-add back runtime libraries used on 10.4 and 10.5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 5d31528f4eaeebf1918f573cf3c61810594b8fa9 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 17 May 2021 17:44:35 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 13/24] clang: add back runtime libraries used on 10.4 and 10.5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> removed in https://github.com/llvm/llvm-project/commit/3434ade2b7ca351b61522f7da4b55070d811b83f
 
 related, the following code used to add libclang_rt_10.4.a to Tiger, but this library
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,11 +13,14 @@ it may be easiest to just add Tiger functions to libclang_rt.osx.a directly
</span>    //   AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.10.4.a");
    // else
    //   AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.osx.a");
<span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/lib/Driver/ToolChains/Darwin.cpp | 6 ++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 6 insertions(+)
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/tools/clang/lib/Driver/ToolChains/Darwin.cpp b/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index bea877ae9..26f1ad714 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index daa8e520e404..da1d171ce859 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/Driver/ToolChains/Darwin.cpp
</span> @@ -1334,6 +1334,12 @@ void DarwinClang::AddLinkRuntimeLibArgs(const ArgList &Args,
          getTriple().getArch() != llvm::Triple::aarch64)
        CmdArgs.push_back("-lgcc_s.1");
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,3 +34,6 @@ index bea877ae9..26f1ad714 100644
</span>    AddLinkRuntimeLib(Args, CmdArgs, "builtins");
  }
  
<span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/1007-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch b/lang/llvm-devel/files/0014-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch
</span>similarity index 51%
rename from lang/llvm-devel/files/1007-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch
rename to lang/llvm-devel/files/0014-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch
<span style='display:block; white-space:pre;color:#808080;'>index c9bc6a47b15..79c6b309a08 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/1007-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/0014-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,20 +1,15 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From eae229c3da65a256c168f3e36e00448812acbf9c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Thu, 20 Jul 2017 17:15:35 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 1007/1007] Fix float.h to work on Snow Leopard and earlier
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From da18cf6ace36cc4a73e315c609d06a5cb2bf4903 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 17 May 2021 21:11:39 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 14/24] Fix float.h to work on Snow Leopard and earlier
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-https://bugs.llvm.org/show_bug.cgi?id=31504
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-https://trac.macports.org/ticket/54135
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span> ---
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lib/Headers/float.h | 7 ++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/lib/Headers/float.h | 7 ++++++-
</span>  1 file changed, 6 insertions(+), 1 deletion(-)
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/tools/clang/lib/Headers/float.h macports_master/tools/clang/lib/Headers/float.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ed610b24aa..9dc3c0a12a 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/tools/clang/lib/Headers/float.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/tools/clang/lib/Headers/float.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/lib/Headers/float.h b/clang/lib/Headers/float.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ed610b24aa10..9dc3c0a12a03 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/lib/Headers/float.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/Headers/float.h
</span> @@ -17,7 +17,12 @@
   * Also fall back on Darwin to allow additional definitions and
   * implementation-defined values.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -30,5 +25,5 @@ index ed610b24aa..9dc3c0a12a 100644
</span>  
  /* Prior to Apple's 10.7 SDK, float.h SDK header used to apply an extra level
 -- 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-2.21.0 (Apple Git-120)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span> 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0015-Fixup-libstdc-header-search-paths-for-older-versions.patch b/lang/llvm-devel/files/0015-Fixup-libstdc-header-search-paths-for-older-versions.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5b9949a2f87
</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-devel/files/0015-Fixup-libstdc-header-search-paths-for-older-versions.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,34 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 272e5f29ac311ec138652e680a3b1400bad0a1fa Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 17 May 2021 21:12:59 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 15/24] Fixup libstdc++ header search paths for older versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ of Mac OS X
</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;'>+ clang/lib/Driver/ToolChains/Darwin.cpp | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 2 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index da1d171ce859..cef270cfc34a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2112,7 +2112,7 @@ void DarwinClang::AddClangCXXStdlibIncludeArgs(
</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-darwin10",
</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;'>+       break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2131,7 +2131,7 @@ void DarwinClang::AddClangCXXStdlibIncludeArgs(
</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;'>+-                                                 "");
</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;'>+       break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case llvm::Triple::arm:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/5000-patch-compilerrtdarwinutils-find-macosxsdkversion.diff b/lang/llvm-devel/files/0016-10.10-and-less-compiler-rt-find-macosx-sdk.patch
</span>similarity index 56%
rename from lang/llvm-devel/files/5000-patch-compilerrtdarwinutils-find-macosxsdkversion.diff
rename to lang/llvm-devel/files/0016-10.10-and-less-compiler-rt-find-macosx-sdk.patch
<span style='display:block; white-space:pre;color:#808080;'>index 1286088c460..9da35c90a8f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/5000-patch-compilerrtdarwinutils-find-macosxsdkversion.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/0016-10.10-and-less-compiler-rt-find-macosx-sdk.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,6 +1,17 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/projects/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake.orig  2020-04-20 17:14:08.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/projects/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake       2020-04-20 17:31:44.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -69,15 +69,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From e7fe0d485d8b41d35410f3bec3683eba391a1917 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 17 May 2021 21:17:07 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 16/24] 10.10 and less: compiler-rt find macosx sdk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if there is no sdk that responds to "macosx" use the CMAKE passed in deployment target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../cmake/Modules/CompilerRTDarwinUtils.cmake      | 14 +++++---------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 5 insertions(+), 9 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake b/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 456a8dcda59f..e9f6f577d626 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -69,15 +69,6 @@ function(find_darwin_sdk_version var sdk_name)
</span>        ERROR_FILE /dev/null
      )
    endif()
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -16,7 +27,7 @@
</span>    set(${var} ${var_internal} PARENT_SCOPE)
  endfunction()
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -128,6 +119,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -128,6 +119,11 @@ function(darwin_test_archs os valid_archs)
</span>      # binaries.
      if ("${os}" STREQUAL "osx")
        find_darwin_sdk_version(macosx_sdk_version "macosx")
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,3 +39,6 @@
</span>        if ("${macosx_sdk_version}" VERSION_GREATER 10.15 OR "${macosx_sdk_version}" VERSION_EQUAL 10.15)
          message(STATUS "Disabling i386 slice for ${valid_archs}")
          list(REMOVE_ITEM archs "i386")
<span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0017-10.6-and-less-libcxx-work-around-no-reexported_symbo.patch b/lang/llvm-devel/files/0017-10.6-and-less-libcxx-work-around-no-reexported_symbo.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..64696ae573b
</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-devel/files/0017-10.6-and-less-libcxx-work-around-no-reexported_symbo.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,43 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From f1342ea845c1126f17dc6a8e73244c645e80d20f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 17 May 2021 17:58:11 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 17/24] 10.6 and less: libcxx work around no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reexported_symbols_list before 10.7
</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;'>+ libcxx/src/CMakeLists.txt | 13 +++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 13 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9965104cb5b2..3d64f728016f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/libcxx/src/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/libcxx/src/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -222,6 +222,8 @@ if (LIBCXX_ENABLE_SHARED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     set(LIBCXX_OSX_REEXPORT_LIBCXXABI_SYMBOLS ON)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# MacPorts: work around no OS support for reexported_symbols_list before 10.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if (CMAKE_OSX_DEPLOYMENT_TARGET GREATER_EQUAL 10.7)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (LIBCXX_OSX_REEXPORT_LIBCXXABI_SYMBOLS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     target_link_libraries(cxx_shared PRIVATE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       "-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++unexp.exp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -231,6 +233,17 @@ if (LIBCXX_ENABLE_SHARED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     target_link_libraries(cxx_shared PRIVATE $<TARGET_NAME_IF_EXISTS:cxxabi-reexports>)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (LIBCXX_OSX_REEXPORT_LIBCXXABI_SYMBOLS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    target_link_libraries(cxx_shared PRIVATE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      "-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++unexp.exp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      "-Wl,-reexport_library,/usr/lib/libc++abi.dylib"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      "-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/notweak.exp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      "-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/weak.exp")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    target_link_libraries(cxx_shared PRIVATE $<TARGET_NAME_IF_EXISTS:cxxabi-reexports>)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   # Generate a linker script in place of a libc++.so symlink.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (LIBCXX_ENABLE_ABI_LINKER_SCRIPT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0018-10.6-and-less-clang-default-to-libc-on-all-darwin-sy.patch b/lang/llvm-devel/files/0018-10.6-and-less-clang-default-to-libc-on-all-darwin-sy.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..57bd0690b60
</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-devel/files/0018-10.6-and-less-clang-default-to-libc-on-all-darwin-sy.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From facdcc56815e93a378a82b57a554f75a9a54c8d4 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 17 May 2021 21:19:46 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 18/24] 10.6 and less: clang default to libc++ on all darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ systems
</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;'>+ clang/lib/Driver/ToolChains/Darwin.cpp | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 2 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index cef270cfc34a..3751a6a3986f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -823,8 +823,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool MachO::HasNativeLLVMSupport() const { return true; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ToolChain::CXXStdlibType Darwin::GetDefaultCXXStdlibType() const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  // Default to use libc++ on OS X 10.9+ and iOS 7+.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if ((isTargetMacOSBased() && !isMacosxVersionLT(10, 9)) ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  // Default to use libc++ on OS X 10.4+ and iOS 7+.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if ((isTargetMacOSBased() && !isMacosxVersionLT(10, 4)) ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       (isTargetIOSBased() && !isIPhoneOSVersionLT(7, 0)) ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       isTargetWatchOSBased())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return ToolChain::CST_Libcxx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0019-10.6-and-less-use-emulated-TLS-before-10.7.patch b/lang/llvm-devel/files/0019-10.6-and-less-use-emulated-TLS-before-10.7.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..9b84a6e2bde
</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-devel/files/0019-10.6-and-less-use-emulated-TLS-before-10.7.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,58 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 63501ee748110f8bd9c54859992406b7c1089f83 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 16 May 2021 12:30:32 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 19/24] 10.6 and less: use emulated TLS before 10.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+enable TLS on 10.4 and up
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ItaniumCXXABI.cpp: call correct c++ TLS exit function
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+on 10.7+, we use the system TLS and _tlv_atexit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+on < 10.7, we use emulated TLS and __cxa_thread_atexit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/lib/Basic/Targets/OSTargets.h | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang/lib/CodeGen/ItaniumCXXABI.cpp | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ llvm/include/llvm/ADT/Triple.h      | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3 files changed, 3 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/lib/Basic/Targets/OSTargets.h b/clang/lib/Basic/Targets/OSTargets.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 67fa1a537fea..2f2ce1ccafde 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/lib/Basic/Targets/OSTargets.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/Basic/Targets/OSTargets.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -92,7 +92,7 @@ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     this->TLSSupported = false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (Triple.isMacOSX())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      this->TLSSupported = !Triple.isMacOSXVersionLT(10, 7);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      this->TLSSupported = !Triple.isMacOSXVersionLT(10, 4);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else if (Triple.isiOS()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       // 64-bit iOS supported it from 8 onwards, 32-bit device from 9 onwards,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       // 32-bit simulator from 10 onwards.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/lib/CodeGen/ItaniumCXXABI.cpp b/clang/lib/CodeGen/ItaniumCXXABI.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 50fb30a95cbb..1df40230e8f1 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/lib/CodeGen/ItaniumCXXABI.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/CodeGen/ItaniumCXXABI.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2487,7 +2487,7 @@ static void emitGlobalDtorWithCXAAtExit(CodeGenFunction &CGF,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const char *Name = "__cxa_atexit";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (TLS) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const llvm::Triple &T = CGF.getTarget().getTriple();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    Name = T.isOSDarwin() ?  "_tlv_atexit" : "__cxa_thread_atexit";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    Name = (T.isOSDarwin() && !T.isMacOSXVersionLT(10, 7)) ?  "_tlv_atexit" : "__cxa_thread_atexit";
</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;'>+   // We're assuming that the destructor function is something we can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/llvm/include/llvm/ADT/Triple.h b/llvm/include/llvm/ADT/Triple.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index eed315c929ad..649b35f94307 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/llvm/include/llvm/ADT/Triple.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/llvm/include/llvm/ADT/Triple.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -809,7 +809,7 @@ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   /// Tests whether the target uses emulated TLS as default.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   bool hasDefaultEmulatedTLS() const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return isAndroid() || isOSOpenBSD() || isWindowsCygwinEnvironment();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return isAndroid() || isOSOpenBSD() || isWindowsCygwinEnvironment() || isMacOSXVersionLT(10, 7);
</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;'>+   /// Tests whether the target uses -data-sections as default.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0020-10.6-and-less-work-around-no-directory-watcher-befor.patch b/lang/llvm-devel/files/0020-10.6-and-less-work-around-no-directory-watcher-befor.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..23796f9b30a
</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-devel/files/0020-10.6-and-less-work-around-no-directory-watcher-befor.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,25 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 8931e4b417d14e257b7afe0ec00cb5ba56d3208f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 17 May 2021 17:46:27 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 20/24] 10.6 and less work around no directory watcher before
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 10.7
</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;'>+ clang/lib/DirectoryWatcher/CMakeLists.txt | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/lib/DirectoryWatcher/CMakeLists.txt b/clang/lib/DirectoryWatcher/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5a8796982113..d826529026fb 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/lib/DirectoryWatcher/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/DirectoryWatcher/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5,7 +5,7 @@ set(LLVM_LINK_COMPONENTS support)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(DIRECTORY_WATCHER_SOURCES DirectoryScanner.cpp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(DIRECTORY_WATCHER_LINK_LIBS "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if(APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if(APPLE AND (CMAKE_OSX_DEPLOYMENT_TARGET GREATER_EQUAL 10.7))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   check_include_files("CoreServices/CoreServices.h" HAVE_CORESERVICES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if(HAVE_CORESERVICES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     list(APPEND DIRECTORY_WATCHER_SOURCES mac/DirectoryWatcher-mac.cpp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0021-10.6-and-less-libcxx-disable-Availability-tests.patch b/lang/llvm-devel/files/0021-10.6-and-less-libcxx-disable-Availability-tests.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f3077e25a24
</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-devel/files/0021-10.6-and-less-libcxx-disable-Availability-tests.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,35 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 62174518a09fd4c8375abc79e27acf22b344c13b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 16 May 2021 13:20:14 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 21/24] 10.6 and less: libcxx disable Availability tests
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the libc++.dylib installed by MacPorts has different features than
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the OS default-installed version, so the Availability tests are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+not valid.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Currently this is done by default on SnowLeopard and earlier.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+note this patch is disappearing. The new way to specify this will be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+with a Cmake define
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+LIBCXX_ENABLE_VENDOR_AVAILABILITY_ANNOTATIONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libcxx/include/__config | 3 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 3 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/libcxx/include/__config b/libcxx/include/__config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a3838c89e8e1..685827372fd5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/libcxx/include/__config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/libcxx/include/__config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10,6 +10,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef _LIBCPP_CONFIG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define _LIBCPP_CONFIG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// for MacPorts, our installed libcxx does not require Apple system Availability tests
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define _LIBCPP_DISABLE_AVAILABILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(_MSC_VER) && !defined(__clang__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #    define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0022-10.5-and-less-default-to-fno-blocks.patch b/lang/llvm-devel/files/0022-10.5-and-less-default-to-fno-blocks.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b7f34605708
</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-devel/files/0022-10.5-and-less-default-to-fno-blocks.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,24 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From b1b759b8b3e7eace0c286d512df359f9995eb490 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 16 May 2021 12:56:51 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 22/24] 10.5 and less: default to -fno-blocks
</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;'>+ clang/lib/Driver/ToolChains/Darwin.h | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang/lib/Driver/ToolChains/Darwin.h b/clang/lib/Driver/ToolChains/Darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 25c63fed922a..0b1ecc7054c6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/lib/Driver/ToolChains/Darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/Driver/ToolChains/Darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -217,7 +217,7 @@ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   bool IsBlocksDefault() const override {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // Always allow blocks on Apple; users interested in versioning are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // expected to use /usr/include/Block.h.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return false;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   bool IsIntegratedAssemblerDefault() const override {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // Default integrated assembler to on for Apple's MachO targets.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0023-10.5-and-less-use-older-cfname-and-fix-uuid-on-leopa.patch b/lang/llvm-devel/files/0023-10.5-and-less-use-older-cfname-and-fix-uuid-on-leopa.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ab0dc1e2ee8
</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-devel/files/0023-10.5-and-less-use-older-cfname-and-fix-uuid-on-leopa.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,30 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From f0bf1d6eec7a92ea809c142f4d1718867be42d68 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 16 May 2021 12:25:16 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 23/24] 10.5 and less: use older cfname and fix uuid on leopard
</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;'>+ llvm/tools/dsymutil/SymbolMap.cpp | 8 ++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 8 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/llvm/tools/dsymutil/SymbolMap.cpp b/llvm/tools/dsymutil/SymbolMap.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 07a54795a841..595eaa281b57 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/llvm/tools/dsymutil/SymbolMap.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/llvm/tools/dsymutil/SymbolMap.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17,6 +17,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <CoreFoundation/CoreFoundation.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <uuid/uuid.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if MAC_OS_X_VERSION_MAX_ALLOWED < 1060
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* declare a missing reference not found in SDK < 10.6 for function called below */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++typedef char * uuid_string_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++typedef struct __CFError * CFErrorRef;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define CFPropertyListCreateWithStream(A,B,C,D,E,F) CFPropertyListCreateFromStream(A,B,C,D,E,F)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace llvm {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0024-10.5-and-less-compiler-rt-work-around-no-libdispatch.patch b/lang/llvm-devel/files/0024-10.5-and-less-compiler-rt-work-around-no-libdispatch.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7076fe382aa
</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-devel/files/0024-10.5-and-less-compiler-rt-work-around-no-libdispatch.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,64 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From ac50612f4448d329ff68bfc35f25161cb42c0510 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 17 May 2021 17:14:45 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 24/24] 10.5 and less: compiler-rt work around no libdispatch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ before  10.6
</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;'>+ compiler-rt/lib/builtins/os_version_check.c | 13 +++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 13 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/compiler-rt/lib/builtins/os_version_check.c b/compiler-rt/lib/builtins/os_version_check.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d7194b99ae54..57a065b7da48 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/compiler-rt/lib/builtins/os_version_check.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/compiler-rt/lib/builtins/os_version_check.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13,8 +13,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <AvailabilityMacros.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <TargetConditionals.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <dispatch/dispatch.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <dlfcn.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdint.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23,8 +26,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // These three variables hold the host's OS version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static int32_t GlobalMajor, GlobalMinor, GlobalSubminor;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static dispatch_once_t DispatchOnceCounter;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static dispatch_once_t CompatibilityDispatchOnceCounter;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // _availability_version_check darwin API support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ typedef uint32_t dyld_platform_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -247,8 +252,14 @@ static void initializeAvailabilityCheck(void *Unused) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // usable when linked with new compiler-rt.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int32_t __isOSVersionAtLeast(int32_t Major, int32_t Minor, int32_t Subminor) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Populate the global version variables, if they haven't already.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   dispatch_once_f(&CompatibilityDispatchOnceCounter, NULL,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   compatibilityInitializeAvailabilityCheck);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* expensive procedure, only do once. GlobalMajor will not be 0 once run. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (GlobalMajor == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _initializeAvailabilityCheck(/*LoadPlist=*/true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (Major < GlobalMajor)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -268,7 +279,9 @@ static inline uint32_t ConstructVersion(uint32_t Major, uint32_t Minor,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int32_t __isPlatformVersionAtLeast(uint32_t Platform, uint32_t Major,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                    uint32_t Minor, uint32_t Subminor) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   dispatch_once_f(&DispatchOnceCounter, NULL, initializeAvailabilityCheck);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (!AvailabilityVersionCheck) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return __isOSVersionAtLeast(Major, Minor, Subminor);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0025-lldb-add-defines-needed-for-older-SDKs.patch b/lang/llvm-devel/files/0025-lldb-add-defines-needed-for-older-SDKs.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e9e1cc234a3
</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-devel/files/0025-lldb-add-defines-needed-for-older-SDKs.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,55 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 745ebd5a9db4956328f42cf5a6d793cd28213a56 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 5 Jun 2021 11:57:45 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 25/25] lldb: add defines needed for older SDKs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fixes build of lldb back to at least 10.12
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lldb/tools/debugserver/source/DNB.h              |  4 ++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../debugserver/source/MacOSX/MachProcess.mm     | 16 ++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 20 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/lldb/tools/debugserver/source/DNB.h b/lldb/tools/debugserver/source/DNB.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 069c62dc41d8..edfd55dd8422 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/lldb/tools/debugserver/source/DNB.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/lldb/tools/debugserver/source/DNB.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -34,6 +34,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define CPU_TYPE_ARM64_32 ((cpu_type_t)12 | 0x02000000)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef CPU_SUBTYPE_ARM64E
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define CPU_SUBTYPE_ARM64E              ((cpu_subtype_t) 2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ typedef bool (*DNBShouldCancelCallback)(void *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void DNBInitialize();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/lldb/tools/debugserver/source/MacOSX/MachProcess.mm b/lldb/tools/debugserver/source/MacOSX/MachProcess.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1b962da8d02b..6c27212c6e49 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/lldb/tools/debugserver/source/MacOSX/MachProcess.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/lldb/tools/debugserver/source/MacOSX/MachProcess.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -47,6 +47,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "CFBundle.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "CFString.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef PLATFORM_MACOS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define PLATFORM_MACOS 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef PLATFORM_IOS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define PLATFORM_IOS 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef PLATFORM_TVOS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define PLATFORM_TVOS 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef PLATFORM_WATCHOS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define PLATFORM_WATCHOS 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef PLATFORM_BRIDGEOS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define PLATFORM_BRIDGEOS 5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.21.1 (Apple Git-122.3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0100-define-target-os-osx.patch b/lang/llvm-devel/files/0100-define-target-os-osx.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..939c6175655
</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-devel/files/0100-define-target-os-osx.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang/lib/DirectoryWatcher/mac/DirectoryWatcher-mac.cpp      2021-10-26 12:21:35.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang/lib/DirectoryWatcher/mac/DirectoryWatcher-mac.cpp      2021-10-26 12:25:47.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,6 +19,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using namespace llvm;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using namespace clang;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef TARGET_OS_OSX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# define TARGET_OS_OSX 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if TARGET_OS_OSX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void stopFSEventStream(FSEventStreamRef);
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/1001-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch b/lang/llvm-devel/files/1001-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 08e6274719e..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/1001-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,84 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From d179c9b8622c923eec16cbd99b514862df3d3554 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sat, 17 Jan 2015 17:50:24 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 1001/1007] MacPorts Only: Prepare clang-format for replacement
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- with absolute path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tools/clang-format/clang-format-bbedit.applescript | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tools/clang-format/clang-format-diff.py            | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tools/clang-format/clang-format-sublime.py         | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tools/clang-format/clang-format.el                 | 3 +--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tools/clang-format/clang-format.py                 | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 5 files changed, 5 insertions(+), 6 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/tools/clang/tools/clang-format/clang-format-bbedit.applescript macports_master/tools/clang/tools/clang-format/clang-format-bbedit.applescript
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index fa88fe9004..eb09448be5 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/tools/clang/tools/clang-format/clang-format-bbedit.applescript
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/tools/clang/tools/clang-format/clang-format-bbedit.applescript
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15,7 +15,7 @@ tell application "BBEdit"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- end tell
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set filePath to urlToPOSIXPath(fileURL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set newContents to do shell script "/path/to/clang-format -offset=" & selectionOffset & " -length=" & selectionLength & " " & quoted form of filePath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set newContents to do shell script "@CLANG_FORMAT_PATH@ -offset=" & selectionOffset & " -length=" & selectionLength & " " & quoted form of filePath
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tell application "BBEdit"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   -- "set contents of text document 1 to newContents" scrolls to the bottom while
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/tools/clang/tools/clang-format/clang-format-diff.py macports_master/tools/clang/tools/clang-format/clang-format-diff.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3ba0abefc9..d67e3733bd 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/tools/clang/tools/clang-format/clang-format-diff.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/tools/clang/tools/clang-format/clang-format-diff.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -58,7 +58,7 @@ def main():
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   parser.add_argument('-style',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                       help='formatting style to apply (LLVM, GNU, Google, Chromium, '
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                       'Microsoft, Mozilla, WebKit)')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  parser.add_argument('-binary', default='clang-format',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  parser.add_argument('-binary', default='@CLANG_FORMAT_PATH@',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                       help='location of binary to use for clang-format')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   args = parser.parse_args()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/tools/clang/tools/clang-format/clang-format-sublime.py macports_master/tools/clang/tools/clang-format/clang-format-sublime.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 20c867092e..ae823c1d05 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/tools/clang/tools/clang-format/clang-format-sublime.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/tools/clang/tools/clang-format/clang-format-sublime.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -18,7 +18,7 @@ import sublime_plugin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import subprocess
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Change this to the full path if clang-format is not on the path.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--binary = 'clang-format'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+binary = '@CLANG_FORMAT_PATH@'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Change this to format according to other formatting styles. See the output of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # 'clang-format --help' for a list of supported styles. The default looks for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/tools/clang/tools/clang-format/clang-format.el macports_master/tools/clang/tools/clang-format/clang-format.el
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0b9dc8d6fa..eebc4d115e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/tools/clang/tools/clang-format/clang-format.el
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/tools/clang/tools/clang-format/clang-format.el
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -37,8 +37,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   :group 'tools)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (defcustom clang-format-executable
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  (or (executable-find "clang-format")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      "clang-format")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  "@CLANG_FORMAT_PATH@"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   "Location of the clang-format executable.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- A string containing the name or the full path of the executable."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/tools/clang/tools/clang-format/clang-format.py macports_master/tools/clang/tools/clang-format/clang-format.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0c772f91f6..33c96180a4 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/tools/clang/tools/clang-format/clang-format.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/tools/clang/tools/clang-format/clang-format.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -48,7 +48,7 @@ import vim
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # set g:clang_format_path to the path to clang-format if it is not on the path
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Change this to the full path if clang-format is not on the path.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--binary = 'clang-format'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+binary = '@CLANG_FORMAT_PATH@'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if vim.eval('exists("g:clang_format_path")') == "1":
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   binary = vim.eval('g:clang_format_path')
</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;'>-2.21.0 (Apple Git-120)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/1003-Default-to-ppc7400-for-OSX-10.5.patch b/lang/llvm-devel/files/1003-Default-to-ppc7400-for-OSX-10.5.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index b2603354064..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/1003-Default-to-ppc7400-for-OSX-10.5.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,26 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From f6fa657bb497a3d9dedfa80e713ddaa10e384fc2 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Iain Sandoe <iain@codesourcery.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Sun, 27 Jul 2014 20:35:16 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 1003/1007] Default to ppc7400 for OSX 10.5+
</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;'>- lib/Driver/ToolChains/CommonArgs.cpp | 3 +++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 3 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp macports_master/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d0c9d7d396..dbf7a15002 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -299,6 +299,9 @@ std::string tools::getCPUName(const ArgList &Args, const llvm::Triple &T,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         TargetCPUName = "ppc64";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       else if (T.getArch() == llvm::Triple::ppc64le)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         TargetCPUName = "ppc64le";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      else if (T.isOSDarwin() && !T.isMacOSXVersionLT(10,5))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        // For 10.5+ Altivec is assumed available.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        TargetCPUName = "7400";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         TargetCPUName = "ppc";
</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;'>-2.21.0 (Apple Git-120)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/1004-Default-to-fragile-ObjC-runtime-when-targeting-darwi.patch b/lang/llvm-devel/files/1004-Default-to-fragile-ObjC-runtime-when-targeting-darwi.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 83fedd24c0b..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/1004-Default-to-fragile-ObjC-runtime-when-targeting-darwi.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,31 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From a4f95a5ec1e6d615dbb246d3577735a3575d1179 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 20 Jan 2015 00:09:16 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 1004/1007] Default to fragile ObjC runtime when targeting
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- darwin/ppc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lib/Driver/ToolChains/Darwin.h | 6 ++++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 4 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/tools/clang/lib/Driver/ToolChains/Darwin.h macports_master/tools/clang/lib/Driver/ToolChains/Darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 2dc7c85880..639853df05 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/tools/clang/lib/Driver/ToolChains/Darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/tools/clang/lib/Driver/ToolChains/Darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -229,8 +229,10 @@ public:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   bool IsEncodeExtendedBlockSignatureDefault() const override { return true; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   bool IsObjCNonFragileABIDefault() const override {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    // Non-fragile ABI is default for everything but i386.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    return getTriple().getArch() != llvm::Triple::x86;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // Non-fragile ABI is default for legacy architectures
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    return getTriple().getArch() != llvm::Triple::x86 &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+           getTriple().getArch() != llvm::Triple::ppc &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+           getTriple().getArch() != llvm::Triple::ppc64;
</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;'>-   bool UseObjCMixedDispatch() const override { return true; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.21.0 (Apple Git-120)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/1005-Fixup-libstdc-header-search-paths-for-older-versions.patch b/lang/llvm-devel/files/1005-Fixup-libstdc-header-search-paths-for-older-versions.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index aabb8fa36e8..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/1005-Fixup-libstdc-header-search-paths-for-older-versions.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,41 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From c5863b6661267780e20f529edf4831e1e65aa6a3 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon, 31 Oct 2016 15:06:36 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 1005/1007] Fixup libstdc++ header search paths for older
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- versions of Mac OS X
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The subpaths were removed in Lion.  Leopard and Snow Leopard had darwin8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-symlinks for compatibility.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-https://llvm.org/bugs/show_bug.cgi?id=30858
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lib/Driver/ToolChains/Darwin.cpp | 4 ++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 2 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/tools/clang/lib/Driver/ToolChains/Darwin.cpp macports_master/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5de7d7132d..165a331fe5 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2097,7 +2097,7 @@ void DarwinClang::AddClangCXXStdlibIncludeArgs(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                                 "powerpc-apple-darwin10",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                                 arch == llvm::Triple::ppc64 ? "ppc64" : "");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                                "4.0.0", "powerpc-apple-darwin10",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                                "4.0.0", "powerpc-apple-darwin8",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                                  arch == llvm::Triple::ppc64 ? "ppc64" : "");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2109,7 +2109,7 @@ void DarwinClang::AddClangCXXStdlibIncludeArgs(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                                 arch == llvm::Triple::x86_64 ? "x86_64" : "");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                                 "4.0.0", "i686-apple-darwin8",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                                 "");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                                 arch == llvm::Triple::x86_64 ? "x86_64" : "");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case llvm::Triple::arm:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.21.0 (Apple Git-120)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/1008-compilerrt-fuzzer-missingdefs.diff b/lang/llvm-devel/files/1008-compilerrt-fuzzer-missingdefs.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 808b7a19a2e..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/1008-compilerrt-fuzzer-missingdefs.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,17 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm/projects/compiler-rt/lib/fuzzer/FuzzerUtilDarwin.cpp.orig 2020-05-14 15:23:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ llvm/projects/compiler-rt/lib/fuzzer/FuzzerUtilDarwin.cpp      2020-05-14 15:31:23.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19,6 +19,14 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <sys/wait.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <unistd.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// add definition missing on older systems
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef POSIX_SPAWN_SETSIGMASK
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define POSIX_SPAWN_SETSIGMASK          0x0008
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef POSIX_SPAWN_SETSIGDEF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define POSIX_SPAWN_SETSIGDEF           0x0004
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // There is no header for this on macOS so declare here
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern "C" char **environ;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/1009-compilerrt-sanitizer-missingdefs.diff b/lang/llvm-devel/files/1009-compilerrt-sanitizer-missingdefs.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 805bc03443b..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/1009-compilerrt-sanitizer-missingdefs.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,14 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp.orig  2020-05-14 15:13:45.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp       2020-05-14 15:17:03.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -119,6 +119,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define VM_MEMORY_SANITIZER 99
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// From <sys/spawn.h> but not in some SDKs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef POSIX_SPAWN_CLOEXEC_DEFAULT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define   POSIX_SPAWN_CLOEXEC_DEFAULT     0x4000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // XNU on Darwin provides a mmap flag that optimizes allocation/deallocation of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // giant memory regions (i.e. shadow memory regions).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define kXnuFastMmapFd 0x4
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/2002-Work-around-no-libdispatch-on-10.6.patch b/lang/llvm-devel/files/2002-Work-around-no-libdispatch-on-10.6.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 961e37dcf7c..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/2002-Work-around-no-libdispatch-on-10.6.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,50 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 2002/2002] Work around no libdispatch on < 10.6
</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;'>- lib/builtins/os_version_check.c | 13 ++++++++++++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 12 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/projects/compiler-rt/lib/builtins/os_version_check.c macports_master/projects/compiler-rt/lib/builtins/os_version_check.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3794b9794..e3877449a 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/projects/compiler-rt/lib/builtins/os_version_check.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/projects/compiler-rt/lib/builtins/os_version_check.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13,8 +13,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <AvailabilityMacros.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <TargetConditionals.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <dispatch/dispatch.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <dlfcn.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <stdint.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <stdio.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23,7 +26,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // These three variables hold the host's OS version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static int32_t GlobalMajor, GlobalMinor, GlobalSubminor;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--static dispatch_once_t DispatchOnceCounter;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ static dispatch_once_t DispatchOnceCounter;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // We can't include <CoreFoundation/CoreFoundation.h> directly from here, so
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // just forward declare everything that we need from it.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -203,7 +208,13 @@ Fail:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int32_t __isOSVersionAtLeast(int32_t Major, int32_t Minor, int32_t Subminor) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   // Populate the global version variables, if they haven't already.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   dispatch_once_f(&DispatchOnceCounter, NULL, parseSystemVersionPList);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  /* expensive procedure, only do once. GlobalMajor will not be 0 once run. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if (GlobalMajor == 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    parseSystemVersionPList(NULL);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (Major < GlobalMajor)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.21.0 (Apple Git-120)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/3002-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch b/lang/llvm-devel/files/3002-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index fee098b55eb..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/3002-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,316 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 6c90424e035a24f3653b1b44f7239925b9e932ac Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: David Fang <fang@csl.cornell.edu>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 15 Jan 2014 21:27:34 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 3002/3002] implement atomic<> using mutex/lock_guard for 64b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ops on 32b PPC not pretty, not fast, but passes atomic tests
</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;'>- include/__atomic_locked | 240 ++++++++++++++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include/atomic          |  46 ++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 286 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create mode 100644 include/__atomic_locked
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/projects/libcxx/include/__atomic_locked macports_master/projects/libcxx/include/__atomic_locked
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 000000000..f10dd747e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/projects/libcxx/include/__atomic_locked
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,240 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// -*- C++ -*-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//===--------------------------- __atomic_locked --------------------------===//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//                     The LLVM Compiler Infrastructure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+//
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// This file is distributed under the University of Illinois Open Source
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// License. See LICENSE.TXT for details.
</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;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef _LIBCPP_ATOMIC_LOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define _LIBCPP_ATOMIC_LOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <__mutex_base>     // for mutex and lock_guard
</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;'>-+  This provides slow-but-usable lock-based atomic access to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  structures for which atomic lock-free functions are missing.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  This is motivated by the desire for 64b atomic operations
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  on 32b PowerPC architectures.  
</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;'>-+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#pragma GCC system_header
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+_LIBCPP_BEGIN_NAMESPACE_STD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+template <class _Tp, bool = is_integral<_Tp>::value && !is_same<_Tp, bool>::value>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+struct __atomic_mutex_locked  // false
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    mutable _Atomic(_Tp) __a_;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    mutable mutex __lock_;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    typedef lock_guard<mutex>       lock_type;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp& na(void) const { return reinterpret_cast<_Tp&>(__a_); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    volatile _Tp& na(void) const volatile { return reinterpret_cast<volatile _Tp&>(__a_); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool is_lock_free() const volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {return false;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool is_lock_free() const _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {return false;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    void store(_Tp __d, memory_order = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(const_cast<mutex&>(__lock_)); na() = __d; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    void store(_Tp __d, memory_order = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(__lock_); na() = __d; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp load(memory_order = memory_order_seq_cst) const volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(const_cast<mutex&>(__lock_)); return na(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp load(memory_order = memory_order_seq_cst) const _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(__lock_); return na(); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    operator _Tp() const volatile _NOEXCEPT {return load();}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    operator _Tp() const _NOEXCEPT          {return load();}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp exchange(_Tp __d, memory_order = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(const_cast<mutex&>(__lock_));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  // or use std::swap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+          const _Tp ret = na(); na() = __d; return ret; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp exchange(_Tp __d, memory_order = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(__lock_);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  // or use std::swap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+          const _Tp ret = na(); na() = __d; return ret; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool compare_exchange_weak(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                               memory_order __s, memory_order __f) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(const_cast<mutex&>(__lock_));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (na() == __e) { na() = __d; return true; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    else { __e = na(); return false; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool compare_exchange_weak(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                               memory_order __s, memory_order __f) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(__lock_);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (na() == __e) { na() = __d; return true; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    else { __e = na(); return false; }
</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;'>-+    // for now, _weak inditinguishable from _strong
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool compare_exchange_strong(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                 memory_order __s, memory_order __f) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {return compare_exchange_weak(__e, __d, __s, __f);}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool compare_exchange_strong(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                 memory_order __s, memory_order __f) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {return compare_exchange_weak(__e, __d, __s, __f);}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool compare_exchange_weak(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                              memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {return compare_exchange_weak(__e, __d, __m, __m);}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool compare_exchange_weak(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                               memory_order __m = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {return compare_exchange_weak(__e, __d, __m, __m);}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool compare_exchange_strong(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                              memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {return compare_exchange_strong(__e, __d, __m, __m);}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool compare_exchange_strong(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                 memory_order __m = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {return compare_exchange_strong(__e, __d, __m, __m);}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    __atomic_mutex_locked() _NOEXCEPT = default;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    __atomic_mutex_locked() _NOEXCEPT : __a_() {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif // _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_CONSTEXPR __atomic_mutex_locked(_Tp __d) _NOEXCEPT : __a_(__d) {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef _LIBCPP_HAS_NO_DELETED_FUNCTIONS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    __atomic_mutex_locked(const __atomic_mutex_locked&) = delete;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    __atomic_mutex_locked& operator=(const __atomic_mutex_locked&) = delete;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    __atomic_mutex_locked& operator=(const __atomic_mutex_locked&) volatile = delete;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else  // _LIBCPP_HAS_NO_DELETED_FUNCTIONS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+private:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    __atomic_mutex_locked(const __atomic_mutex_locked&);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    __atomic_mutex_locked& operator=(const __atomic_mutex_locked&);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    __atomic_mutex_locked& operator=(const __atomic_mutex_locked&) volatile;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif  // _LIBCPP_HAS_NO_DELETED_FUNCTIONS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+};        // end struct __atomic_mutex_locked
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// atomic<Integral>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+template <class _Tp>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+struct __atomic_mutex_locked<_Tp, true>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    : public __atomic_mutex_locked<_Tp, false>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    typedef __atomic_mutex_locked<_Tp, false> __base;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    typedef       typename __base::lock_type      lock_type;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    using __base::__lock_;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    using __base::na;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    __atomic_mutex_locked() _NOEXCEPT _LIBCPP_DEFAULT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_CONSTEXPR __atomic_mutex_locked(_Tp __d) _NOEXCEPT : __base(__d) {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp fetch_add(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(const_cast<mutex&>(__lock_));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const _Tp ret = na(); na() += __op; return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp fetch_add(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(__lock_);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const _Tp ret = na(); na() += __op; return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp fetch_sub(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(const_cast<mutex&>(__lock_));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const _Tp ret = na(); na() -= __op; return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp fetch_sub(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(__lock_);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const _Tp ret = na(); na() -= __op; return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp fetch_and(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(const_cast<mutex&>(__lock_));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const _Tp ret = na(); na() &= __op; return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp fetch_and(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(__lock_);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const _Tp ret = na(); na() &= __op; return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp fetch_or(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(const_cast<mutex&>(__lock_));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const _Tp ret = na(); na() |= __op; return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp fetch_or(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(__lock_);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const _Tp ret = na(); na() |= __op; return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp fetch_xor(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(const_cast<mutex&>(__lock_));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const _Tp ret = na(); na() ^= __op; return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp fetch_xor(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        { const lock_type g(__lock_);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const _Tp ret = na(); na() ^= __op; return ret;
</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;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator++(int) volatile _NOEXCEPT      {return fetch_add(_Tp(1));}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator++(int) _NOEXCEPT               {return fetch_add(_Tp(1));}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator--(int) volatile _NOEXCEPT      {return fetch_sub(_Tp(1));}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator--(int) _NOEXCEPT               {return fetch_sub(_Tp(1));}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator++() volatile _NOEXCEPT         {return fetch_add(_Tp(1)) + _Tp(1);}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator++() _NOEXCEPT                  {return fetch_add(_Tp(1)) + _Tp(1);}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator--() volatile _NOEXCEPT         {return fetch_sub(_Tp(1)) - _Tp(1);}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator--() _NOEXCEPT                  {return fetch_sub(_Tp(1)) - _Tp(1);}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator+=(_Tp __op) volatile _NOEXCEPT {return fetch_add(__op) + __op;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator+=(_Tp __op) _NOEXCEPT          {return fetch_add(__op) + __op;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator-=(_Tp __op) volatile _NOEXCEPT {return fetch_sub(__op) - __op;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator-=(_Tp __op) _NOEXCEPT          {return fetch_sub(__op) - __op;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator&=(_Tp __op) volatile _NOEXCEPT {return fetch_and(__op) & __op;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator&=(_Tp __op) _NOEXCEPT          {return fetch_and(__op) & __op;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator|=(_Tp __op) volatile _NOEXCEPT {return fetch_or(__op) | __op;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator|=(_Tp __op) _NOEXCEPT          {return fetch_or(__op) | __op;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator^=(_Tp __op) volatile _NOEXCEPT {return fetch_xor(__op) ^ __op;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator^=(_Tp __op) _NOEXCEPT          {return fetch_xor(__op) ^ __op;}
</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;'>-+_LIBCPP_END_NAMESPACE_STD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif  // _LIBCPP_ATOMIC_LOCKED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/projects/libcxx/include/atomic macports_master/projects/libcxx/include/atomic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index afb431eda..b87307977 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/projects/libcxx/include/atomic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/projects/libcxx/include/atomic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2801,4 +2801,50 @@ typedef atomic<uintmax_t> atomic_uintmax_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- _LIBCPP_END_NAMESPACE_STD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if       defined(__ppc__) && !defined(__ppc64__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// specialize fallback implementation where 64b atomics are missing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <__atomic_locked>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+_LIBCPP_BEGIN_NAMESPACE_STD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+template <>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+struct atomic<long long> : public __atomic_mutex_locked<long long>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    typedef long long             _Tp;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    typedef __atomic_mutex_locked<_Tp> __base;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    atomic() _NOEXCEPT _LIBCPP_DEFAULT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_CONSTEXPR atomic(_Tp __d) _NOEXCEPT : __base(__d) {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator=(_Tp __d) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {__base::store(__d); return __d;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator=(_Tp __d) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {__base::store(__d); return __d;}
</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;'>-+template <>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+struct atomic<unsigned long long> :
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  public __atomic_mutex_locked<unsigned long long>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    typedef unsigned long long            _Tp;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    typedef __atomic_mutex_locked<_Tp> __base;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    atomic() _NOEXCEPT _LIBCPP_DEFAULT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_CONSTEXPR atomic(_Tp __d) _NOEXCEPT : __base(__d) {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator=(_Tp __d) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {__base::store(__d); return __d;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Tp operator=(_Tp __d) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {__base::store(__d); return __d;}
</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;'>-+_LIBCPP_END_NAMESPACE_STD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif    // defined(__ppc__) && !defined(__ppc64__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif  // _LIBCPP_ATOMIC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.21.0 (Apple Git-120)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/5003-patch-no-directory-watcher-on-snowleopard.diff b/lang/llvm-devel/files/5003-patch-no-directory-watcher-on-snowleopard.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 4c0e20bb5ef..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/5003-patch-no-directory-watcher-on-snowleopard.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm-9.0.0.src/tools/clang/lib/DirectoryWatcher/CMakeLists.txt.orig    2019-09-23 17:31:12.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ llvm-9.0.0.src/tools/clang/lib/DirectoryWatcher/CMakeLists.txt 2019-09-23 17:31:35.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5,7 +5,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(DIRECTORY_WATCHER_SOURCES DirectoryScanner.cpp)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(DIRECTORY_WATCHER_LINK_LIBS "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(APPLE AND (CMAKE_OSX_DEPLOYMENT_TARGET GREATER_EQUAL 10.7))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   check_include_files("CoreServices/CoreServices.h" HAVE_CORESERVICES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if(HAVE_CORESERVICES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     list(APPEND DIRECTORY_WATCHER_SOURCES mac/DirectoryWatcher-mac.cpp)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/5004-patch-libcxx-reexport-symbols-lionorgreater-only.diff b/lang/llvm-devel/files/5004-patch-libcxx-reexport-symbols-lionorgreater-only.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 956c6f1fb51..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/5004-patch-libcxx-reexport-symbols-lionorgreater-only.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,27 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/projects/libcxx/src/CMakeLists.txt.orig      2021-02-21 12:43:30.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/projects/libcxx/src/CMakeLists.txt   2021-02-21 12:48:27.000000000 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -209,11 +209,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (LIBCXX_OSX_REEXPORT_LIBCXXABI_SYMBOLS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     target_link_libraries(cxx_shared PRIVATE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       "-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++unexp.exp"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      "-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++abi.v${LIBCXX_LIBCPPABI_VERSION}.exp"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      "-Wl,-reexport_library,/usr/lib/libc++abi.dylib"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       "-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/notweak.exp"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       "-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/weak.exp")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if (LIBCXX_ENABLE_EXCEPTIONS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (LIBCXX_ENABLE_EXCEPTIONS AND (CMAKE_OSX_DEPLOYMENT_TARGET GREATER_EQUAL 10.7))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       if ("${CMAKE_OSX_ARCHITECTURES}" MATCHES "^(armv6|armv7|armv7s)$")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         target_link_libraries(cxx_shared PRIVATE "-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++abi-exceptions.sjlj.exp")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -222,7 +222,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (NOT LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      target_link_libraries(cxx_shared PRIVATE "-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++abi-new-delete.exp")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       if (CMAKE_OSX_DEPLOYMENT_TARGET GREATER_EQUAL 10.7)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+         target_link_libraries(cxx_shared PRIVATE "-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/libc++abi-new-delete.exp")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/5005-MacPorts-only-patch-libcxx-includes-disable-availability-tests.diff b/lang/llvm-devel/files/5005-MacPorts-only-patch-libcxx-includes-disable-availability-tests.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 6ada840f3e1..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/5005-MacPorts-only-patch-libcxx-includes-disable-availability-tests.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,13 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm-10.0.0.src/projects/libcxx/include/__config.orig  2020-04-28 09:59:15.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ llvm-10.0.0.src/projects/libcxx/include/__config       2020-04-28 10:00:33.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -10,6 +10,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef _LIBCPP_CONFIG
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define _LIBCPP_CONFIG
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// for MacPorts, our installed libcxx does not require Apple system
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Availability tests
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define _LIBCPP_DISABLE_AVAILABILITY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if defined(_MSC_VER) && !defined(__clang__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #    define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/5006-patch-clang-tools-extra-LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR.diff b/lang/llvm-devel/files/5006-patch-clang-tools-extra-LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index f2031cb6c4c..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/5006-patch-clang-tools-extra-LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,16 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-https://github.com/llvm/llvm-project/commit/f51ab1871655a9a96134c2636c37dcb5a6b01ac3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-changed to use LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-but this is not defined anywhere
</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;'>---- a/tools/clang/tools/extra/clangd/quality/CompletionModel.cmake.orig    2021-04-01 09:20:32.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/tools/clang/tools/extra/clangd/quality/CompletionModel.cmake 2021-04-01 09:20:47.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5,7 +5,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # will define a C++ class called ${cpp_class} - which may be a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # namespace-qualified class name.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- function(gen_decision_forest model filename cpp_class)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  set(model_compiler ${LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR}/clangd/quality/CompletionModelCodegen.py)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  set(model_compiler ${CMAKE_SOURCE_DIR}/../clang-tools-extra/clangd/quality/CompletionModelCodegen.py)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   set(output_dir ${CMAKE_CURRENT_BINARY_DIR})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   set(header_file ${output_dir}/${filename}.h)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/9000-patch-clang-7.0-support-emulated-tls.diff b/lang/llvm-devel/files/9000-patch-clang-7.0-support-emulated-tls.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index eb13bcdb881..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/9000-patch-clang-7.0-support-emulated-tls.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,26 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/tools/clang/lib/Basic/Targets/OSTargets.h b/tools/clang/lib/Basic/Targets/OSTargets.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d0354784..102605fe 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/tools/clang/lib/Basic/Targets/OSTargets.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/tools/clang/lib/Basic/Targets/OSTargets.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -92,7 +92,7 @@ public:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     this->TLSSupported = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (Triple.isMacOSX())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      this->TLSSupported = !Triple.isMacOSXVersionLT(10, 7);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      this->TLSSupported = !Triple.isMacOSXVersionLT(10, 4);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     else if (Triple.isiOS()) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       // 64-bit iOS supported it from 8 onwards, 32-bit device from 9 onwards,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       // 32-bit simulator from 10 onwards.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp b/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 00fff144..052924ab 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2507,7 +2507,7 @@ static void emitGlobalDtorWithCXAAtExit(CodeGenFunction &CGF,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   const char *Name = "__cxa_atexit";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (TLS) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     const llvm::Triple &T = CGF.getTarget().getTriple();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    Name = T.isOSDarwin() ?  "_tlv_atexit" : "__cxa_thread_atexit";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    Name = (T.isOSDarwin() && !T.isMacOSXVersionLT(10, 7)) ?  "_tlv_atexit" : "__cxa_thread_atexit";
</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;'>-   // We're assuming that the destructor function is something we can
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/9000-patch-llvm-7.0-support-emulated-tls.diff b/lang/llvm-devel/files/9000-patch-llvm-7.0-support-emulated-tls.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 8a90dd32a77..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/9000-patch-llvm-7.0-support-emulated-tls.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,13 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/include/llvm/ADT/Triple.h b/include/llvm/ADT/Triple.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c95b16dd..ecc0f148 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/include/llvm/ADT/Triple.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/include/llvm/ADT/Triple.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -809,7 +809,7 @@ public:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /// Tests whether the target uses emulated TLS as default.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   bool hasDefaultEmulatedTLS() const {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    return isAndroid() || isOSOpenBSD() || isWindowsCygwinEnvironment();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    return isAndroid() || isOSOpenBSD() || isWindowsCygwinEnvironment() || isMacOSXVersionLT(10, 7);
</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;'>-   /// Tests whether the target uses -data-sections as default.
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/9003-patch-clang-7.0-default-to-libcxx-on-all-systems.diff b/lang/llvm-devel/files/9003-patch-clang-7.0-default-to-libcxx-on-all-systems.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 3ebd9b9a8bb..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/9003-patch-clang-7.0-default-to-libcxx-on-all-systems.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,15 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm-7.0.1.src/tools/clang/lib/Driver/ToolChains/Darwin.cpp llvm-7.0.1.src/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index dc540688..64adab5c 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm-7.0.1.src/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ llvm-7.0.1.src/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -810,8 +810,8 @@ types::ID MachO::LookupTypeForExtension(StringRef Ext) const {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool MachO::HasNativeLLVMSupport() const { return true; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ToolChain::CXXStdlibType Darwin::GetDefaultCXXStdlibType() const {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  // Default to use libc++ on OS X 10.9+ and iOS 7+.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if ((isTargetMacOS() && !isMacosxVersionLT(10, 9)) ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  // Default to use libc++ on OS X 10.4+ and iOS 7+.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if ((isTargetMacOS() && !isMacosxVersionLT(10, 4)) ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        (isTargetIOSBased() && !isIPhoneOSVersionLT(7, 0)) ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        isTargetWatchOSBased())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return ToolChain::CST_Libcxx;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/leopard-no-blocks.patch b/lang/llvm-devel/files/leopard-no-blocks.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0ce12f917ac..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/leopard-no-blocks.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,26 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 2500edffc9f1f44983927351eb60d4fe1cee4bcd Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Wed, 7 Jan 2015 03:42:15 -0800
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] Leopard: Default to -fno-blocks
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lib/Driver/ToolChains.h | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 876bb01..27aa2ee 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/tools/clang/lib/Driver/ToolChains/Darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/tools/clang/lib/Driver/ToolChains/Darwin.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -217,7 +217,7 @@ public:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   bool IsBlocksDefault() const override {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     // Always allow blocks on Apple; users interested in versioning are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     // expected to use /usr/include/Block.h.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    return false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   bool IsIntegratedAssemblerDefault() const override {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     // Default integrated assembler to on for Apple's MachO targets.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.2.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/openmp-locations.patch b/lang/llvm-devel/files/openmp-locations.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 88a6fa383d7..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/openmp-locations.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,35 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/lib/Driver/ToolChains/Clang.cpp b/lib/Driver/ToolChains/Clang.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 292cf72b56..d8c6327080 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/tools/clang/lib/Driver/ToolChains/Clang.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/tools/clang/lib/Driver/ToolChains/Clang.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5532,6 +5532,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case Driver::OMPRT_OMP:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case Driver::OMPRT_IOMP5:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       // Clang can generate useful OpenMP code for these two runtime libraries.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      // Automatically find MacPorts' omp.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      CmdArgs.push_back("-I@@PREFIX@@/include/libomp");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       CmdArgs.push_back("-fopenmp");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       // If no option regarding the use of TLS in OpenMP codegeneration is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -u a/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp.orig b/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp.orig        2020-04-19 11:47:05.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp     2020-04-19 11:48:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -673,12 +673,18 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   switch (RTKind) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   case Driver::OMPRT_OMP:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // Automatically find MacPorts' libomp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    CmdArgs.push_back("-L@@PREFIX@@/lib/libomp");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CmdArgs.push_back("-lomp");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   case Driver::OMPRT_GOMP:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // Automatically find MacPorts' libomp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    CmdArgs.push_back("-L@@PREFIX@@/lib/libomp");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CmdArgs.push_back("-lgomp");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   case Driver::OMPRT_IOMP5:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // Automatically find MacPorts' libomp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    CmdArgs.push_back("-L@@PREFIX@@/lib/libomp");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CmdArgs.push_back("-liomp5");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   case Driver::OMPRT_Unknown:
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/patch-libcxx-includes-config-optional-1013.diff b/lang/llvm-devel/files/patch-libcxx-includes-config-optional-1013.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 9dd2b0219ef..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/patch-libcxx-includes-config-optional-1013.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- ./projects/libcxx/include/__config.orig        2020-06-01 21:14:44.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ ./projects/libcxx/include/__config     2020-06-01 21:15:02.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1392,7 +1392,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      __attribute__((availability(tvos,strict,introduced=10.0)))                \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      __attribute__((availability(watchos,strict,introduced=3.0)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #  define _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS                             \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--     __attribute__((availability(macosx,strict,introduced=10.14)))             \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     __attribute__((availability(macosx,strict,introduced=10.13)))             \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      __attribute__((availability(ios,strict,introduced=12.0)))                 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      __attribute__((availability(tvos,strict,introduced=12.0)))                \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      __attribute__((availability(watchos,strict,introduced=5.0)))
</span></pre><pre style='margin:0'>

</pre>