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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/473092f9d81a46d08fce1847b5648a4b2c5a797a">https://github.com/macports/macports-ports/commit/473092f9d81a46d08fce1847b5648a4b2c5a797a</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 473092f9d81a46d08fce1847b5648a4b2c5a797a
</span>Author: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
AuthorDate: Wed Jan 3 20:36:20 2018 -0800

<span style='display:block; white-space:pre;color:#404040;'>    llvm-6.0: New port
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
</span>---
 lang/llvm-6.0/Portfile                             | 629 +++++++++++++++++++++
 ...h-O-CPU-Subtype-to-ppc7400-when-targeting.patch |  56 ++
 ...MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch |  36 ++
 ...ly-Don-t-embed-the-deployment-target-in-t.patch |  33 ++
 ...ssues-pre-Lion-due-to-missing-a-strnlen-d.patch |  70 +++
 ...nly-call-pthread_setname_np-on-SnowLeopar.patch |  36 ++
 ...ly-Prepare-clang-format-for-replacement-w.patch |  84 +++
 ...ly-Fix-name-of-scan-view-executable-insid.patch |  29 +
 .../1003-Default-to-ppc7400-for-OSX-10.5.patch     |  26 +
 ...etpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch |  29 +
 ...fragile-ObjC-runtime-when-targeting-darwi.patch |  31 +
 ...dc-header-search-paths-for-older-versions.patch |  41 ++
 ...ssues-pre-Lion-due-to-missing-a-strnlen-d.patch |  42 ++
 ...oat.h-to-work-on-Snow-Leopard-and-earlier.patch |  34 ++
 ...ilds-against-older-macOS-SDKs-that-don-t-.patch |  29 +
 ...-O_CLOEXEC-for-older-SDKs-that-don-t-have.patch |  49 ++
 ...nd-iterator-when-building-with-Lion-and-n.patch |  45 ++
 ...-long-long-math-prototypes-when-using-the.patch |  51 ++
 ...tomic-using-mutex-lock_guard-for-64b-ops-.patch | 316 +++++++++++
 ...https-llvm.org-bugs-show_bug.cgi-id-31433.patch |  30 +
 .../files/4002-Fix-build-on-Mountain-Lion.patch    |  41 ++
 lang/llvm-6.0/files/9001-macports-libstdcxx.diff   | 117 ++++
 lang/llvm-6.0/files/leopard-no-asan.patch          |  12 +
 lang/llvm-6.0/files/leopard-no-blocks.patch        |  26 +
 lang/llvm-6.0/files/llvm-bin                       |   7 +
 lang/llvm-6.0/files/llvm-bin-compat                |   2 +
 lang/llvm-6.0/files/mp-clang-6.0                   |  34 ++
 lang/llvm-6.0/files/mp-llvm-6.0                    |  60 ++
 lang/llvm-6.0/files/openmp-locations.patch         |  39 ++
 29 files changed, 2034 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-6.0/Portfile b/lang/llvm-6.0/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..3337759
</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-6.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,629 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# TODO:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#  * Update clang and lldb subports to build against installed libLLVM/libclang
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup compiler_blacklist_versions 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.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set llvm_version        6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set llvm_version_no_dot 60
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set clang_executable_version 6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set lldb_executable_version 6.0.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                    llvm-${llvm_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport                 clang-${llvm_version} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport                 lldb-${llvm_version} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set suffix              mp-${llvm_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set sub_prefix          ${prefix}/libexec/llvm-${llvm_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dist_subdir             llvm
</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} larryv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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:#e0ffe0;'>+    homepage            http://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:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib         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         bin:perl:perl5 port:llvm_select
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    homepage            http://clang.llvm.org/
</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:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib         port:libxml2 port:libomp port:llvm-${llvm_version} port:python27
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run         port:clang_select port:ld64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_skip_archcheck-append ld64 subversion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Clang doesn't actually use any of these, but the LLVM makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # system overlinks its binaries. Remove (or convert to build deps?)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # after #46040 is resolved.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:libedit port:libffi port:ncurses port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Older Xcode's lipo doesn't support x86_64h slices
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://trac.macports.org/ticket/53159#ticket
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[vercmp $xcodeversion "6.0.0"] < 0} {
</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;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants    +analyzer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${subport} eq "lldb-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    homepage            http://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         port:libxml2 port:libomp port:llvm-${llvm_version} port:python27 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:ncurses
</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;'>+    # Clang doesn't actually use any of these, but the LLVM makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # system overlinks its binaries. Remove (or convert to build deps?)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # after #46040 is resolved.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append  port:libedit port:libffi port:ncurses port:zlib
</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;'>+fetch.type              svn
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+svn.revision            321774
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_extract-append  port:subversion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set compiler_rt_rev     ${svn.revision}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set libcxx_rev          ${svn.revision}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set clang-modernize_rev ${svn.revision}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version                 ${llvm_version}-r${svn.revision}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#worksrcdir              trunk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#svn.url                 https://llvm.org/svn/llvm-project/llvm/trunk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+worksrcdir              release_${llvm_version_no_dot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+svn.url                 https://llvm.org/svn/llvm-project/llvm/branches/release_${llvm_version_no_dot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#default_variants-append +assertions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#default_variants-append +debug
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#version                 ${llvm_version}.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#epoch                   1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#master_sites            http://llvm.org/releases/${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#use_xz                  yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#extract.suffix          .tar.xz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#distfiles               llvm-${version}.src${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#worksrcdir              llvm-${version}.src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${distfiles} ne ""} {
</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:#e0ffe0;'>+        if {[variant_isset polly]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            distfiles-append     polly-${version}.src${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } elseif {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        distfiles-append     cfe-${version}.src${extract.suffix} compiler-rt-${version}.src${extract.suffix} libcxx-${version}.src${extract.suffix} clang-tools-extra-${version}.src${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } elseif {${subport} eq "lldb-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        distfiles-append     cfe-${version}.src${extract.suffix} lldb-${version}.src${extract.suffix}
</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;'>+patch.pre_args  -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0001-Set-the-Mach-O-CPU-Subtype-to-ppc7400-when-targeting.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0002-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0003-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0004-Fix-build-issues-pre-Lion-due-to-missing-a-strnlen-d.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0005-Threading-Only-call-pthread_setname_np-on-SnowLeopar.patch
</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;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        1001-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        1002-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        1003-Default-to-ppc7400-for-OSX-10.5.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        1004-Only-call-setpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        1005-Default-to-fragile-ObjC-runtime-when-targeting-darwi.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        1006-Fixup-libstdc-header-search-paths-for-older-versions.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        1007-Fix-build-issues-pre-Lion-due-to-missing-a-strnlen-d.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        2001-tsan-Fix-builds-against-older-macOS-SDKs-that-don-t-.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        2002-xray-Define-O_CLOEXEC-for-older-SDKs-that-don-t-have.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        3001-Fix-local-and-iterator-when-building-with-Lion-and-n.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        3002-Fix-missing-long-long-math-prototypes-when-using-the.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        3003-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        openmp-locations.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://llvm.org/bugs/show_bug.cgi?id=25681
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${worksrcdir} eq "trunk" || ${worksrcdir} eq "release_${llvm_version_no_dot}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Cannot set cppflags due to https://cmake.org/Bug/view.php?id=12928
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Cannot set cxxflags due to https://llvm.org/bugs/show_bug.cgi?id=25904
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #configure.cxxflags-append -DSVN_REVISION='"${svn.revision}"'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "1 i \\                             
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                #define SVN_REVISION \"${svn.revision}\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            " ${worksrcpath}/tools/clang/lib/Basic/Version.cpp
</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;'>+if {${subport} eq "lldb-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # lldb needs the clang sources present, so we apply the applicable patches.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        1001-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        1002-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        1003-Default-to-ppc7400-for-OSX-10.5.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        1004-Only-call-setpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        1005-Default-to-fragile-ObjC-runtime-when-targeting-darwi.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        1006-Fixup-libstdc-header-search-paths-for-older-versions.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        1007-Fix-build-issues-pre-Lion-due-to-missing-a-strnlen-d.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        4001-https-llvm.org-bugs-show_bug.cgi-id-31433.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        4002-Fix-build-on-Mountain-Lion.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        openmp-locations.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://llvm.org/bugs/show_bug.cgi?id=25681
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${worksrcdir} eq "trunk" || ${worksrcdir} eq "release_${llvm_version_no_dot}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Cannot set cppflags due to https://cmake.org/Bug/view.php?id=12928
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Cannot set cxxflags due to https://llvm.org/bugs/show_bug.cgi?id=25904
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #configure.cxxflags-append -DSVN_REVISION='"${svn.revision}"'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "1 i \\                             
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                #define SVN_REVISION \"${svn.revision}\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            " ${worksrcpath}/tools/clang/lib/Basic/Version.cpp
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.post_args         ../${worksrcdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default configure.dir       {${workpath}/build}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default build.dir           {${workpath}/build}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Adjust this once cmake-1.0.tcl is fixed:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     https://github.com/macports/macports-ports/pull/103
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Also see:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     https://llvm.org/bugs/show_bug.cgi?id=31425
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     https://trac.macports.org/ticket/53299
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DCMAKE_INSTALL_NAME_DIR=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DCMAKE_INSTALL_RPATH=${prefix}/lib \
</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;'>+configure.args-append \
</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:#e0ffe0;'>+
</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_ASSERTIONS=OFF \
</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;'>+    -DLLVM_BINDINGS_LIST=none \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DFFI_INCLUDE_DIR=`pkg-config --cflags-only-I libffi | sed 's/-I//'` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DFFI_LIBRARY_DIR=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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:#e0ffe0;'>+    select.group        llvm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    select.file         ${filespath}/mp-${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${subport} eq "clang-${llvm_version}"} {
</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:#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;'>+        -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;'>+        -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:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # TODO: libc++ shouldn't be built at all.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #       https://llvm.org/bugs/show_bug.cgi?id=25666
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} <= 13} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # We unfortunately don't have an option to just turn off tsan
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # https://llvm.org/bugs/show_bug.cgi?id=27715
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DCOMPILER_RT_BUILD_SANITIZERS=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;'>+        # libfuzzer uses TLS, so disable it on Snow Leopard and earlier
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       -DCOMPILER_RT_BUILD_LIBFUZZER=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${subport} eq "lldb-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #select.group        lldb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #select.file         ${filespath}/mp-${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>+        -DCLANG_ENABLE_ARCMT=OFF \
</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;'>+        -DLLVM_BUILD_RUNTIME=ON \
</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:#e0ffe0;'>+        -DPYTHON_EXECUTABLE=${prefix}/bin/python2.7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DPYTHON_INCLUDE_DIR=${prefix}/Library/Frameworks/Python.framework/Versions/2.7/include/python2.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;'>+# llvm-3.5 and later requires a C++11 runtime
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# XCode 4.3's clang (318.x) fails per https://trac.macports.org/ticket/44161
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# XCode 4.5's clang (421.11.66) fails due to http://llvm.org/bugs/show_bug.cgi?id=20184
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Xcode 4.6.3's clang (425.0.28) fails due to http://trac.macports.org/ticket/46897
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Xcode 4.6.3's clang (425.0.28) fails due to https://llvm.org/bugs/show_bug.cgi?id=30384
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Xcode 5.1's clang (clang-503.0.40) has codegen issues (resulting compiler crashes)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Xcode 6.2's clang (600.0.57) fails due to https://llvm.org/bugs/show_bug.cgi?id=25753
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist *gcc* {clang < 602}
</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;'>+    # clang older than 3.5 fail due to https://llvm.org/bugs/show_bug.cgi?id=25753
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compiler.blacklist-append macports-clang-3.3 macports-clang-3.4
</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;'>+    # Xcode 6.4's clang (602.0.53) fails to build lldb with 'thread-local storage is not supported for the current target'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compiler.blacklist-append {clang < 700}
</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;'>+# blacklist current and future versions if they're not available in order to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# help break potential dependency cycles.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach ver {devel} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![file exists ${prefix}/bin/clang-mp-${ver}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        compiler.blacklist-append macports-clang-${ver}
</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;'>+# I'm not sure the exact version of Xcode that has a good enough libtool, but 3.2.6 seems to get past this when 3.1.4 doesn't:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     /Developer/usr/bin/libtool: for architecture x86_64 object: CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o malformed object (unknown load command 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     /Developer/usr/bin/libtool: for architecture: (null) file: CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o is not an object file (not allowed in a library)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#     /Developer/usr/bin/libtool: for architecture i386 object: CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o malformed object (unknown load command 1)
</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;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Set CMAKE_LIBTOOL if we're using MacPorts-provided cctools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[lsearch -exact $PortInfo(depends_build) port:cctools] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DCMAKE_LIBTOOL=${prefix}/bin/libtool
</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;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Note that we are forcing this choice.  This means that anything linking
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # against llvm-3.5 needs to also be using libc++.  This is possibly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # problematic, but luckily there is just a limited set of such dependents.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>+    supported_archs i386 x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pre-fetch {
</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:#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;'>+variant universal {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # workaround a bug in Apple's shipped gcc driver-driver, patched in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # ours with driverdriver-num_infiles.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${configure.compiler} eq "gcc-4.0" ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${configure.compiler} eq "gcc-4.2" ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${configure.compiler} eq "llvm-gcc-4.2"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system "echo \"static int ___ignoreme;\" > ${worksrcpath}/tools/llvm-shlib/ignore.c"
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant assertions description "Enable assertions for error detection (has performance impacts, especially on JIT)" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-delete -DLLVM_ENABLE_ASSERTIONS=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append -DLLVM_ENABLE_ASSERTIONS=ON
</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;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[string match "*ppc*" [get_canonical_archs]]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # http://trac.macports.org/ticket/33987
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.optflags    -Os
</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}" && [vercmp $xcodeversion 5.0] < 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # https://llvm.org/bugs/show_bug.cgi?id=13671
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append leopard-no-asan.patch
</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;'>+    }
</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}" && ${os.major} <= 9} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append leopard-no-blocks.patch
</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;'>+        # Proxy for eliminating the dependency on native TLS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # http://trac.macports.org/ticket/46887
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append -DLLVM_ENABLE_BACKTRACES=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # https://llvm.org/bugs/show_bug.cgi?id=25680
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.cxxflags-append -U__STRICT_ANSI__
</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;'>+    # https://llvm.org/bugs/show_bug.cgi?id=25674
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cxxflags-append -std=c++11
</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;'>+pre-fetch {
</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;'>+        if {${os.platform} eq "darwin" && ${os.major} < 11} {
</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;'>+            pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ui_error "${subport} is not supported on OS X Snow Leopard and earlier.  It requires libxpc."
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Get HTTP proxy arguments if required, assuming we can use the same proxy for all repositories
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set proxy_args [portfetch::svn_proxy_args https://llvm.org/svn/llvm-project/cfe/trunk]
</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:#e0ffe0;'>+        if {[variant_isset polly]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${worksrcdir} eq "trunk"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/polly/trunk polly"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } elseif {${worksrcdir} eq "release_${llvm_version_no_dot}" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/polly/branches/release_${llvm_version_no_dot} polly"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                file rename ${workpath}/polly-${version}.src ${worksrcpath}/tools/polly
</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;'>+    } elseif {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${worksrcdir} eq "trunk"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/cfe/trunk clang"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W ${worksrcpath}/projects "svn ${proxy_args} co -r ${compiler_rt_rev} https://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W ${worksrcpath}/projects "svn ${proxy_args} co -r ${libcxx_rev} https://llvm.org/svn/llvm-project/libcxx/trunk libcxx"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W ${worksrcpath}/tools/clang/tools "svn ${proxy_args} co -r ${clang-modernize_rev} https://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } elseif {${worksrcdir} eq "release_${llvm_version_no_dot}" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/cfe/branches/release_${llvm_version_no_dot} clang"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W ${worksrcpath}/projects "svn ${proxy_args} co -r ${compiler_rt_rev} https://llvm.org/svn/llvm-project/compiler-rt/branches/release_${llvm_version_no_dot} compiler-rt"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W ${worksrcpath}/projects "svn ${proxy_args} co -r ${libcxx_rev} https://llvm.org/svn/llvm-project/libcxx/branches/release_${llvm_version_no_dot} libcxx"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W ${worksrcpath}/tools/clang/tools "svn ${proxy_args} co -r ${clang-modernize_rev} https://llvm.org/svn/llvm-project/clang-tools-extra/branches/release_${llvm_version_no_dot} extra"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file rename ${workpath}/cfe-${version}.src ${worksrcpath}/tools/clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file rename ${workpath}/compiler-rt-${version}.src ${worksrcpath}/projects/compiler-rt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file rename ${workpath}/libcxx-${version}.src ${worksrcpath}/projects/libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file rename ${workpath}/clang-tools-extra-${version}.src ${worksrcpath}/tools/clang/tools/extra
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } elseif {${subport} eq "lldb-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${worksrcdir} eq "trunk"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/cfe/trunk clang"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/lldb/trunk lldb"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } elseif {${worksrcdir} eq "release_${llvm_version_no_dot}" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/cfe/branches/release_${llvm_version_no_dot} clang"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/lldb/branches/release_${llvm_version_no_dot} lldb"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file rename ${workpath}/cfe-${version}.src ${worksrcpath}/tools/clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file rename ${workpath}/lldb-${version}.src ${worksrcpath}/tools/lldb
</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><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;'>+    destroot {
</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}/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;'>+
</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_executable_version} ${destroot}${sub_prefix}/bin/clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|/bin/clang-${clang_executable_version}|/bin/clang|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "${destroot}${sub_prefix}/lib/cmake/clang/ClangTargets-release.cmake"
</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;'>+if {${subport} eq "lldb-${llvm_version}"} {
</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;'>+            ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Clang.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/tools/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;'>+            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-bbedit.applescript \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-diff.py            \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-sublime.py         \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/tools/clang/tools/clang-format/clang-format.el                 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.dir   ${build.dir}/tools/lldb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 755 -d ${destroot}${prefix}/share/doc/lldb-${llvm_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 644 ${worksrcpath}/tools/lldb/docs/code-signing.txt ${destroot}${prefix}/share/doc/lldb-${llvm_version}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_msg "Please follow the instructions in ${prefix}/share/doc/lldb-${llvm_version}/code-signing.txt and then codesign the debugserver with:"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${os.major} >= 13} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_msg "   sudo codesign --force --deep --preserve-metadata=identifier,entitlements,resource-rules,requirements,flags,team-identifier --sign <identity> ${sub_prefix}/bin/debugserver"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_msg "   sudo codesign --force --deep --preserve-metadata=identifier,entitlements,resource-rules,requirements --sign <identity> ${sub_prefix}/bin/debugserver"
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach bin [glob ${destroot}${sub_prefix}/bin/*] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set bin_filename [string map "${sub_prefix} ${prefix}" ${bin}]-${suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set exec_path [string map "${destroot}${sub_prefix} ${sub_prefix}" ${bin}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # see https://trac.macports.org/ticket/54985
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${os.platform} eq "darwin" && [vercmp ${xcodeversion} 4.6] < 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             xinstall -m 755 "${filespath}/llvm-bin-compat" "${bin_filename}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             xinstall -m 755 "${filespath}/llvm-bin" "${bin_filename}"
</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;'>+        reinplace "s:EXEC_PATH:${exec_path}:" "${bin_filename}"
</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 "llvm-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # r156389 (a5d2435409858728970202226d0bbbee508fe408) temporarilary removed llvm man pages
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #foreach man [glob ${destroot}${sub_prefix}/share/man/man1/*.1] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #    set basename [string map "${destroot}${sub_prefix}/share/man/man1/ {}" ${man}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #    file rename ${man} ${destroot}${prefix}/share/man/man1/[string map ".1 -${suffix}.1" ${basename}]
</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;'>+        # https://trac.macports.org/ticket/53673
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -s llvm-dsymutil ${destroot}${sub_prefix}/bin/dsymutil
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # https://llvm.org/bugs/show_bug.cgi?id=19465
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_isset polly]} {
</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;'>+    } elseif {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "ditto ${worksrcpath}/projects/libcxx/include ${destroot}${sub_prefix}/lib/c++/v1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # http://trac.macports.org/ticket/33207
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ln -s ${prefix}/libexec/ld64/ld ${destroot}${sub_prefix}/bin/ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } elseif {${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:#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;'>+if {${subport} eq "llvm-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant polly description {Provide the polly polyhedral optimizer} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Unless upstream reverts to their old OCaml detection mechanism,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # this variant will be broken until #46161 is resolved.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant ocaml description {Enable generation of OCaml binding} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append   port:ocaml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-delete -DLLVM_BINDINGS_LIST=none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append -DLLVM_BINDINGS_LIST=ocaml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        destroot.args-append  OVERRIDE_libdir=${sub_prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset assertions]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Need to match llvm +-assertions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        require_active_variants port:llvm-${llvm_version} assertions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Need to match llvm +-assertions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        require_active_variants port:llvm-${llvm_version} {} assertions
</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;'>+    variant analyzer description {Install clang static analyzer} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-delete \
</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;'>+        configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DCLANG_ENABLE_STATIC_ANALYZER=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_run-append port:perl5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "s|/usr/bin/env perl|${prefix}/bin/perl5|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/tools/scan-build/libexec/ccc-analyzer \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/tools/scan-build/libexec/c++-analyzer \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/tools/scan-build/bin/scan-build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "s|/usr/bin/env python|${prefix}/bin/python2.7|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/tools/scan-build/bin/set-xcode-analyzer \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/tools/scan-view/bin/scan-view
</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;'>+    variant libstdcxx description {-stdlib=macports-libstdc++ searches for MacPorts libstdc++} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append 9001-macports-libstdcxx.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "s|@@MACPORTS_GCC_INCLUDE_DIR@@|${prefix}/include/gcc/c++|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "s|@@MACPORTS_HOST_NAME@@|${build_arch}-apple-darwin${os.major}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "s|@@MACPORTS_libstdc++@@|${prefix}/lib/libgcc/libstdc++.6.dylib|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # GCC was built for ${build_arch}-apple-darwin${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # if GCC was also built universal, it has an extra include directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # if ${build_arch} is 32-bit, there is an extra 64-bit subdirectory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # if ${build_arch} is 64-bit, there is an extra 32-bit subdirectory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # MacPorts GCC can not compile across platforms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            switch ${build_arch} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                x86_64 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_ppc    ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_ppc64  "ppc64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_i386   "i386"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_x86_64 ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                i386 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_ppc    ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_ppc64  "ppc64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_i386   ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_x86_64 "x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ppc64 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_ppc    "ppc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_ppc64  ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_i386   ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_x86_64 "x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ppc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_ppc    ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_ppc64  "ppc64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_i386   ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set gcc_subdirectory_x86_64 "x86_64"
</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;'>+            reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_x86_64@@|${gcc_subdirectory_x86_64}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_i386@@|${gcc_subdirectory_i386}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_ppc64@@|${gcc_subdirectory_ppc64}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_ppc@@|${gcc_subdirectory_ppc}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants +libstdcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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;'>+            ${worksrcpath}/tools/clang/lib/Driver/ToolChains/Clang.cpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/tools/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;'>+            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-bbedit.applescript \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-diff.py            \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-sublime.py         \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/tools/clang/tools/clang-format/clang-format.el                 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${destroot}${sub_prefix}/libexec
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${worksrcpath}/tools/clang/tools/clang-format ${destroot}${sub_prefix}/libexec/clang-format
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file delete -force ${destroot}${sub_prefix}/libexec/clang-format/.svn
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file delete -force ${destroot}${sub_prefix}/libexec/clang-format/Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file delete -force ${destroot}${sub_prefix}/libexec/clang-format/Release+Debug+Asserts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file delete -force ${destroot}${sub_prefix}/libexec/clang-format/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file delete -force ${destroot}${sub_prefix}/libexec/clang-format/ClangFormat.cpp
</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;'>+livecheck.type          none
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-6.0/files/0001-Set-the-Mach-O-CPU-Subtype-to-ppc7400-when-targeting.patch b/lang/llvm-6.0/files/0001-Set-the-Mach-O-CPU-Subtype-to-ppc7400-when-targeting.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..e93e46f
</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-6.0/files/0001-Set-the-Mach-O-CPU-Subtype-to-ppc7400-when-targeting.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,56 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From f527be6279e3bd66f90a8ef902d0178bea05d6a5 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 17 Jan 2015 09:03:43 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 1/4] Set the Mach-O CPU Subtype to ppc7400 when targeting
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Leopard
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+http://llvm.org/bugs/show_bug.cgi?id=18463
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp | 13 ++++++++++---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 10 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 llvm_master/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp macports_master/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2a1de244da9..1624597ec4c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -201,17 +201,24 @@ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // FIXME: This should be in a separate file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   class DarwinPPCAsmBackend : public PPCAsmBackend {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    Triple TheTriple;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    DarwinPPCAsmBackend(const Target &T) : PPCAsmBackend(T, false) { }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    DarwinPPCAsmBackend(const Target &T, const Triple &TT) : PPCAsmBackend(T, false), TheTriple(TT) { }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::unique_ptr<MCObjectWriter>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     createObjectWriter(raw_pwrite_stream &OS) const override {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       bool is64 = getPointerSize() == 8;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      MachO::CPUSubTypePowerPC CS = MachO::CPU_SUBTYPE_POWERPC_ALL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (TheTriple.isOSDarwin() && !TheTriple.isMacOSXVersionLT(10,5)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          CS = MachO::CPU_SUBTYPE_POWERPC_7400;
</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;'>+       return createPPCMachObjectWriter(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           OS,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           /*Is64Bit=*/is64,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           (is64 ? MachO::CPU_TYPE_POWERPC64 : MachO::CPU_TYPE_POWERPC),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          MachO::CPU_SUBTYPE_POWERPC_ALL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          CS);
</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;'>+@@ -235,7 +242,7 @@ MCAsmBackend *llvm::createPPCAsmBackend(const Target &T,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                         const Triple &TT, StringRef CPU,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                         const MCTargetOptions &Options) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (TT.isOSDarwin())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return new DarwinPPCAsmBackend(T);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return new DarwinPPCAsmBackend(T, TT);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   uint8_t OSABI = MCELFObjectTargetWriter::getOSABI(TT.getOS());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   bool IsLittleEndian = TT.getArch() == Triple::ppc64le;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.15.1
</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-6.0/files/0002-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch b/lang/llvm-6.0/files/0002-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 0000000..b4dd8cf
</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-6.0/files/0002-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,36 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 831fb49fcd58b016962d427d83d78e9e55eb1d08 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 18 Jan 2015 11:18:13 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 2/4] Define EXC_MASK_CRASH and MACH_EXCEPTION_CODES if they're
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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;'>+The 10.4 SDK does not define these macros
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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 llvm_master/lib/Support/Unix/Signals.inc macports_master/lib/Support/Unix/Signals.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index aaf760c5b61..69e682bdc9b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/lib/Support/Unix/Signals.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/lib/Support/Unix/Signals.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -472,6 +472,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.15.1
</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-6.0/files/0003-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch b/lang/llvm-6.0/files/0003-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 0000000..531d7e3
</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-6.0/files/0003-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,33 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 6ffa12e56d4ac413775e2f2d119838e3122c885d Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 17 Jan 2015 16:41:30 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 3/4] MacPorts Only: Don't embed the deployment target in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asm when using -fno-integrated-as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+http://llvm.org/bugs/show_bug.cgi?id=21636
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 6 ++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 4 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 llvm_master/lib/CodeGen/AsmPrinter/AsmPrinter.cpp macports_master/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d7995447592..2ac927ca4ce 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -254,8 +254,10 @@ 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;'>+-  OutStreamer->EmitVersionForTarget(Target);
</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;'>++    OutStreamer->EmitVersionForTarget(Target);
</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;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.15.1
</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-6.0/files/0004-Fix-build-issues-pre-Lion-due-to-missing-a-strnlen-d.patch b/lang/llvm-6.0/files/0004-Fix-build-issues-pre-Lion-due-to-missing-a-strnlen-d.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..1b7c297
</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-6.0/files/0004-Fix-build-issues-pre-Lion-due-to-missing-a-strnlen-d.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,70 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 0ffe84c579f75bb93a29453183d8ebd0595b25e7 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 20 Dec 2016 12:41:21 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 4/4] Fix build issues pre-Lion due to missing a strnlen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ definition
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://trac.macports.org/ticket/51520
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://llvm.org/bugs/show_bug.cgi?id=27714
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/ObjectYAML/MachOYAML.cpp  | 14 ++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tools/obj2yaml/macho2yaml.cpp | 16 +++++++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 29 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git llvm_master/lib/ObjectYAML/MachOYAML.cpp macports_master/lib/ObjectYAML/MachOYAML.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e00a4ea9307..0daba44573c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/lib/ObjectYAML/MachOYAML.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/lib/ObjectYAML/MachOYAML.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -22,6 +22,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <cstdint>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <cstring>
</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;'>++#include <Availability.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __MAC_OS_X_VERSION_MIN_REQUIRED < 1070
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static size_t strnlen(const char *s, size_t maxlen) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  size_t l = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  while (l < maxlen && *s) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    l++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    s++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return l;
</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;'>++#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;'>+ MachOYAML::LoadCommand::~LoadCommand() = default;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git llvm_master/tools/obj2yaml/macho2yaml.cpp macports_master/tools/obj2yaml/macho2yaml.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fa81ce974ec..1e86f820437 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/tools/obj2yaml/macho2yaml.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/tools/obj2yaml/macho2yaml.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,7 +15,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "llvm/Support/ErrorHandling.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "llvm/Support/LEB128.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <string.h> // for memcpy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <string.h> // for memcpy abd strnlen
</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;'>++#include <Availability.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __MAC_OS_X_VERSION_MIN_REQUIRED < 1070
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static size_t strnlen(const char *s, size_t maxlen) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  size_t l = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  while (l < maxlen && *s) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    l++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    s++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return l;
</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;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ using namespace llvm;
</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.15.1
</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-6.0/files/0005-Threading-Only-call-pthread_setname_np-on-SnowLeopar.patch b/lang/llvm-6.0/files/0005-Threading-Only-call-pthread_setname_np-on-SnowLeopar.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..da1f466
</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-6.0/files/0005-Threading-Only-call-pthread_setname_np-on-SnowLeopar.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,36 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 1bbe86f7fae2f5222ee6d88d7e3c8d2dae3145c6 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 27 Dec 2017 23:05:43 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 5/5] Threading: Only call pthread_setname_np() on SnowLeopard+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/Support/Unix/Threading.inc | 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 llvm_master/lib/Support/Unix/Threading.inc macports_master/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 267af388ecd..1c8c1b026e3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/lib/Support/Unix/Threading.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,6 +15,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "llvm/ADT/Twine.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <Availability.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <mach/mach_init.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <mach/mach_port.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -153,8 +154,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 __MAC_OS_X_VERSION_MAX_ALLOWED >= 1060
</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.15.1
</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-6.0/files/1001-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch b/lang/llvm-6.0/files/1001-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..4cd5444
</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-6.0/files/1001-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,84 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 54709712b29ce458e99d54922f31769843271e3b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 17 Jan 2015 17:50:24 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 1001/1008] 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;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tools/clang-format/clang-format-bbedit.applescript | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tools/clang-format/clang-format-diff.py            | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tools/clang-format/clang-format-sublime.py         | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tools/clang-format/clang-format.el                 | 3 +--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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 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:#e0ffe0;'>+index fa88fe9004..eb09448be5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/tools/clang/tools/clang-format/clang-format-bbedit.applescript
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/tools/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 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:#e0ffe0;'>+index ffa30e70dd..a624ad256f 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/tools/clang/tools/clang-format/clang-format-diff.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/tools/clang/tools/clang-format/clang-format-diff.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -55,7 +55,7 @@ def main():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   parser.add_argument('-style',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       help='formatting style to apply (LLVM, Google, Chromium, '
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       'Mozilla, WebKit)')
</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 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:#e0ffe0;'>+index 16ff56e502..4b68104a28 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/tools/clang/tools/clang-format/clang-format-sublime.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/tools/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 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:#e0ffe0;'>+index aa9c3ff4ca..f661969e3c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/tools/clang/tools/clang-format/clang-format.el
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/tools/clang/tools/clang-format/clang-format.el
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -36,8 +36,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 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:#e0ffe0;'>+index 2412566346..cf35c8738f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/tools/clang/tools/clang-format/clang-format.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/tools/clang/tools/clang-format/clang-format.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -36,7 +36,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.13.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-6.0/files/1002-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch b/lang/llvm-6.0/files/1002-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..bb4ecf2
</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-6.0/files/1002-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,29 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 1f5179f2a269cf8e6c3ec4a9fb0e360dd1e30954 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 17 Jan 2015 17:55:27 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 1002/1008] MacPorts Only: Fix name of scan-view executable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ inside scan-build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+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;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git llvm_master/tools/clang/tools/scan-build/bin/scan-build macports_master/tools/clang/tools/scan-build/bin/scan-build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index cbf3bf3d6f..f7fad16bba 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/tools/clang/tools/scan-build/bin/scan-build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/tools/clang/tools/scan-build/bin/scan-build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1855,6 +1855,8 @@ if (defined $Options{OutputFormat}) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       Diag "Analysis run complete.\n";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       Diag "Viewing analysis results in '$Options{OutputDir}' using scan-view.\n";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       my $ScanView = Cwd::realpath("$RealBin/scan-view");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (! -x $ScanView) { $ScanView = Cwd::realpath("$RealBin/bin/scan-view"); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (! -x $ScanView) { $ScanView = Cwd::realpath("$RealBin/../scan-view/scan-view"); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if (! -x $ScanView) { $ScanView = "scan-view"; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if (! -x $ScanView) { $ScanView = Cwd::realpath("$RealBin/../../scan-view/bin/scan-view"); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       exec $ScanView, "$Options{OutputDir}";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.13.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-6.0/files/1003-Default-to-ppc7400-for-OSX-10.5.patch b/lang/llvm-6.0/files/1003-Default-to-ppc7400-for-OSX-10.5.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..674ff46
</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-6.0/files/1003-Default-to-ppc7400-for-OSX-10.5.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 e855f1e8b7beb44f9bedeb6b879e7f517b88ee78 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Iain Sandoe <iain@codesourcery.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 27 Jul 2014 20:35:16 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 1003/1008] Default to ppc7400 for OSX 10.5+
</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;'>+ lib/Driver/ToolChains/CommonArgs.cpp | 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 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:#e0ffe0;'>+index 00bd60bc24..931ab66061 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -314,6 +314,9 @@ std::string tools::getCPUName(const ArgList &Args, const llvm::Triple &T,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         TargetCPUName = "ppc64";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       else if (T.getArch() == llvm::Triple::ppc64le)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         TargetCPUName = "ppc64le";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      else if (T.isOSDarwin() && !T.isMacOSXVersionLT(10,5))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        // For 10.5+ Altivec is assumed available.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        TargetCPUName = "7400";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         TargetCPUName = "ppc";
</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.13.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-6.0/files/1004-Only-call-setpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch b/lang/llvm-6.0/files/1004-Only-call-setpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..a1a5eaf
</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-6.0/files/1004-Only-call-setpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,29 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From ceda1b45e1284cd5ebad1e81e9a6587a85484e5e Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 17 Jan 2015 19:08:57 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 1004/1008] 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;'>+Tiger and earlier versions of darwin do not support this.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tools/libclang/CIndex.cpp | 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 llvm_master/tools/clang/tools/libclang/CIndex.cpp macports_master/tools/clang/tools/libclang/CIndex.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d527535a17..ea6c83c7a7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/tools/clang/tools/libclang/CIndex.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/tools/clang/tools/libclang/CIndex.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8122,7 +8122,7 @@ void clang::setThreadBackgroundPriority() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (getenv("LIBCLANG_BGPRIO_DISABLE"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef USE_DARWIN_THREADS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(USE_DARWIN_THREADS) && defined(PRIO_DARWIN_THREAD) && defined(PRIO_DARWIN_BG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   setpriority(PRIO_DARWIN_THREAD, 0, PRIO_DARWIN_BG);
</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;'>+2.13.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-6.0/files/1005-Default-to-fragile-ObjC-runtime-when-targeting-darwi.patch b/lang/llvm-6.0/files/1005-Default-to-fragile-ObjC-runtime-when-targeting-darwi.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..95dbb16
</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-6.0/files/1005-Default-to-fragile-ObjC-runtime-when-targeting-darwi.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,31 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 143c83b45dd9fff874ad05dc3e20055d24dfa52f Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 20 Jan 2015 00:09:16 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 1005/1008] Default to fragile ObjC runtime when targeting
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ darwin/ppc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/Driver/ToolChains/Darwin.h | 6 ++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 4 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 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:#e0ffe0;'>+index 6cb1d04b78..7dd2a58ffe 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/tools/clang/lib/Driver/ToolChains/Darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/tools/clang/lib/Driver/ToolChains/Darwin.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -210,8 +210,10 @@ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   bool IsEncodeExtendedBlockSignatureDefault() const override { return true; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   bool IsObjCNonFragileABIDefault() const override {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    // Non-fragile ABI is default for everything but i386.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return getTriple().getArch() != llvm::Triple::x86;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    // Non-fragile ABI is default for legacy architectures
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return getTriple().getArch() != llvm::Triple::x86 &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           getTriple().getArch() != llvm::Triple::ppc &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           getTriple().getArch() != llvm::Triple::ppc64;
</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;'>+   bool UseObjCMixedDispatch() const override { return true; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.13.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-6.0/files/1006-Fixup-libstdc-header-search-paths-for-older-versions.patch b/lang/llvm-6.0/files/1006-Fixup-libstdc-header-search-paths-for-older-versions.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..e379bc8
</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-6.0/files/1006-Fixup-libstdc-header-search-paths-for-older-versions.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,41 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 9f84ee73fd563b2d484b80db19b6ad960dfb2f08 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 31 Oct 2016 15:06:36 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 1006/1008] Fixup libstdc++ header search paths for older
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ versions of Mac OS X
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The subpaths were removed in Lion.  Leopard and Snow Leopard had darwin8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+symlinks for compatibility.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://llvm.org/bugs/show_bug.cgi?id=30858
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/Frontend/InitHeaderSearch.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 llvm_master/tools/clang/lib/Frontend/InitHeaderSearch.cpp macports_master/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1d7c8a0c87..94a7f09fd5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/tools/clang/lib/Frontend/InitHeaderSearch.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -367,7 +367,7 @@ AddDefaultCPlusPlusIncludePaths(const llvm::Triple &triple, const HeaderSearchOp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   "powerpc-apple-darwin10", "", "ppc64",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   triple);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.0.0",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                  "powerpc-apple-darwin10", "", "ppc64",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                  "powerpc-apple-darwin8", "", "ppc64",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   triple);
</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;'>+@@ -376,7 +376,7 @@ AddDefaultCPlusPlusIncludePaths(const llvm::Triple &triple, const HeaderSearchOp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   "i686-apple-darwin10", "", "x86_64", triple);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.0.0",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                  "i686-apple-darwin8", "", "", triple);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                  "i686-apple-darwin8", "", "x86_64", triple);
</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.13.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-6.0/files/1007-Fix-build-issues-pre-Lion-due-to-missing-a-strnlen-d.patch b/lang/llvm-6.0/files/1007-Fix-build-issues-pre-Lion-due-to-missing-a-strnlen-d.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..2931003
</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-6.0/files/1007-Fix-build-issues-pre-Lion-due-to-missing-a-strnlen-d.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,42 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 091b885411041c711b0d25c43c73deac9cfbb906 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 20 Dec 2016 15:53:39 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 1007/1008] Fix build issues pre-Lion due to missing a strnlen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ definition
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://trac.macports.org/ticket/51520
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://llvm.org/bugs/show_bug.cgi?id=27714
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/Lex/HeaderMap.cpp | 14 ++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 14 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git llvm_master/tools/clang/lib/Lex/HeaderMap.cpp macports_master/tools/clang/lib/Lex/HeaderMap.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 24a14b6cdb..c38986d46c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/tools/clang/lib/Lex/HeaderMap.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/tools/clang/lib/Lex/HeaderMap.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -26,6 +26,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <memory>
</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;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <Availability.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __MAC_OS_X_VERSION_MIN_REQUIRED < 1070
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static size_t strnlen(const char *s, size_t maxlen) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  size_t l = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  while (l < maxlen && *s) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    l++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    s++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return l;
</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;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /// HashHMapKey - This is the 'well known' hash function required by the file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /// format, used to look up keys in the hash table.  The hash table uses simple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /// linear probing based on this function.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.13.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-6.0/files/1008-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch b/lang/llvm-6.0/files/1008-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..e4cb08f
</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-6.0/files/1008-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.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 1756240a138dd99225bc1a4fa2f32606074456ad Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 20 Jul 2017 17:15:35 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 1008/1008] Fix float.h to work on Snow Leopard and earlier
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://bugs.llvm.org/show_bug.cgi?id=31504
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://trac.macports.org/ticket/54135
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/Headers/float.h | 7 ++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 6 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+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:#e0ffe0;'>+index 0f453d87cb..1db2b28ed7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/tools/clang/lib/Headers/float.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/tools/clang/lib/Headers/float.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -31,7 +31,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * Also fall back on Darwin to allow additional definitions and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * implementation-defined values.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if (defined(__APPLE__) || (defined(__MINGW32__) || defined(_MSC_VER))) && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__APPLE__) && __has_include(<Availability.h>)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <Availability.h>
</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 ((defined(__APPLE__) && __has_include(<Availability.h>) && (!defined(__MAC_OS_X_VERSION_MAX_ALLOWED) || __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300)) || (defined(__MINGW32__) || defined(_MSC_VER))) && \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     __STDC_HOSTED__ && __has_include_next(<float.h>)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  include_next <float.h>
</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.13.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-6.0/files/2001-tsan-Fix-builds-against-older-macOS-SDKs-that-don-t-.patch b/lang/llvm-6.0/files/2001-tsan-Fix-builds-against-older-macOS-SDKs-that-don-t-.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..3b2547f
</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-6.0/files/2001-tsan-Fix-builds-against-older-macOS-SDKs-that-don-t-.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,29 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 689c59828583bf1ca95c874c0f1a4c5f91f68b71 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 27 Dec 2017 21:19:34 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 2001/2002] tsan: Fix builds against older macOS SDKs that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ don't have DISPATCH_NOESCAPE defined
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/tsan/rtl/tsan_libdispatch_mac.cc | 4 ++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 4 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git llvm_master/projects/compiler-rt/lib/tsan/rtl/tsan_libdispatch_mac.cc macports_master/projects/compiler-rt/lib/tsan/rtl/tsan_libdispatch_mac.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8c759a3be..44ac84022 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/projects/compiler-rt/lib/tsan/rtl/tsan_libdispatch_mac.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/projects/compiler-rt/lib/tsan/rtl/tsan_libdispatch_mac.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,6 +25,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <dispatch/dispatch.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <pthread.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef DISPATCH_NOESCAPE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define DISPATCH_NOESCAPE
</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 long long_t;  // NOLINT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace __tsan {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.15.1
</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-6.0/files/2002-xray-Define-O_CLOEXEC-for-older-SDKs-that-don-t-have.patch b/lang/llvm-6.0/files/2002-xray-Define-O_CLOEXEC-for-older-SDKs-that-don-t-have.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..c819db7
</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-6.0/files/2002-xray-Define-O_CLOEXEC-for-older-SDKs-that-don-t-have.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,49 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 585a864b88b65cfbe57765d769b92b771bfaf762 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 27 Dec 2017 23:21:37 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 2002/2002] xray: Define O_CLOEXEC for older SDKs that don't
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ have it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/xray/xray_utils.cc  | 6 ++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/xray/xray_x86_64.cc | 6 ++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 12 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git llvm_master/projects/compiler-rt/lib/xray/xray_utils.cc macports_master/projects/compiler-rt/lib/xray/xray_utils.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b9a38d1b9..b26a76893 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/projects/compiler-rt/lib/xray/xray_utils.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/projects/compiler-rt/lib/xray/xray_utils.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -25,6 +25,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <unistd.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <utility>
</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;'>++#ifndef O_CLOEXEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define O_CLOEXEC 0x1000000
</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;'>+ namespace __xray {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void printToStdErr(const char *Buffer) XRAY_NEVER_INSTRUMENT {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git llvm_master/projects/compiler-rt/lib/xray/xray_x86_64.cc macports_master/projects/compiler-rt/lib/xray/xray_x86_64.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e34806fa1..74ac35e47 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/projects/compiler-rt/lib/xray/xray_x86_64.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/projects/compiler-rt/lib/xray/xray_x86_64.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12,6 +12,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <tuple>
</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;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef O_CLOEXEC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define O_CLOEXEC 0x1000000
</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;'>+ namespace __xray {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static std::pair<ssize_t, bool>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.15.1
</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-6.0/files/3001-Fix-local-and-iterator-when-building-with-Lion-and-n.patch b/lang/llvm-6.0/files/3001-Fix-local-and-iterator-when-building-with-Lion-and-n.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..b518631
</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-6.0/files/3001-Fix-local-and-iterator-when-building-with-Lion-and-n.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,45 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 9e5d2dc8be577c1971723412a84c16026f0aca75 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 16 Jan 2015 21:34:36 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 3001/3003] Fix <local> and <iterator> when building with Lion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ and newer Availability.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include/iterator | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include/locale   | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 4 insertions(+), 4 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git llvm_master/projects/libcxx/include/iterator macports_master/projects/libcxx/include/iterator
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d163ab1b0..a44890712 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/projects/libcxx/include/iterator
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/projects/libcxx/include/iterator
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1044,8 +1044,8 @@ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     _LIBCPP_INLINE_VISIBILITY bool failed() const _NOEXCEPT {return __sbuf_ == 0;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if !defined(__APPLE__) || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_8) || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_6_0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && defined(__MAC_10_8) && __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_8) || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && defined(__IPHONE_6_0) && __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_6_0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     template <class _Ch, class _Tr>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     friend
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git llvm_master/projects/libcxx/include/locale macports_master/projects/libcxx/include/locale
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d30d950c7..cd2869561 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/projects/libcxx/include/locale
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/projects/libcxx/include/locale
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1372,8 +1372,8 @@ __pad_and_output(_OutputIterator __s,
</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 !defined(__APPLE__) || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_8) || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_6_0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && defined(__MAC_10_8) && __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_8) || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && defined(__IPHONE_6_0) && __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_6_0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template <class _CharT, class _Traits>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _LIBCPP_HIDDEN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.13.2
</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-6.0/files/3002-Fix-missing-long-long-math-prototypes-when-using-the.patch b/lang/llvm-6.0/files/3002-Fix-missing-long-long-math-prototypes-when-using-the.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..4a9dbf0
</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-6.0/files/3002-Fix-missing-long-long-math-prototypes-when-using-the.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,51 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 272f8f07e4ab1935fa6ce73fdd5373742e8e4c3d Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 17 Jan 2015 16:26:20 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 3002/3003] Fix missing long long math prototypes when using
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ the Snow Leopard SDK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include/math.h | 26 ++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 26 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+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:#e0ffe0;'>+index 8c30ba85d..023943ca2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/projects/libcxx/include/math.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/projects/libcxx/include/math.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -300,6 +300,32 @@ long double    truncl(long double x);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include_next <math.h>
</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;'>++# if __has_include(<Availability.h>)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  include <Availability.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  if __MAC_OS_X_VERSION_MAX_ALLOWED < 1070
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#    define __APPLE_BAD_MATH_H 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#    define __APPLE_BAD_MATH_H 0
</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;'>++#  define __APPLE_BAD_MATH_H 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 __APPLE_BAD_MATH_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* These prototypes are incorrectly omitted from <math.h> on Snow Leopard despite being available */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern "C" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    extern long long int llrintl(long double);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    extern long long int llrint(double);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    extern long long int llrintf(float);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    extern long long int llroundl(long double);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    extern long long int llround(double);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    extern long long int llroundf(float);
</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;'>++#endif // __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // We support including .h headers inside 'extern "C"' contexts, so switch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.13.2
</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-6.0/files/3003-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch b/lang/llvm-6.0/files/3003-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..df32aa7
</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-6.0/files/3003-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,316 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 6edfb88a439f007e5b22f06389ff65fb20a8900a Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: David Fang <fang@csl.cornell.edu>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 15 Jan 2014 21:27:34 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 3003/3003] implement atomic<> using mutex/lock_guard for 64b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ops on 32b PPC not pretty, not fast, but passes atomic tests
</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;'>+ include/__atomic_locked | 240 ++++++++++++++++++++++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include/atomic          |  46 ++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 286 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 include/__atomic_locked
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+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:#e0ffe0;'>+new file mode 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 000000000..f10dd747e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/projects/libcxx/include/__atomic_locked
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,240 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// -*- C++ -*-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//===--------------------------- __atomic_locked --------------------------===//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//                     The LLVM Compiler Infrastructure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++//
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// This file is distributed under the University of Illinois Open Source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// License. See LICENSE.TXT for details.
</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;'>++#ifndef _LIBCPP_ATOMIC_LOCKED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define _LIBCPP_ATOMIC_LOCKED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <__mutex_base>     // for mutex and lock_guard
</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;'>++  This provides slow-but-usable lock-based atomic access to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  structures for which atomic lock-free functions are missing.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  This is motivated by the desire for 64b atomic operations
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  on 32b PowerPC architectures.  
</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 !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#pragma GCC system_header
</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;'>++_LIBCPP_BEGIN_NAMESPACE_STD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template <class _Tp, bool = is_integral<_Tp>::value && !is_same<_Tp, bool>::value>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++struct __atomic_mutex_locked  // false
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mutable _Atomic(_Tp) __a_;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mutable mutex __lock_;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    typedef lock_guard<mutex>       lock_type;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp& na(void) const { return reinterpret_cast<_Tp&>(__a_); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    volatile _Tp& na(void) const volatile { return reinterpret_cast<volatile _Tp&>(__a_); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    bool is_lock_free() const volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {return false;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    bool is_lock_free() const _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {return false;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    void store(_Tp __d, memory_order = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(const_cast<mutex&>(__lock_)); na() = __d; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    void store(_Tp __d, memory_order = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(__lock_); na() = __d; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp load(memory_order = memory_order_seq_cst) const volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(const_cast<mutex&>(__lock_)); return na(); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp load(memory_order = memory_order_seq_cst) const _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(__lock_); return na(); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    operator _Tp() const volatile _NOEXCEPT {return load();}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    operator _Tp() const _NOEXCEPT          {return load();}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp exchange(_Tp __d, memory_order = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(const_cast<mutex&>(__lock_));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  // or use std::swap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          const _Tp ret = na(); na() = __d; return ret; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp exchange(_Tp __d, memory_order = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(__lock_);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  // or use std::swap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          const _Tp ret = na(); na() = __d; return ret; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    bool compare_exchange_weak(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                               memory_order __s, memory_order __f) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(const_cast<mutex&>(__lock_));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (na() == __e) { na() = __d; return true; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    else { __e = na(); return false; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    bool compare_exchange_weak(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                               memory_order __s, memory_order __f) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(__lock_);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (na() == __e) { na() = __d; return true; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    else { __e = na(); return false; }
</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;'>++    // for now, _weak inditinguishable from _strong
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    bool compare_exchange_strong(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                 memory_order __s, memory_order __f) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {return compare_exchange_weak(__e, __d, __s, __f);}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    bool compare_exchange_strong(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                 memory_order __s, memory_order __f) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {return compare_exchange_weak(__e, __d, __s, __f);}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    bool compare_exchange_weak(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                              memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {return compare_exchange_weak(__e, __d, __m, __m);}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    bool compare_exchange_weak(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                               memory_order __m = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {return compare_exchange_weak(__e, __d, __m, __m);}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    bool compare_exchange_strong(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                              memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {return compare_exchange_strong(__e, __d, __m, __m);}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    bool compare_exchange_strong(_Tp& __e, _Tp __d,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                 memory_order __m = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {return compare_exchange_strong(__e, __d, __m, __m);}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    __atomic_mutex_locked() _NOEXCEPT = default;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    __atomic_mutex_locked() _NOEXCEPT : __a_() {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif // _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_CONSTEXPR __atomic_mutex_locked(_Tp __d) _NOEXCEPT : __a_(__d) {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef _LIBCPP_HAS_NO_DELETED_FUNCTIONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    __atomic_mutex_locked(const __atomic_mutex_locked&) = delete;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    __atomic_mutex_locked& operator=(const __atomic_mutex_locked&) = delete;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    __atomic_mutex_locked& operator=(const __atomic_mutex_locked&) volatile = delete;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else  // _LIBCPP_HAS_NO_DELETED_FUNCTIONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++private:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    __atomic_mutex_locked(const __atomic_mutex_locked&);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    __atomic_mutex_locked& operator=(const __atomic_mutex_locked&);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    __atomic_mutex_locked& operator=(const __atomic_mutex_locked&) volatile;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif  // _LIBCPP_HAS_NO_DELETED_FUNCTIONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++};        // end struct __atomic_mutex_locked
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// atomic<Integral>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template <class _Tp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++struct __atomic_mutex_locked<_Tp, true>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    : public __atomic_mutex_locked<_Tp, false>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    typedef __atomic_mutex_locked<_Tp, false> __base;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    typedef       typename __base::lock_type      lock_type;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    using __base::__lock_;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    using __base::na;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    __atomic_mutex_locked() _NOEXCEPT _LIBCPP_DEFAULT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_CONSTEXPR __atomic_mutex_locked(_Tp __d) _NOEXCEPT : __base(__d) {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp fetch_add(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(const_cast<mutex&>(__lock_));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    const _Tp ret = na(); na() += __op; return ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp fetch_add(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(__lock_);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    const _Tp ret = na(); na() += __op; return ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp fetch_sub(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(const_cast<mutex&>(__lock_));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    const _Tp ret = na(); na() -= __op; return ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp fetch_sub(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(__lock_);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    const _Tp ret = na(); na() -= __op; return ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp fetch_and(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(const_cast<mutex&>(__lock_));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    const _Tp ret = na(); na() &= __op; return ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp fetch_and(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(__lock_);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    const _Tp ret = na(); na() &= __op; return ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp fetch_or(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(const_cast<mutex&>(__lock_));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    const _Tp ret = na(); na() |= __op; return ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp fetch_or(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(__lock_);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    const _Tp ret = na(); na() |= __op; return ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp fetch_xor(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(const_cast<mutex&>(__lock_));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    const _Tp ret = na(); na() ^= __op; return ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp fetch_xor(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        { const lock_type g(__lock_);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    const _Tp ret = na(); na() ^= __op; return ret;
</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;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator++(int) volatile _NOEXCEPT      {return fetch_add(_Tp(1));}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator++(int) _NOEXCEPT               {return fetch_add(_Tp(1));}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator--(int) volatile _NOEXCEPT      {return fetch_sub(_Tp(1));}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator--(int) _NOEXCEPT               {return fetch_sub(_Tp(1));}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator++() volatile _NOEXCEPT         {return fetch_add(_Tp(1)) + _Tp(1);}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator++() _NOEXCEPT                  {return fetch_add(_Tp(1)) + _Tp(1);}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator--() volatile _NOEXCEPT         {return fetch_sub(_Tp(1)) - _Tp(1);}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator--() _NOEXCEPT                  {return fetch_sub(_Tp(1)) - _Tp(1);}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator+=(_Tp __op) volatile _NOEXCEPT {return fetch_add(__op) + __op;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator+=(_Tp __op) _NOEXCEPT          {return fetch_add(__op) + __op;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator-=(_Tp __op) volatile _NOEXCEPT {return fetch_sub(__op) - __op;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator-=(_Tp __op) _NOEXCEPT          {return fetch_sub(__op) - __op;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator&=(_Tp __op) volatile _NOEXCEPT {return fetch_and(__op) & __op;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator&=(_Tp __op) _NOEXCEPT          {return fetch_and(__op) & __op;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator|=(_Tp __op) volatile _NOEXCEPT {return fetch_or(__op) | __op;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator|=(_Tp __op) _NOEXCEPT          {return fetch_or(__op) | __op;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator^=(_Tp __op) volatile _NOEXCEPT {return fetch_xor(__op) ^ __op;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator^=(_Tp __op) _NOEXCEPT          {return fetch_xor(__op) ^ __op;}
</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;'>++_LIBCPP_END_NAMESPACE_STD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif  // _LIBCPP_ATOMIC_LOCKED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git llvm_master/projects/libcxx/include/atomic macports_master/projects/libcxx/include/atomic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f55e28ff5..9ccf1ca75 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/projects/libcxx/include/atomic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/projects/libcxx/include/atomic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1885,4 +1885,50 @@ typedef atomic<uintmax_t> atomic_uintmax_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _LIBCPP_END_NAMESPACE_STD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if       defined(__ppc__) && !defined(__ppc64__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// specialize fallback implementation where 64b atomics are missing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <__atomic_locked>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++_LIBCPP_BEGIN_NAMESPACE_STD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++template <>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++struct atomic<long long> : public __atomic_mutex_locked<long long>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    typedef long long             _Tp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    typedef __atomic_mutex_locked<_Tp> __base;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    atomic() _NOEXCEPT _LIBCPP_DEFAULT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_CONSTEXPR atomic(_Tp __d) _NOEXCEPT : __base(__d) {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator=(_Tp __d) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {__base::store(__d); return __d;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator=(_Tp __d) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {__base::store(__d); return __d;}
</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;'>++template <>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++struct atomic<unsigned long long> :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  public __atomic_mutex_locked<unsigned long long>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    typedef unsigned long long            _Tp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    typedef __atomic_mutex_locked<_Tp> __base;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    atomic() _NOEXCEPT _LIBCPP_DEFAULT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_CONSTEXPR atomic(_Tp __d) _NOEXCEPT : __base(__d) {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator=(_Tp __d) volatile _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {__base::store(__d); return __d;}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _LIBCPP_INLINE_VISIBILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Tp operator=(_Tp __d) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {__base::store(__d); return __d;}
</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;'>++_LIBCPP_END_NAMESPACE_STD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif    // defined(__ppc__) && !defined(__ppc64__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif  // _LIBCPP_ATOMIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.13.2
</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-6.0/files/4001-https-llvm.org-bugs-show_bug.cgi-id-31433.patch b/lang/llvm-6.0/files/4001-https-llvm.org-bugs-show_bug.cgi-id-31433.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..861ba2c
</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-6.0/files/4001-https-llvm.org-bugs-show_bug.cgi-id-31433.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 fb7292fc9c591c958a6f3e4edbe84370a7f9de23 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 20 Dec 2016 01:08:20 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 4001/4002] https://llvm.org/bugs/show_bug.cgi?id=31433
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cmake/modules/AddLLDB.cmake | 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:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git llvm_master/tools/lldb/cmake/modules/AddLLDB.cmake macports_master/tools/lldb/cmake/modules/AddLLDB.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 4c6f1efd6..54799c02a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/tools/lldb/cmake/modules/AddLLDB.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/tools/lldb/cmake/modules/AddLLDB.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -134,6 +134,12 @@ function(add_lldb_executable name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 -DCMAKE_INSTALL_COMPONENT=${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
</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(ARG_GENERATE_INSTALL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      install(TARGETS ${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            COMPONENT ${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            RUNTIME DESTINATION ${install_dir})
</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;'>+   if(ARG_INCLUDE_IN_FRAMEWORK AND LLDB_BUILD_FRAMEWORK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.13.2
</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-6.0/files/4002-Fix-build-on-Mountain-Lion.patch b/lang/llvm-6.0/files/4002-Fix-build-on-Mountain-Lion.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..a45c91f
</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-6.0/files/4002-Fix-build-on-Mountain-Lion.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,41 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From dc05da9aad1ea26635fca93316e0f48c0966608c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 20 Dec 2016 13:55:43 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 4002/4002] Fix build on Mountain Lion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MachTask.mm:437:18: error: no member named 'external_page_count' in 'vm_statistics64'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          vminfo.external_page_count - vminfo.purgeable_count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          ~~~~~~ ^
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+1 error generated.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://llvm.org/bugs/show_bug.cgi?id=31438
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tools/debugserver/source/MacOSX/MachTask.mm | 3 ++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 2 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git llvm_master/tools/lldb/tools/debugserver/source/MacOSX/MachTask.mm macports_master/tools/lldb/tools/debugserver/source/MacOSX/MachTask.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bd7047ecd..eeda83d33 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/tools/lldb/tools/debugserver/source/MacOSX/MachTask.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/tools/lldb/tools/debugserver/source/MacOSX/MachTask.mm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -24,6 +24,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #import <sys/sysctl.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <Availability.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <pthread.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sched.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -429,7 +430,7 @@ profile_data_stream << "wired:" << vminfo.wire_count * pagesize << ';';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ profile_data_stream << "active:" << vminfo.active_count * pagesize << ';';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ profile_data_stream << "inactive:" << vminfo.inactive_count * pagesize << ';';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(HOST_VM_INFO64_COUNT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(HOST_VM_INFO64_COUNT) && (!defined(__APPLE__) || __MAC_OS_X_VERSION_MAX_ALLOWED >= 1090)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       // This mimicks Activity Monitor.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       uint64_t total_used_count =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           (physical_memory / pagesize) -
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.13.2
</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-6.0/files/9001-macports-libstdcxx.diff b/lang/llvm-6.0/files/9001-macports-libstdcxx.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..c85d383
</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-6.0/files/9001-macports-libstdcxx.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,117 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- orig/tools/clang/include/clang/Lex/HeaderSearchOptions.h       2015-11-17 23:54:13.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ new/tools/clang/include/clang/Lex/HeaderSearchOptions.h        2017-01-04 17:50:27.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -166,6 +166,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   /// Use libc++ instead of the default libstdc++.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   unsigned UseLibcxx : 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /// Use MacPorts libstdc++ instead of default system libstdc++.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  unsigned UseMacPortsLibstdcxx : 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   /// Whether header search information should be output as for -v.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   unsigned Verbose : 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- orig/tools/clang/lib/Frontend/CompilerInvocation.cpp   2016-07-13 15:32:15.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ new/tools/clang/lib/Frontend/CompilerInvocation.cpp    2017-01-04 17:52:18.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1539,8 +1539,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   Opts.UseBuiltinIncludes = !Args.hasArg(OPT_nobuiltininc);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   Opts.UseStandardSystemIncludes = !Args.hasArg(OPT_nostdsysteminc);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   Opts.UseStandardCXXIncludes = !Args.hasArg(OPT_nostdincxx);
</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;'>++  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;'>++    Opts.UseMacPortsLibstdcxx = (strcmp(A->getValue(), "macports-libstdc++") == 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   Opts.ResourceDir = Args.getLastArgValue(OPT_resource_dir);
</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;'>+--- orig/tools/clang/lib/Frontend/InitHeaderSearch.cpp     2016-05-16 10:22:25.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ new/tools/clang/lib/Frontend/InitHeaderSearch.cpp      2017-01-04 18:04:43.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -108,7 +108,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(LLVM_ON_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:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -362,6 +362,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case llvm::Triple::ppc:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case llvm::Triple::ppc64:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (HSOpts.UseMacPortsLibstdcxx) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        AddGnuCPlusPlusIncludePaths("@@MACPORTS_GCC_INCLUDE_DIR@@",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                    "@@MACPORTS_HOST_NAME@@", "@@MACPORTS_GCC_SUBDIRECTORY_ppc@@", "@@MACPORTS_GCC_SUBDIRECTORY_ppc64@@",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                    triple);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   "powerpc-apple-darwin10", "", "ppc64",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   triple);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -372,6 +377,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case llvm::Triple::x86:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case llvm::Triple::x86_64:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (HSOpts.UseMacPortsLibstdcxx) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        AddGnuCPlusPlusIncludePaths("@@MACPORTS_GCC_INCLUDE_DIR@@",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                    "@@MACPORTS_HOST_NAME@@", "@@MACPORTS_GCC_SUBDIRECTORY_i386@@", "@@MACPORTS_GCC_SUBDIRECTORY_x86_64@@", triple);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   "i686-apple-darwin10", "", "x86_64", triple);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.0.0",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- orig/tools/clang/include/clang/Driver/ToolChain.h      2016-06-16 03:36:09.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ new/tools/clang/include/clang/Driver/ToolChain.h       2017-01-04 18:08:42.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -75,7 +75,8 @@
</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;'>+--- orig/tools/clang/lib/Driver/ToolChains/Darwin.cpp      2016-11-23 14:25:50.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ new/tools/clang/lib/Driver/ToolChains/Darwin.cpp       2017-09-23 20:52:46.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1455,6 +1455,12 @@
</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 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;'>++    if (Type==ToolChain::CST_MacPortsLibstdcxx && getVFS().exists("@@MACPORTS_libstdc++@@")) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      CmdArgs.push_back("@@MACPORTS_libstdc++@@");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      return;
</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;'>+     // Unfortunately, -lstdc++ doesn't always exist in the standard search path;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // it was previously found in the gcc lib dir. However, for all the Darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // platforms we care about it was -lstdc++.6, so we search for that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- orig/tools/clang/lib/Driver/ToolChains/Hexagon.cpp.orig        2017-09-24 13:38:59.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ new/tools/clang/lib/Driver/ToolChains/Hexagon.cpp      2017-09-24 14:15:41.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -467,6 +467,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return ToolChain::CST_Libstdcxx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   StringRef Value = A->getValue();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (Value == "macports-libstdc++")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return ToolChain::CST_MacPortsLibstdcxx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (Value != "libstdc++")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     getDriver().Diag(diag::err_drv_invalid_stdlib_name) << A->getAsString(Args);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- orig/tools/clang/lib/Driver/ToolChain.cpp      2016-07-15 16:13:27.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ new/tools/clang/lib/Driver/ToolChain.cpp       2017-01-05 08:14:23.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -601,6 +601,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return 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;'>+     return 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;'>++    return 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;'>+     return GetDefaultCXXStdlibType();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -682,6 +684,7 @@
</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 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;color:#808080;'>diff --git a/lang/llvm-6.0/files/leopard-no-asan.patch b/lang/llvm-6.0/files/leopard-no-asan.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..0a41a52
</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-6.0/files/leopard-no-asan.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- 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:#e0ffe0;'>++++ 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:#e0ffe0;'>+@@ -228,9 +228,6 @@ if(APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       set(SANITIZER_MIN_OSX_VERSION 10.9)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if(SANITIZER_MIN_OSX_VERSION VERSION_LESS "10.7")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      message(FATAL_ERROR "macOS deployment target '${SANITIZER_MIN_OSX_VERSION}' is too old.")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if(SANITIZER_MIN_OSX_VERSION VERSION_GREATER "10.9")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       message(WARNING "macOS deployment target '${SANITIZER_MIN_OSX_VERSION}' is too new, setting to '10.9' instead.")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       set(SANITIZER_MIN_OSX_VERSION 10.9)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-6.0/files/leopard-no-blocks.patch b/lang/llvm-6.0/files/leopard-no-blocks.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..f496320
</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-6.0/files/leopard-no-blocks.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 2500edffc9f1f44983927351eb60d4fe1cee4bcd Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 7 Jan 2015 03:42:15 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Leopard: Default to -fno-blocks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib/Driver/ToolChains.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/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 876bb01..27aa2ee 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/tools/clang/lib/Driver/ToolChains.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/tools/clang/lib/Driver/ToolChains.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -257,7 +257,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.2.1
</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-6.0/files/llvm-bin b/lang/llvm-6.0/files/llvm-bin
</span>new file mode 100755
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..30a8269
</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-6.0/files/llvm-bin
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#!/bin/bash
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if [ -x /usr/bin/xcrun ] ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    exec /usr/bin/xcrun EXEC_PATH "${@}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    exec EXEC_PATH "${@}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fi
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-6.0/files/llvm-bin-compat b/lang/llvm-6.0/files/llvm-bin-compat
</span>new file mode 100755
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..b060c1a
</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-6.0/files/llvm-bin-compat
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,2 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#!/bin/sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+exec EXEC_PATH "${@}"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-6.0/files/mp-clang-6.0 b/lang/llvm-6.0/files/mp-clang-6.0
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..33a9d7c
</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-6.0/files/mp-clang-6.0
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,34 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/c-index-test-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/clang++-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/clang-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/clang-format-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/scan-build-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/scan-view-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/clang-apply-replacements-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/clang-check-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/clang-cl-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/clang-query-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/clang-rename-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/clang-tidy-mp-6.0
</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><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><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><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><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><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-6.0/files/mp-llvm-6.0 b/lang/llvm-6.0/files/mp-llvm-6.0
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..f8ac21f
</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-6.0/files/mp-llvm-6.0
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,60 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/bugpoint-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llc-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/lli-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-ar-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-as-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-bcanalyzer-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-config-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-cov-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-diff-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-dis-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-dwarfdump-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-extract-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-link-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-mc-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-mcmarkup-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-nm-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-objdump-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-ranlib-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-rtdyld-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-size-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-stress-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-symbolizer-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-tblgen-mp-6.0
</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;'>+bin/opt-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-tblgen-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-readobj-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-profdata-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-dsymutil-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-cxxdump-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-c-test-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-dwp-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-lib-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-lto-mp-6.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bin/llvm-split-mp-6.0
</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><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><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><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><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><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-6.0/files/openmp-locations.patch b/lang/llvm-6.0/files/openmp-locations.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..53419a2
</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-6.0/files/openmp-locations.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,39 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/lib/Driver/ToolChains/Clang.cpp b/lib/Driver/ToolChains/Clang.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 292cf72b56..d8c6327080 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/tools/clang/lib/Driver/ToolChains/Clang.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/tools/clang/lib/Driver/ToolChains/Clang.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3229,6 +3229,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/lib/Driver/ToolChains/CommonArgs.cpp b/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8a597b5b3a..9441bb8a56 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -444,15 +444,21 @@ 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 (TC.getDriver().getOpenMPRuntime(Args)) {
</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;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (GompNeedsRT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       CmdArgs.push_back("-lrt");
</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></pre><pre style='margin:0'>

</pre>