<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[144736] trunk/dports/lang</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/144736">144736</a></dd>
<dt>Author</dt> <dd>jeremyhu@macports.org</dd>
<dt>Date</dt> <dd>2016-01-16 13:29:04 -0800 (Sat, 16 Jan 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>llvm-3.9: New port</pre>

<h3>Added Paths</h3>
<ul>
<li>trunk/dports/lang/llvm-3.9/</li>
<li><a href="#trunkdportslangllvm39Portfile">trunk/dports/lang/llvm-3.9/Portfile</a></li>
<li>trunk/dports/lang/llvm-3.9/files/</li>
<li><a href="#trunkdportslangllvm39files0001SettheMachOCPUSubtypetoppc7400whentargetingpatch">trunk/dports/lang/llvm-3.9/files/0001-Set-the-Mach-O-CPU-Subtype-to-ppc7400-when-targeting.patch</a></li>
<li><a href="#trunkdportslangllvm39files0002DefineEXC_MASK_CRASHandMACH_EXCEPTION_CODESifthpatch">trunk/dports/lang/llvm-3.9/files/0002-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch</a></li>
<li><a href="#trunkdportslangllvm39files0003MacPortsOnlyUpdateinstalltargetsforclangsubpopatch">trunk/dports/lang/llvm-3.9/files/0003-MacPorts-Only-Update-install-targets-for-clang-subpo.patch</a></li>
<li><a href="#trunkdportslangllvm39files0004MacPortsOnlyUsefullpathforthedylibidinsteadpatch">trunk/dports/lang/llvm-3.9/files/0004-MacPorts-Only-Use-full-path-for-the-dylib-id-instead.patch</a></li>
<li><a href="#trunkdportslangllvm39files0005MacPortsOnlyDontembedthedeploymenttargetintpatch">trunk/dports/lang/llvm-3.9/files/0005-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch</a></li>
<li><a href="#trunkdportslangllvm39files0006MacPortsOnlySkipcheckingforpythoninconfigurepatch">trunk/dports/lang/llvm-3.9/files/0006-MacPorts-Only-Skip-checking-for-python-in-configure.patch</a></li>
<li><a href="#trunkdportslangllvm39files0007Removeoverrideofraiseabortand__assert_rtnpatch">trunk/dports/lang/llvm-3.9/files/0007-Remove-override-of-raise-abort-and-__assert_rtn.patch</a></li>
<li><a href="#trunkdportslangllvm39files1001MacPortsOnlyPrepareclangformatforreplacementwpatch">trunk/dports/lang/llvm-3.9/files/1001-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch</a></li>
<li><a href="#trunkdportslangllvm39files1002MacPortsOnlyFallbackonxcodebuildsdkwhenxcrunpatch">trunk/dports/lang/llvm-3.9/files/1002-MacPorts-Only-Fall-back-on-xcodebuild-sdk-when-xcrun.patch</a></li>
<li><a href="#trunkdportslangllvm39files1003MacPortsOnlyFixnameofscanviewexecutableinsidpatch">trunk/dports/lang/llvm-3.9/files/1003-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch</a></li>
<li><a href="#trunkdportslangllvm39files1004MacPortsOnlyRelocateclangresourcesusingllvmvepatch">trunk/dports/lang/llvm-3.9/files/1004-MacPorts-Only-Relocate-clang-resources-using-llvm-ve.patch</a></li>
<li><a href="#trunkdportslangllvm39files1005Defaulttoppc7400forOSX105patch">trunk/dports/lang/llvm-3.9/files/1005-Default-to-ppc7400-for-OSX-10.5.patch</a></li>
<li><a href="#trunkdportslangllvm39files1006OnlycallsetpriorityPRIO_DARWIN_THREAD0PRIO_DARWpatch">trunk/dports/lang/llvm-3.9/files/1006-Only-call-setpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch</a></li>
<li><a href="#trunkdportslangllvm39files1007DefaulttofragileObjCruntimewhentargetingdarwipatch">trunk/dports/lang/llvm-3.9/files/1007-Default-to-fragile-ObjC-runtime-when-targeting-darwi.patch</a></li>
<li><a href="#trunkdportslangllvm39files2001MacPortsOnlyCommentoutSLcctoolsworkaroundpatch">trunk/dports/lang/llvm-3.9/files/2001-MacPorts-Only-Comment-out-SL-cctools-workaround.patch</a></li>
<li><a href="#trunkdportslangllvm39files2002UpdateCheckArchestofallbackonIntelppcifldvpatch">trunk/dports/lang/llvm-3.9/files/2002-Update-CheckArches-to-fallback-on-Intel-ppc-if-ld-v-.patch</a></li>
<li><a href="#trunkdportslangllvm39files2003Fallbackonxcodebuildsdkwhenxcrunsdkisnotsupatch">trunk/dports/lang/llvm-3.9/files/2003-Fall-back-on-xcodebuild-sdk-when-xcrun-sdk-is-not-su.patch</a></li>
<li><a href="#trunkdportslangllvm39files2004Ondarwinbuildppcslicesofthecompilerruntimeipatch">trunk/dports/lang/llvm-3.9/files/2004-On-darwin-build-ppc-slices-of-the-compiler-runtime-i.patch</a></li>
<li><a href="#trunkdportslangllvm39files2005MacPortsOnlyDontbuildx86_64hsliceofcompilerpatch">trunk/dports/lang/llvm-3.9/files/2005-MacPorts-Only-Don-t-build-x86_64h-slice-of-compiler-.patch</a></li>
<li><a href="#trunkdportslangllvm39files2006MacPortsOnlyFixregressionintroducedwhenfixingpatch">trunk/dports/lang/llvm-3.9/files/2006-MacPorts-Only-Fix-regression-introduced-when-fixing-.patch</a></li>
<li><a href="#trunkdportslangllvm39files2007MacPortsOnlyDontcheckforthemacosxinternalSDpatch">trunk/dports/lang/llvm-3.9/files/2007-MacPorts-Only-Don-t-check-for-the-macosx.internal-SD.patch</a></li>
<li><a href="#trunkdportslangllvm39files3001builditbuildfixforLeopardpatch">trunk/dports/lang/llvm-3.9/files/3001-buildit-build-fix-for-Leopard.patch</a></li>
<li><a href="#trunkdportslangllvm39files3002builditSetcompatibilityversiontoRC_ProjectSourcpatch">trunk/dports/lang/llvm-3.9/files/3002-buildit-Set-compatibility-version-to-RC_ProjectSourc.patch</a></li>
<li><a href="#trunkdportslangllvm39files3003FixlocalanditeratorwhenbuildingwithLionandnpatch">trunk/dports/lang/llvm-3.9/files/3003-Fix-local-and-iterator-when-building-with-Lion-and-n.patch</a></li>
<li><a href="#trunkdportslangllvm39files3004Fixmissinglonglongmathprototypeswhenusingthepatch">trunk/dports/lang/llvm-3.9/files/3004-Fix-missing-long-long-math-prototypes-when-using-the.patch</a></li>
<li><a href="#trunkdportslangllvm39files3005implementatomicusingmutexlock_guardfor64bopspatch">trunk/dports/lang/llvm-3.9/files/3005-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch</a></li>
<li><a href="#trunkdportslangllvm39filescompiler_rttoolchainpatch">trunk/dports/lang/llvm-3.9/files/compiler_rt-toolchain.patch</a></li>
<li><a href="#trunkdportslangllvm39filesleopardnoasanpatch">trunk/dports/lang/llvm-3.9/files/leopard-no-asan.patch</a></li>
<li><a href="#trunkdportslangllvm39filesleopardnoblockspatch">trunk/dports/lang/llvm-3.9/files/leopard-no-blocks.patch</a></li>
<li><a href="#trunkdportslangllvm39filesllvmbin">trunk/dports/lang/llvm-3.9/files/llvm-bin</a></li>
<li><a href="#trunkdportslangllvm39filesllvmskipunittestspatch">trunk/dports/lang/llvm-3.9/files/llvm-skip-unittests.patch</a></li>
<li><a href="#trunkdportslangllvm39filesmpclang39">trunk/dports/lang/llvm-3.9/files/mp-clang-3.9</a></li>
<li><a href="#trunkdportslangllvm39filesmpllvm39">trunk/dports/lang/llvm-3.9/files/mp-llvm-3.9</a></li>
<li><a href="#trunkdportslangllvm39filesopenmplocationspatch">trunk/dports/lang/llvm-3.9/files/openmp-locations.patch</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportslangllvm39Portfile"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/Portfile (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/Portfile                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/Portfile        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,426 @@
</span><ins>+# $Id$
+
+# TODO:
+#  * Update llvm_select and clang_select (#49844)
+#  * Update clang subport to build against installed llvm
+
+PortSystem              1.0
+PortGroup select        1.0
+PortGroup compiler_blacklist_versions 1.0
+PortGroup active_variants 1.1
+PortGroup cmake         1.0
+
+set llvm_version        3.9
+set llvm_version_no_dot 39
+name                    llvm-${llvm_version}
+subport                 clang-${llvm_version} {}
+set suffix              mp-${llvm_version}
+set sub_prefix          ${prefix}/libexec/llvm-${llvm_version}
+dist_subdir             llvm
+categories              lang
+platforms               darwin
+license                 NCSA
+maintainers             jeremyhu larryv
+
+if {${subport} eq &quot;llvm-${llvm_version}&quot;} {
+    homepage            http://llvm.org/
+    description         llvm is a next generation compiler infrastructure
+    long_description    The LLVM Core libraries provide a modern source- and \
+                        target-independent optimizer, along with code \
+                        generation support for many popular CPUs (as well as \
+                        some less common ones!) These libraries are built \
+                        around a well specified code representation known as \
+                        the LLVM intermediate representation (&quot;LLVM IR&quot;).
+
+    depends_lib         port:libedit port:libffi port:ncurses port:zlib
+    depends_run         bin:perl:perl5 port:llvm_select
+
+    # 3.2.6's install_name_tool doesn't support load commands we might see with newer clang+ld64
+    # 4.3 is just a guess here and should be updated if there are additional reports with other Xcode versions
+    if {[vercmp $xcodeversion 4.3] &lt; 0 &amp;&amp; [string match &quot;*macports*&quot; ${configure.compiler}]} {
+        depends_build-append port:cctools
+    }
+} elseif {${subport} eq &quot;clang-${llvm_version}&quot;} {
+    homepage            http://clang.llvm.org/
+    description         C, C++, Objective C and Objective C++ compiler
+    long_description    Clang is an &quot;LLVM native&quot; C/C++/Objective-C compiler, \
+                        which aims to deliver amazingly fast compiles (e.g. \
+                        about 3x faster than GCC when compiling Objective-C \
+                        code in a debug configuration), extremely useful error \
+                        and warning messages and to provide a platform for \
+                        building great source level tools. The included Clang \
+                        Static Analyzer is a tool that automatically finds bugs in \
+                        your code, and is a great example of the sort of tool \
+                        that can be built using the Clang frontend as a \
+                        library to parse C/C++ code.
+
+    depends_lib         port:libxml2 port:llvm-${llvm_version} port:python27
+    depends_run         port:clang_select port:ld64
+    depends_extract     bin:svn:subversion
+    depends_build-append port:cctools
+    depends_skip_archcheck-append cctools ld64 subversion
+
+    # Clang doesn't actually use any of these, but the LLVM makefile
+    # system overlinks its binaries. Remove (or convert to build deps?)
+    # after #46040 is resolved.
+    depends_lib-append  port:libedit port:libffi port:ncurses port:zlib
+
+    default_variants    +analyzer
+}
+
+fetch.type              svn
+svn.revision            257997
+
+set compiler_rt_rev     ${svn.revision}
+set libcxx_rev          ${svn.revision}
+set clang-modernize_rev ${svn.revision}
+version                 ${llvm_version}-r${svn.revision}
+revision                1
+worksrcdir              trunk
+svn.url                 https://llvm.org/svn/llvm-project/llvm/trunk
+#worksrcdir              release_${llvm_version_no_dot}
+#svn.url                 https://llvm.org/svn/llvm-project/llvm/branches/release_${llvm_version_no_dot}
+default_variants-append +assertions
+default_variants-append +debug
+
+#version                 ${llvm_version}.0
+#epoch                   1
+#master_sites            http://llvm.org/releases/${version}
+#use_xz                  yes
+#extract.suffix          .tar.xz
+#distfiles               llvm-${version}.src${extract.suffix}
+#worksrcdir              llvm-${version}.src
+
+if {${distfiles} ne &quot;&quot;} {
+    if {${subport} eq &quot;llvm-${llvm_version}&quot;} {
+        if {[variant_isset polly]} {
+            distfiles-append     polly-${version}.src${extract.suffix}
+        }
+    } elseif {${subport} eq &quot;clang-${llvm_version}&quot;} {
+        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}
+    }
+}
+
+patch.pre_args  -p1
+patchfiles \
+        0001-Set-the-Mach-O-CPU-Subtype-to-ppc7400-when-targeting.patch \
+        0002-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch \
+        0003-MacPorts-Only-Update-install-targets-for-clang-subpo.patch \
+        0004-MacPorts-Only-Use-full-path-for-the-dylib-id-instead.patch \
+        0005-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch \
+        0006-MacPorts-Only-Skip-checking-for-python-in-configure.patch \
+        0007-Remove-override-of-raise-abort-and-__assert_rtn.patch \
+        llvm-skip-unittests.patch
+
+if {${subport} eq &quot;clang-${llvm_version}&quot;} {
+    patchfiles-append \
+        1001-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch \
+        1002-MacPorts-Only-Fall-back-on-xcodebuild-sdk-when-xcrun.patch \
+        1003-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch \
+        1004-MacPorts-Only-Relocate-clang-resources-using-llvm-ve.patch \
+        1005-Default-to-ppc7400-for-OSX-10.5.patch \
+        1006-Only-call-setpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch \
+        1007-Default-to-fragile-ObjC-runtime-when-targeting-darwi.patch \
+        2001-MacPorts-Only-Comment-out-SL-cctools-workaround.patch \
+        2002-Update-CheckArches-to-fallback-on-Intel-ppc-if-ld-v-.patch \
+        2003-Fall-back-on-xcodebuild-sdk-when-xcrun-sdk-is-not-su.patch \
+        2004-On-darwin-build-ppc-slices-of-the-compiler-runtime-i.patch \
+        2005-MacPorts-Only-Don-t-build-x86_64h-slice-of-compiler-.patch \
+        2006-MacPorts-Only-Fix-regression-introduced-when-fixing-.patch \
+        2007-MacPorts-Only-Don-t-check-for-the-macosx.internal-SD.patch \
+        3001-buildit-build-fix-for-Leopard.patch \
+        3002-buildit-Set-compatibility-version-to-RC_ProjectSourc.patch \
+        3003-Fix-local-and-iterator-when-building-with-Lion-and-n.patch \
+        3004-Fix-missing-long-long-math-prototypes-when-using-the.patch \
+        3005-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch \
+        compiler_rt-toolchain.patch
+
+    # I'm not sure if we need to delete this.  It seems to build fine with it
+    # present, but we used to explicitly only use this patch for the llvm subport.
+    patchfiles-delete \
+        0005-MacPorts-Only-Skip-checking-for-python-in-configure.patch
+
+    # https://llvm.org/bugs/show_bug.cgi?id=25681
+    if {${worksrcdir} eq &quot;trunk&quot; || ${worksrcdir} eq &quot;release_${llvm_version_no_dot}&quot;} {
+        # Cannot set cppflags due to https://cmake.org/Bug/view.php?id=12928
+        # Cannot set cxxflags due to https://llvm.org/bugs/show_bug.cgi?id=25904
+        #configure.cxxflags-append -DSVN_REVISION='&quot;${svn.revision}&quot;'
+
+        post-patch {
+            reinplace &quot;1 i \\                             
+                #define SVN_REVISION \&quot;${svn.revision}\&quot;
+            &quot; ${worksrcpath}/tools/clang/lib/Basic/Version.cpp
+        }
+    }
+}
+
+configure.post_args         ../${worksrcdir}
+default configure.dir       {${workpath}/build}
+default build.dir           {${workpath}/build}
+
+# https://llvm.org/bugs/show_bug.cgi?id=25664
+configure.ldflags-append    -Wl,-rpath,@loader_path
+
+configure.args-append \
+    -DLLVM_BUILD_LLVM_DYLIB=ON \
+    -DCMAKE_INSTALL_PREFIX=&quot;${sub_prefix}&quot; \
+    -DLLVM_ENABLE_ASSERTIONS=OFF \
+    -DLLVM_ENABLE_RTTI=ON \
+    -DLLVM_INCLUDE_TESTS=OFF \
+    -DLLVM_INCLUDE_EXAMPLES=OFF \
+    -DLLVM_ENABLE_FFI=ON \
+    -DLLVM_BINDINGS_LIST=none \
+    -DFFI_INCLUDE_DIR=${prefix}/include \
+    -DFFI_LIBRARY_DIR=${prefix}/lib
+
+if {${subport} eq &quot;llvm-${llvm_version}&quot;} {
+    select.group        llvm
+    select.file         ${filespath}/mp-${subport}
+} elseif {${subport} eq &quot;clang-${llvm_version}&quot;} {
+    select.group        clang
+    select.file         ${filespath}/mp-${subport}
+
+    configure.args-append \
+        -DCLANG_INCLUDE_TESTS=OFF \
+        -DCLANG_ENABLE_STATIC_ANALYZER=OFF \
+        -DLLVM_BUILD_RUNTIME=ON \
+        -DLIBCXX_INSTALL_LIBRARY=OFF
+}
+
+# llvm-3.5 and later requires a C++11 runtime
+# XCode 4.3's clang (318.x) fails per https://trac.macports.org/ticket/44161
+# XCode 4.5's clang (421.11.66) fails due to http://llvm.org/bugs/show_bug.cgi?id=20184
+# Xcode 4.6.3's clang (425.0.28) fails due to http://trac.macports.org/ticket/46897
+# Xcode 5.1.0's clang (503.0.35) fails due to https://llvm.org/bugs/show_bug.cgi?id=25673
+# Xcode 6.2's clang (600.0.57) fails due to https://llvm.org/bugs/show_bug.cgi?id=25753
+# clang older than 3.5 fail due to https://llvm.org/bugs/show_bug.cgi?id=25753
+compiler.blacklist *gcc* {clang &lt; 602} macports-clang-3.3 macports-clang-3.4
+
+# Remove this when loosening the blacklist above or when a newer base is released
+compiler.fallback-append macports-clang-3.7 macports-clang-3.6 macports-clang-3.5
+
+if {${subport} eq &quot;clang-${llvm_version}&quot;} {
+    # Don't self-host.  We may have issues if we have a slightly newer llvm version that
+    # is not binary compatible with the older clang version we're trying to use.
+
+    compiler.blacklist-append macports-clang-${llvm_version}
+}
+
+# blacklist current and future versions if they're not available in order to
+# help break potential dependency cycles.
+foreach ver {3.8} {
+    if {![file exists ${prefix}/bin/clang-mp-${ver}]} {
+        compiler.blacklist-append macports-clang-${ver}
+    }
+}
+
+platform darwin {
+    # Note that we are forcing this choice.  This means that anything linking
+    # against llvm-3.5 needs to also be using libc++.  This is possibly
+    # problematic, but luckily there is just a limited set of such dependents.
+
+    configure.cxx_stdlib libc++
+    depends_lib-append port:libcxx
+    supported_archs i386 x86_64
+
+    pre-fetch {
+        if {![file exists /usr/lib/libc++.dylib]} {
+            ui_error &quot;$name requires a C++11 runtime, which your configuration does not allow&quot;
+            error &quot;unsupported configuration&quot;
+        }
+    }
+}
+
+variant universal {
+    post-extract {
+        # workaround a bug in Apple's shipped gcc driver-driver, patched in
+        # ours with driverdriver-num_infiles.patch
+        if {${configure.compiler} eq &quot;gcc-4.0&quot; ||
+            ${configure.compiler} eq &quot;gcc-4.2&quot; ||
+            ${configure.compiler} eq &quot;llvm-gcc-4.2&quot;} {
+            system &quot;echo \&quot;static int ___ignoreme;\&quot; &gt; ${worksrcpath}/tools/llvm-shlib/ignore.c&quot;
+        }
+    }
+}
+
+variant assertions description &quot;Enable assertions for error detection (has performance impacts, especially on JIT)&quot; {
+    configure.args-delete -DLLVM_ENABLE_ASSERTIONS=OFF
+    configure.args-append -DLLVM_ENABLE_ASSERTIONS=ON
+}
+
+platform darwin {
+    if {[string match &quot;*ppc*&quot; [get_canonical_archs]]} {
+        # http://trac.macports.org/ticket/33987
+        configure.optflags    -Os
+    }
+
+    if {${subport} eq &quot;clang-${llvm_version}&quot; &amp;&amp; [vercmp $xcodeversion 5.0] &lt; 0} {
+        # https://llvm.org/bugs/show_bug.cgi?id=13671
+        patchfiles-append leopard-no-asan.patch
+        configure.args-append -DCOMPILER_RT_HAS_SANITIZER_COMMON=NO
+    }
+
+    if {${subport} eq &quot;clang-${llvm_version}&quot; &amp;&amp; ${os.major} &lt;= 9} {
+        patchfiles-append leopard-no-blocks.patch
+    }
+
+    if {${os.major} &lt; 11} {
+        # Proxy for eliminating the dependency on native TLS
+        # http://trac.macports.org/ticket/46887
+        configure.args-append -DLLVM_ENABLE_BACKTRACES=OFF
+
+        # https://llvm.org/bugs/show_bug.cgi?id=25680
+        configure.cxxflags-append -U__STRICT_ANSI__
+    }
+
+    # https://llvm.org/bugs/show_bug.cgi?id=25674
+    configure.cxxflags-append -std=c++11
+}
+
+post-extract {
+    # Get HTTP proxy arguments if required, assuming we can use the same proxy for all repositories
+    set proxy_args [portfetch::svn_proxy_args http://llvm.org/svn/llvm-project/cfe/trunk]
+    if {${subport} eq &quot;llvm-${llvm_version}&quot;} {
+        if {[variant_isset polly]} {
+            if {${worksrcdir} eq &quot;trunk&quot;} {
+                system -W ${worksrcpath}/tools &quot;svn ${proxy_args} co -r ${svn.revision} http://llvm.org/svn/llvm-project/polly/trunk polly&quot;
+            } elseif {${worksrcdir} eq &quot;release_${llvm_version_no_dot}&quot; } {
+                system -W ${worksrcpath}/tools &quot;svn ${proxy_args} co -r ${svn.revision} http://llvm.org/svn/llvm-project/polly/branches/release_${llvm_version_no_dot} polly&quot;
+            } else {
+                file rename ${workpath}/polly-${version}.src ${worksrcpath}/tools/polly
+            }
+        }
+    } elseif {${subport} eq &quot;clang-${llvm_version}&quot;} {
+        if {${worksrcdir} eq &quot;trunk&quot;} {
+            system -W ${worksrcpath}/tools &quot;svn ${proxy_args} co -r ${svn.revision} http://llvm.org/svn/llvm-project/cfe/trunk clang&quot;
+            system -W ${worksrcpath}/projects &quot;svn ${proxy_args} co -r ${compiler_rt_rev} http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt&quot;
+            system -W ${worksrcpath}/projects &quot;svn ${proxy_args} co -r ${libcxx_rev} http://llvm.org/svn/llvm-project/libcxx/trunk libcxx&quot;
+            system -W ${worksrcpath}/tools/clang/tools &quot;svn ${proxy_args} co -r ${clang-modernize_rev} http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra&quot;
+        } elseif {${worksrcdir} eq &quot;release_${llvm_version_no_dot}&quot; } {
+            system -W ${worksrcpath}/tools &quot;svn ${proxy_args} co -r ${svn.revision} http://llvm.org/svn/llvm-project/cfe/branches/release_${llvm_version_no_dot} clang&quot;
+            system -W ${worksrcpath}/projects &quot;svn ${proxy_args} co -r ${compiler_rt_rev} http://llvm.org/svn/llvm-project/compiler-rt/branches/release_${llvm_version_no_dot} compiler-rt&quot;
+            system -W ${worksrcpath}/projects &quot;svn ${proxy_args} co -r ${libcxx_rev} http://llvm.org/svn/llvm-project/libcxx/branches/release_${llvm_version_no_dot} libcxx&quot;
+            system -W ${worksrcpath}/tools/clang/tools &quot;svn ${proxy_args} co -r ${clang-modernize_rev} http://llvm.org/svn/llvm-project/clang-tools-extra/branches/release_${llvm_version_no_dot} extra&quot;
+        } else {
+            file rename ${workpath}/cfe-${version}.src ${worksrcpath}/tools/clang
+            file rename ${workpath}/compiler-rt-${version}.src ${worksrcpath}/projects/compiler-rt
+            file rename ${workpath}/libcxx-${version}.src ${worksrcpath}/projects/libcxx
+            file rename ${workpath}/clang-tools-extra-${version}.src ${worksrcpath}/tools/clang/tools/extra
+        }
+    }
+}
+
+if {${subport} eq &quot;clang-${llvm_version}&quot;} {
+    destroot {
+        system &quot;cd ${destroot.dir}/tools/clang &amp;&amp; ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}&quot;
+        system &quot;cd ${destroot.dir}/projects/compiler-rt &amp;&amp; ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}&quot;
+        system &quot;cd ${destroot.dir}/projects/libcxx &amp;&amp; ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}&quot;
+
+        delete ${destroot}${sub_prefix}/bin/clang
+        file rename ${destroot}${sub_prefix}/bin/clang-${llvm_version} ${destroot}${sub_prefix}/bin/clang
+    }
+}
+
+post-destroot {
+    foreach bin [glob ${destroot}${sub_prefix}/bin/*] {
+        set bin_filename [string map &quot;${sub_prefix} ${prefix}&quot; ${bin}]-${suffix}
+        set exec_path [string map &quot;${destroot}${sub_prefix} ${sub_prefix}&quot; ${bin}]
+
+        xinstall -m 755 &quot;${filespath}/llvm-bin&quot; &quot;${bin_filename}&quot;
+        reinplace &quot;s:EXEC_PATH:${exec_path}:&quot; &quot;${bin_filename}&quot;
+    }
+
+    if {${subport} eq &quot;llvm-${llvm_version}&quot;} {
+        # r156389 (a5d2435409858728970202226d0bbbee508fe408) temporarilary removed llvm man pages
+        #foreach man [glob ${destroot}${sub_prefix}/share/man/man1/*.1] {
+        #    set basename [string map &quot;${destroot}${sub_prefix}/share/man/man1/ {}&quot; ${man}]
+        #    file rename ${man} ${destroot}${prefix}/share/man/man1/[string map &quot;.1 -${suffix}.1&quot; ${basename}]
+        #}
+
+        # https://llvm.org/bugs/show_bug.cgi?id=19465
+        if {[variant_isset polly]} {
+            ln -s LLVMPolly.so ${destroot}${sub_prefix}/lib/LLVMPolly.dylib
+        }
+    } elseif {${subport} eq &quot;clang-${llvm_version}&quot;} {
+        system &quot;ditto ${worksrcpath}/projects/libcxx/include ${destroot}${sub_prefix}/lib/c++/v1&quot;
+
+        # http://trac.macports.org/ticket/33207
+        ln -s ${prefix}/libexec/ld64/ld ${destroot}${sub_prefix}/bin/ld
+    }
+}
+
+if {${subport} eq &quot;llvm-${llvm_version}&quot;} {
+    variant polly description {Provide the polly polyhedral optimizer} {}
+
+    # Unless upstream reverts to their old OCaml detection mechanism,
+    # this variant will be broken until #46161 is resolved.
+    variant ocaml description {Enable generation of OCaml binding} {
+        depends_lib-append   port:ocaml
+
+        configure.args-delete -DLLVM_BINDINGS_LIST=none
+        configure.args-append -DLLVM_BINDINGS_LIST=ocaml
+
+        destroot.args-append  OVERRIDE_libdir=${sub_prefix}/lib
+    }
+} elseif {${subport} eq &quot;clang-${llvm_version}&quot;} {
+    if {[variant_isset assertions]} {
+        # Need to match llvm +-assertions
+        require_active_variants port:llvm-${llvm_version} assertions
+    } else {
+        # Need to match llvm +-assertions
+        require_active_variants port:llvm-${llvm_version} {} assertions
+    }
+
+    variant analyzer description {Install clang static analyzer} {
+        configure.args-delete \
+            -DCLANG_ENABLE_STATIC_ANALYZER=OFF
+        configure.args-append \
+            -DCLANG_ENABLE_STATIC_ANALYZER=ON
+
+        depends_run-append port:perl5
+
+        post-patch {
+            reinplace &quot;s|/usr/bin/env perl|${prefix}/bin/perl5|g&quot; \
+                ${worksrcpath}/tools/clang/tools/scan-build/libexec/ccc-analyzer \
+                ${worksrcpath}/tools/clang/tools/scan-build/libexec/c++-analyzer \
+                ${worksrcpath}/tools/clang/tools/scan-build/bin/scan-build
+            reinplace &quot;s|/usr/bin/env python|${prefix}/bin/python2.7|g&quot; \
+                ${worksrcpath}/tools/clang/tools/scan-build/bin/set-xcode-analyzer \
+                ${worksrcpath}/tools/clang/tools/scan-view/bin/scan-view
+        }
+    }
+
+    variant openmp description {Use MacPorts' provided libomp with -fopenmp} {
+        configure.args-append   -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
+
+        depends_lib-append      port:libomp
+        patchfiles-append       openmp-locations.patch
+
+        post-patch {
+            reinplace &quot;s|@@PREFIX@@|${prefix}|&quot; \
+                ${worksrcpath}/tools/clang/lib/Driver/Tools.cpp
+        }
+    }
+
+    post-patch {
+        reinplace &quot;s|@CLANG_FORMAT_PATH@|${prefix}/bin/clang-format-${suffix}|g&quot; \
+            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-bbedit.applescript \
+            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-diff.py            \
+            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-sublime.py         \
+            ${worksrcpath}/tools/clang/tools/clang-format/clang-format.el                 \
+            ${worksrcpath}/tools/clang/tools/clang-format/clang-format.py
+    }
+
+    post-destroot {
+        file mkdir ${destroot}${sub_prefix}/libexec
+        file copy ${worksrcpath}/tools/clang/tools/clang-format ${destroot}${sub_prefix}/libexec/clang-format
+
+        file delete -force ${destroot}${sub_prefix}/libexec/clang-format/.svn
+        file delete -force ${destroot}${sub_prefix}/libexec/clang-format/Makefile
+        file delete -force ${destroot}${sub_prefix}/libexec/clang-format/Release+Debug+Asserts
+        file delete -force ${destroot}${sub_prefix}/libexec/clang-format/CMakeLists.txt
+        file delete -force ${destroot}${sub_prefix}/libexec/clang-format/ClangFormat.cpp
+    }
+}
+
+livecheck.type          none
</ins><span class="cx">Property changes on: trunk/dports/lang/llvm-3.9/Portfile
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkdportslangllvm39files0001SettheMachOCPUSubtypetoppc7400whentargetingpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/0001-Set-the-Mach-O-CPU-Subtype-to-ppc7400-when-targeting.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/0001-Set-the-Mach-O-CPU-Subtype-to-ppc7400-when-targeting.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/0001-Set-the-Mach-O-CPU-Subtype-to-ppc7400-when-targeting.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,55 @@
</span><ins>+From 6bba00c71e59ac9cd2db1e630fe4a94b7451a220 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sat, 17 Jan 2015 09:03:43 -0800
+Subject: [PATCH 1/7] Set the Mach-O CPU Subtype to ppc7400 when targeting
+ Leopard
+
+http://llvm.org/bugs/show_bug.cgi?id=18463
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp | 13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+diff --git llvm_release_38/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp macports_release_38/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
+index b6dd595..11a7953 100644
+--- llvm_release_38/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
++++ macports_release_38/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
+@@ -201,16 +201,23 @@ public:
+ // FIXME: This should be in a separate file.
+ namespace {
+   class DarwinPPCAsmBackend : public PPCAsmBackend {
++    Triple TheTriple;
+   public:
+-    DarwinPPCAsmBackend(const Target &amp;T) : PPCAsmBackend(T, false) { }
++    DarwinPPCAsmBackend(const Target &amp;T, const Triple &amp;TT) : PPCAsmBackend(T, false), TheTriple(TT) { }

+     MCObjectWriter *createObjectWriter(raw_pwrite_stream &amp;OS) const override {
+       bool is64 = getPointerSize() == 8;
++      MachO::CPUSubTypePowerPC CS = MachO::CPU_SUBTYPE_POWERPC_ALL;
++
++      if (TheTriple.isOSDarwin() &amp;&amp; !TheTriple.isMacOSXVersionLT(10,5)) {
++          CS = MachO::CPU_SUBTYPE_POWERPC_7400;
++      }
++
+       return createPPCMachObjectWriter(
+           OS,
+           /*Is64Bit=*/is64,
+           (is64 ? MachO::CPU_TYPE_POWERPC64 : MachO::CPU_TYPE_POWERPC),
+-          MachO::CPU_SUBTYPE_POWERPC_ALL);
++          CS);
+     }
+   };

+@@ -232,7 +239,7 @@ MCAsmBackend *llvm::createPPCAsmBackend(const Target &amp;T,
+                                         const MCRegisterInfo &amp;MRI,
+                                         const Triple &amp;TT, StringRef CPU) {
+   if (TT.isOSDarwin())
+-    return new DarwinPPCAsmBackend(T);
++    return new DarwinPPCAsmBackend(T, TT);

+   uint8_t OSABI = MCELFObjectTargetWriter::getOSABI(TT.getOS());
+   bool IsLittleEndian = TT.getArch() == Triple::ppc64le;
+-- 
+2.7.0
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files0002DefineEXC_MASK_CRASHandMACH_EXCEPTION_CODESifthpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/0002-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/0002-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/0002-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+From 1c7867cfc6dd0ebf1450001d634a7e7e0a313e6a Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sun, 18 Jan 2015 11:18:13 -0800
+Subject: [PATCH 2/7] Define EXC_MASK_CRASH and MACH_EXCEPTION_CODES if they're
+ not defined in the SDK
+
+The 10.4 SDK does not define these macros
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ lib/Support/Unix/Signals.inc | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git llvm_release_38/lib/Support/Unix/Signals.inc macports_release_38/lib/Support/Unix/Signals.inc
+index 061cdb3..4d687b3 100644
+--- llvm_release_38/lib/Support/Unix/Signals.inc
++++ macports_release_38/lib/Support/Unix/Signals.inc
+@@ -387,6 +387,15 @@ void llvm::sys::PrintStackTraceOnErrorSignal(bool DisableCrashReporting) {
+   AddSignalHandler(PrintStackTraceSignalHandler, nullptr);

+ #if defined(__APPLE__) &amp;&amp; defined(ENABLE_CRASH_OVERRIDES)
++
++/* These aren't defined in the 10.4 SDK, so provide them here */
++#ifndef EXC_MASK_CRASH
++#define EXC_MASK_CRASH 0x400
++#endif
++#ifndef MACH_EXCEPTION_CODES
++#define MACH_EXCEPTION_CODES 0x80000000
++#endif
++
+   // Environment variable to disable any kind of crash dialog.
+   if (DisableCrashReporting || getenv(&quot;LLVM_DISABLE_CRASH_REPORT&quot;)) {
+     mach_port_t self = mach_task_self();
+-- 
+2.7.0
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files0003MacPortsOnlyUpdateinstalltargetsforclangsubpopatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/0003-MacPorts-Only-Update-install-targets-for-clang-subpo.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/0003-MacPorts-Only-Update-install-targets-for-clang-subpo.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/0003-MacPorts-Only-Update-install-targets-for-clang-subpo.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+From 6719d80f133381ed543e73ef853ab326e0445657 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sat, 17 Jan 2015 16:33:09 -0800
+Subject: [PATCH 3/7] MacPorts Only: Update install targets for clang subport
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ Makefile | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git llvm_release_38/Makefile macports_release_38/Makefile
+index 2b9468a..19fbfdc 100644
+--- llvm_release_38/Makefile
++++ macports_release_38/Makefile
+@@ -70,9 +70,11 @@ ifeq ($(MAKECMDGOALS),install-clang)
+   DIRS := tools/clang/tools/driver tools/clang/lib/Headers \
+           tools/clang/tools/libclang \
+           tools/clang/tools/c-index-test \
+-          tools/clang/include/clang-c \
+           tools/clang/runtime tools/clang/docs \
+-          tools/lto
++          tools/clang/include tools/clang/lib \
++          tools/clang/tools/clang-format \
++          tools/clang/tools/extra/clang-modernize \
++          tools/clang/tools/extra/clang-apply-replacements
+   OPTIONAL_DIRS :=
+   NO_INSTALL = 1
+ endif
+-- 
+2.7.0
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files0004MacPortsOnlyUsefullpathforthedylibidinsteadpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/0004-MacPorts-Only-Use-full-path-for-the-dylib-id-instead.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/0004-MacPorts-Only-Use-full-path-for-the-dylib-id-instead.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/0004-MacPorts-Only-Use-full-path-for-the-dylib-id-instead.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+From 23339e9b32d7456ec6a964f9cda01dac78f1128d Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sat, 17 Jan 2015 16:34:41 -0800
+Subject: [PATCH 4/7] MacPorts Only: Use full path for the dylib id instead of
+ @rpath
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ Makefile.rules | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git llvm_release_38/Makefile.rules macports_release_38/Makefile.rules
+index a67aef7..def94c0 100644
+--- llvm_release_38/Makefile.rules
++++ macports_release_38/Makefile.rules
+@@ -600,7 +600,12 @@ ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
+ ifneq ($(HOST_OS),Darwin)
+   LD.Flags += $(RPATH) -Wl,'$$ORIGIN'
+ else
+-  LD.Flags += -Wl,-install_name  -Wl,&quot;@rpath/lib$(LIBRARYNAME)$(SHLIBEXT)&quot;
++  LD.Flags += -Wl,-install_name
++  ifdef LOADABLE_MODULE
++    LD.Flags += -Wl,&quot;$(PROJ_libdir)/$(LIBRARYNAME)$(SHLIBEXT)&quot;
++  else
++    LD.Flags += -Wl,&quot;$(PROJ_libdir)/$(SharedPrefix)$(LIBRARYNAME)$(SHLIBEXT)&quot;
++  endif
+ endif
+ endif
+ endif
+-- 
+2.7.0
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files0005MacPortsOnlyDontembedthedeploymenttargetintpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/0005-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/0005-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/0005-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+From 25522bcea0e4f092f32ed4ab05d34d37618623a8 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sat, 17 Jan 2015 16:41:30 -0800
+Subject: [PATCH 5/7] MacPorts Only: Don't embed the deployment target in the
+ asm when using -fno-integrated-as
+
+http://llvm.org/bugs/show_bug.cgi?id=21636
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git llvm_release_38/lib/CodeGen/AsmPrinter/AsmPrinter.cpp macports_release_38/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+index 5f67d3d..8824bd3 100644
+--- llvm_release_38/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
++++ macports_release_38/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+@@ -193,7 +193,7 @@ bool AsmPrinter::doInitialization(Module &amp;M) {
+   // anyway.
+   Triple TT(getTargetTriple());
+   // If there is a version specified, Major will be non-zero.
+-  if (TT.isOSDarwin() &amp;&amp; TT.getOSMajorVersion() != 0) {
++  if (TT.isOSDarwin() &amp;&amp; TT.getOSMajorVersion() != 0 &amp;&amp; MAI-&gt;useIntegratedAssembler()) {
+     unsigned Major, Minor, Update;
+     MCVersionMinType VersionType;
+     if (TT.isWatchOS()) {
+-- 
+2.7.0
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files0006MacPortsOnlySkipcheckingforpythoninconfigurepatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/0006-MacPorts-Only-Skip-checking-for-python-in-configure.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/0006-MacPorts-Only-Skip-checking-for-python-in-configure.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/0006-MacPorts-Only-Skip-checking-for-python-in-configure.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,111 @@
</span><ins>+From bda46b8c958c6ad05fdfdb8baed181ac3d4a138f Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sat, 17 Jan 2015 16:43:00 -0800
+Subject: [PATCH 6/7] MacPorts Only: Skip checking for python in configure
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ configure | 87 ---------------------------------------------------------------
+ 1 file changed, 87 deletions(-)
+
+diff --git llvm_release_38/configure macports_release_38/configure
+index c94fb13..0d01ba1 100755
+--- llvm_release_38/configure
++++ macports_release_38/configure
+@@ -8483,93 +8483,6 @@ CXXFLAGS=&quot;$llvm_cv_old_cxxflags&quot;
+ echo &quot;${ECHO_T}$NO_VARIADIC_MACROS $MISSING_FIELD_INITIALIZERS $COVERED_SWITCH_DEFAULT $NO_UNINITIALIZED $NO_MAYBE_UNINITIALIZED $NO_COMMENT&quot; &gt;&amp;6; }


+-# Check whether --with-python was given.
+-if test &quot;${with_python+set}&quot; = set; then
+-  withval=$with_python; PYTHON=&quot;$withval&quot;
+-fi
+-
+-
+-if test -n &quot;$PYTHON&quot; &amp;&amp; test -x &quot;$PYTHON&quot; ; then
+-  { echo &quot;$as_me:$LINENO: checking for python&quot; &gt;&amp;5
+-echo $ECHO_N &quot;checking for python... $ECHO_C&quot; &gt;&amp;6; }
+-  { echo &quot;$as_me:$LINENO: result: user defined: $with_python&quot; &gt;&amp;5
+-echo &quot;${ECHO_T}user defined: $with_python&quot; &gt;&amp;6; }
+-else
+-  if test -n &quot;$PYTHON&quot; ; then
+-    { echo &quot;$as_me:$LINENO: WARNING: specified python ($PYTHON) is not usable, searching path&quot; &gt;&amp;5
+-echo &quot;$as_me: WARNING: specified python ($PYTHON) is not usable, searching path&quot; &gt;&amp;2;}
+-  fi
+-
+-  # Extract the first word of &quot;python python2 python27&quot;, so it can be a program name with args.
+-set dummy python python2 python27; ac_word=$2
+-{ echo &quot;$as_me:$LINENO: checking for $ac_word&quot; &gt;&amp;5
+-echo $ECHO_N &quot;checking for $ac_word... $ECHO_C&quot; &gt;&amp;6; }
+-if test &quot;${ac_cv_path_PYTHON+set}&quot; = set; then
+-  echo $ECHO_N &quot;(cached) $ECHO_C&quot; &gt;&amp;6
+-else
+-  case $PYTHON in
+-  [\\/]* | ?:[\\/]*)
+-  ac_cv_path_PYTHON=&quot;$PYTHON&quot; # Let the user override the test with a path.
+-  ;;
+-  *)
+-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+-  IFS=$as_save_IFS
+-  test -z &quot;$as_dir&quot; &amp;&amp; as_dir=.
+-  for ac_exec_ext in '' $ac_executable_extensions; do
+-  if { test -f &quot;$as_dir/$ac_word$ac_exec_ext&quot; &amp;&amp; $as_executable_p &quot;$as_dir/$ac_word$ac_exec_ext&quot;; }; then
+-    ac_cv_path_PYTHON=&quot;$as_dir/$ac_word$ac_exec_ext&quot;
+-    echo &quot;$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext&quot; &gt;&amp;5
+-    break 2
+-  fi
+-done
+-done
+-IFS=$as_save_IFS
+-
+-  test -z &quot;$ac_cv_path_PYTHON&quot; &amp;&amp; ac_cv_path_PYTHON=&quot;{ echo &quot;$as_me:$LINENO: result: not found&quot; &gt;&amp;5
+-echo &quot;${ECHO_T}not found&quot; &gt;&amp;6; }
+-                { { echo &quot;$as_me:$LINENO: error: could not find python 2.7 or higher&quot; &gt;&amp;5
+-echo &quot;$as_me: error: could not find python 2.7 or higher&quot; &gt;&amp;2;}
+-   { (exit 1); exit 1; }; }&quot;
+-  ;;
+-esac
+-fi
+-PYTHON=$ac_cv_path_PYTHON
+-if test -n &quot;$PYTHON&quot;; then
+-  { echo &quot;$as_me:$LINENO: result: $PYTHON&quot; &gt;&amp;5
+-echo &quot;${ECHO_T}$PYTHON&quot; &gt;&amp;6; }
+-else
+-  { echo &quot;$as_me:$LINENO: result: no&quot; &gt;&amp;5
+-echo &quot;${ECHO_T}no&quot; &gt;&amp;6; }
+-fi
+-
+-
+-fi
+-
+-{ echo &quot;$as_me:$LINENO: checking for python &gt;= 2.7&quot; &gt;&amp;5
+-echo $ECHO_N &quot;checking for python &gt;= 2.7... $ECHO_C&quot; &gt;&amp;6; }
+-ac_python_version=`$PYTHON -V 2&gt;&amp;1 | cut -d' ' -f2`
+-ac_python_version_major=`echo $ac_python_version | cut -d'.' -f1`
+-ac_python_version_minor=`echo $ac_python_version | cut -d'.' -f2`
+-ac_python_version_patch=`echo $ac_python_version | cut -d'.' -f3`
+-if test &quot;$ac_python_version_major&quot; -gt &quot;2&quot; || \
+-   (test &quot;$ac_python_version_major&quot; -eq &quot;2&quot; &amp;&amp; \
+-    test &quot;$ac_python_version_minor&quot; -ge &quot;7&quot;) ; then
+-  { echo &quot;$as_me:$LINENO: result: $PYTHON ($ac_python_version)&quot; &gt;&amp;5
+-echo &quot;${ECHO_T}$PYTHON ($ac_python_version)&quot; &gt;&amp;6; }
+-else
+-  { echo &quot;$as_me:$LINENO: result: not found&quot; &gt;&amp;5
+-echo &quot;${ECHO_T}not found&quot; &gt;&amp;6; }
+-  { { echo &quot;$as_me:$LINENO: error: found python $ac_python_version ($PYTHON); required &gt;= 2.7
+-See \`config.log' for more details.&quot; &gt;&amp;5
+-echo &quot;$as_me: error: found python $ac_python_version ($PYTHON); required &gt;= 2.7
+-See \`config.log' for more details.&quot; &gt;&amp;2;}
+-   { (exit 1); exit 1; }; }
+-fi
+-
+-
+-
+ { echo &quot;$as_me:$LINENO: checking for sin in -lm&quot; &gt;&amp;5
+ echo $ECHO_N &quot;checking for sin in -lm... $ECHO_C&quot; &gt;&amp;6; }
+ if test &quot;${ac_cv_lib_m_sin+set}&quot; = set; then
+-- 
+2.7.0
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files0007Removeoverrideofraiseabortand__assert_rtnpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/0007-Remove-override-of-raise-abort-and-__assert_rtn.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/0007-Remove-override-of-raise-abort-and-__assert_rtn.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/0007-Remove-override-of-raise-abort-and-__assert_rtn.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,62 @@
</span><ins>+From 51958b26c17d9d51ca5f7bb1ee52af34ef5f444b Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sat, 16 Jan 2016 10:19:07 -0800
+Subject: [PATCH 7/7] Remove override of raise(), abort(), and __assert_rtn()
+
+Lion (10.7) and newer versions of OS X implement abort() using pthread_kill().
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ lib/Support/Unix/Signals.inc | 39 ---------------------------------------
+ 1 file changed, 39 deletions(-)
+
+diff --git llvm_release_38/lib/Support/Unix/Signals.inc macports_release_38/lib/Support/Unix/Signals.inc
+index 4d687b3..f2797a0 100644
+--- llvm_release_38/lib/Support/Unix/Signals.inc
++++ macports_release_38/lib/Support/Unix/Signals.inc
+@@ -411,42 +411,3 @@ void llvm::sys::PrintStackTraceOnErrorSignal(bool DisableCrashReporting) {
+   }
+ #endif
+ }
+-
+-
+-/***/
+-
+-// On Darwin, raise sends a signal to the main thread instead of the current
+-// thread. This has the unfortunate effect that assert() and abort() will end up
+-// bypassing our crash recovery attempts. We work around this for anything in
+-// the same linkage unit by just defining our own versions of the assert handler
+-// and abort.
+-
+-#if defined(__APPLE__) &amp;&amp; defined(ENABLE_CRASH_OVERRIDES)
+-
+-#include &lt;signal.h&gt;
+-#include &lt;pthread.h&gt;
+-
+-int raise(int sig) {
+-  return pthread_kill(pthread_self(), sig);
+-}
+-
+-void __assert_rtn(const char *func,
+-                  const char *file,
+-                  int line,
+-                  const char *expr) {
+-  if (func)
+-    fprintf(stderr, &quot;Assertion failed: (%s), function %s, file %s, line %d.\n&quot;,
+-            expr, func, file, line);
+-  else
+-    fprintf(stderr, &quot;Assertion failed: (%s), file %s, line %d.\n&quot;,
+-            expr, file, line);
+-  abort();
+-}
+-
+-void abort() {
+-  raise(SIGABRT);
+-  usleep(1000);
+-  __builtin_trap();
+-}
+-
+-#endif
+-- 
+2.7.0
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files1001MacPortsOnlyPrepareclangformatforreplacementwpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/1001-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/1001-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/1001-MacPorts-Only-Prepare-clang-format-for-replacement-w.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,84 @@
</span><ins>+From 7dbc94035eaddc6140e9d868bca254288e101078 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sat, 17 Jan 2015 17:50:24 -0800
+Subject: [PATCH 1001/1007] MacPorts Only: Prepare clang-format for replacement
+ with absolute path
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ tools/clang-format/clang-format-bbedit.applescript | 2 +-
+ tools/clang-format/clang-format-diff.py            | 2 +-
+ tools/clang-format/clang-format-sublime.py         | 2 +-
+ tools/clang-format/clang-format.el                 | 3 +--
+ tools/clang-format/clang-format.py                 | 2 +-
+ 5 files changed, 5 insertions(+), 6 deletions(-)
+
+diff --git llvm_master/tools/clang/tools/clang-format/clang-format-bbedit.applescript macports_master/tools/clang/tools/clang-format/clang-format-bbedit.applescript
+index fa88fe9..eb09448 100644
+--- llvm_master/tools/clang/tools/clang-format/clang-format-bbedit.applescript
++++ macports_master/tools/clang/tools/clang-format/clang-format-bbedit.applescript
+@@ -15,7 +15,7 @@ tell application &quot;BBEdit&quot;
+ end tell

+ set filePath to urlToPOSIXPath(fileURL)
+-set newContents to do shell script &quot;/path/to/clang-format -offset=&quot; &amp; selectionOffset &amp; &quot; -length=&quot; &amp; selectionLength &amp; &quot; &quot; &amp; quoted form of filePath
++set newContents to do shell script &quot;@CLANG_FORMAT_PATH@ -offset=&quot; &amp; selectionOffset &amp; &quot; -length=&quot; &amp; selectionLength &amp; &quot; &quot; &amp; quoted form of filePath

+ tell application &quot;BBEdit&quot;
+         -- &quot;set contents of text document 1 to newContents&quot; scrolls to the bottom while
+diff --git llvm_master/tools/clang/tools/clang-format/clang-format-diff.py macports_master/tools/clang/tools/clang-format/clang-format-diff.py
+index 9e02bb0..b62bef3 100755
+--- llvm_master/tools/clang/tools/clang-format/clang-format-diff.py
++++ macports_master/tools/clang/tools/clang-format/clang-format-diff.py
+@@ -32,7 +32,7 @@ import sys


+ # Change this to the full path if clang-format is not on the path.
+-binary = 'clang-format'
++binary = '@CLANG_FORMAT_PATH@'


+ def main():
+diff --git llvm_master/tools/clang/tools/clang-format/clang-format-sublime.py macports_master/tools/clang/tools/clang-format/clang-format-sublime.py
+index 16ff56e..4b68104 100644
+--- llvm_master/tools/clang/tools/clang-format/clang-format-sublime.py
++++ macports_master/tools/clang/tools/clang-format/clang-format-sublime.py
+@@ -18,7 +18,7 @@ import sublime_plugin
+ import subprocess

+ # Change this to the full path if clang-format is not on the path.
+-binary = 'clang-format'
++binary = '@CLANG_FORMAT_PATH@'

+ # Change this to format according to other formatting styles. See the output of
+ # 'clang-format --help' for a list of supported styles. The default looks for
+diff --git llvm_master/tools/clang/tools/clang-format/clang-format.el macports_master/tools/clang/tools/clang-format/clang-format.el
+index ca46144..1c49835 100644
+--- llvm_master/tools/clang/tools/clang-format/clang-format.el
++++ macports_master/tools/clang/tools/clang-format/clang-format.el
+@@ -36,8 +36,7 @@
+   :group 'tools)

+ (defcustom clang-format-executable
+-  (or (executable-find &quot;clang-format&quot;)
+-      &quot;clang-format&quot;)
++  &quot;@CLANG_FORMAT_PATH@&quot;
+   &quot;Location of the clang-format executable.

+ A string containing the name or the full path of the executable.&quot;
+diff --git llvm_master/tools/clang/tools/clang-format/clang-format.py macports_master/tools/clang/tools/clang-format/clang-format.py
+index 5cb41fc..e8a5904 100644
+--- llvm_master/tools/clang/tools/clang-format/clang-format.py
++++ macports_master/tools/clang/tools/clang-format/clang-format.py
+@@ -34,7 +34,7 @@ import vim

+ # set g:clang_format_path to the path to clang-format if it is not on the path
+ # Change this to the full path if clang-format is not on the path.
+-binary = 'clang-format'
++binary = '@CLANG_FORMAT_PATH@'
+ if vim.eval('exists(&quot;g:clang_format_path&quot;)') == &quot;1&quot;:
+   binary = vim.eval('g:clang_format_path')

+-- 
+2.6.2
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files1002MacPortsOnlyFallbackonxcodebuildsdkwhenxcrunpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/1002-MacPorts-Only-Fall-back-on-xcodebuild-sdk-when-xcrun.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/1002-MacPorts-Only-Fall-back-on-xcodebuild-sdk-when-xcrun.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/1002-MacPorts-Only-Fall-back-on-xcodebuild-sdk-when-xcrun.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+From 6327a2a1206a17c82391beb82a528e685b2d7cac Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sat, 17 Jan 2015 17:51:10 -0800
+Subject: [PATCH 1002/1007] MacPorts Only: Fall back on xcodebuild -sdk when
+ xcrun --sdk is not supported
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ runtime/compiler-rt/Makefile | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git llvm_master/tools/clang/runtime/compiler-rt/Makefile macports_master/tools/clang/runtime/compiler-rt/Makefile
+index 55642a6..b6106d1 100644
+--- llvm_master/tools/clang/runtime/compiler-rt/Makefile
++++ macports_master/tools/clang/runtime/compiler-rt/Makefile
+@@ -81,8 +81,18 @@ RuntimeLibrary.darwin.Configs := \
+         profile_osx.a \
+         ubsan_osx_dynamic.dylib

+-IOS_SDK := $(shell xcrun --show-sdk-path -sdk iphoneos 2&gt; /dev/null)
+-IOSSIM_SDK := $(shell xcrun --show-sdk-path -sdk iphonesimulator 2&gt; /dev/null)
++XCRunSdkPath = \
++  $(shell \
++    result=`xcrun --sdk $(1) --show-sdk-path 2&gt; /dev/null`; \
++    if [ &quot;$$?&quot; != &quot;0&quot; ]; then \
++      result=`xcodebuild -sdk $(1) -version 2&gt; /dev/null \
++              | sed -n 's/^Path: \(..*\)$$/\1/p'`; \
++    fi; \
++    if [ &quot;$$?&quot; != &quot;0&quot; ]; then result=&quot;&quot;; fi; \
++    echo $$result)
++
++IOS_SDK := $(call XCRunSdkPath,iphoneos)
++IOSSIM_SDK := $(call XCRunSdkPath,iphonesimulator)

+ ifneq ($(IOS_SDK)$(IOSSIM_SDK),)
+ RuntimeLibrary.darwin.Configs += ios.a profile_ios.a
+-- 
+2.6.2
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files1003MacPortsOnlyFixnameofscanviewexecutableinsidpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/1003-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/1003-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/1003-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+From 2a763d1dca2bf4967aef146bf75f3fea72820b0d Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sat, 17 Jan 2015 17:55:27 -0800
+Subject: [PATCH 1003/1007] MacPorts Only: Fix name of scan-view executable
+ inside scan-build
+
+http://trac.macports.org/ticket/35006
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ tools/scan-build/bin/scan-build | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git llvm_master/tools/clang/tools/scan-build/bin/scan-build macports_master/tools/clang/tools/scan-build/bin/scan-build
+index 6a14484..319305f 100755
+--- llvm_master/tools/clang/tools/scan-build/bin/scan-build
++++ macports_master/tools/clang/tools/scan-build/bin/scan-build
+@@ -1817,6 +1817,8 @@ if (defined $Options{OutputFormat}) {
+       Diag &quot;Analysis run complete.\n&quot;;
+       Diag &quot;Viewing analysis results in '$Options{OutputDir}' using scan-view.\n&quot;;
+       my $ScanView = Cwd::realpath(&quot;$RealBin/scan-view&quot;);
++      if (! -x $ScanView) { $ScanView = Cwd::realpath(&quot;$RealBin/bin/scan-view&quot;); }
++      if (! -x $ScanView) { $ScanView = Cwd::realpath(&quot;$RealBin/../scan-view/scan-view&quot;); }
+       if (! -x $ScanView) { $ScanView = &quot;scan-view&quot;; }
+       if (! -x $ScanView) { $ScanView = Cwd::realpath(&quot;$RealBin/../../scan-view/bin/scan-view&quot;); }
+       exec $ScanView, &quot;$Options{OutputDir}&quot;;
+-- 
+2.6.2
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files1004MacPortsOnlyRelocateclangresourcesusingllvmvepatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/1004-MacPorts-Only-Relocate-clang-resources-using-llvm-ve.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/1004-MacPorts-Only-Relocate-clang-resources-using-llvm-ve.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/1004-MacPorts-Only-Relocate-clang-resources-using-llvm-ve.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,74 @@
</span><ins>+From 0584af98c60ffbf7f9495d5e917647407b3bcd5d Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sat, 17 Jan 2015 17:58:25 -0800
+Subject: [PATCH 1004/1007] MacPorts Only: Relocate clang resources using llvm
+ version
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ lib/Headers/Makefile         |  3 ++-
+ runtime/compiler-rt/Makefile | 15 ++++++++++++++-
+ 2 files changed, 16 insertions(+), 2 deletions(-)
+
+diff --git llvm_master/tools/clang/lib/Headers/Makefile macports_master/tools/clang/lib/Headers/Makefile
+index 903acac..7c37992 100644
+--- llvm_master/tools/clang/lib/Headers/Makefile
++++ macports_master/tools/clang/lib/Headers/Makefile
+@@ -16,6 +16,7 @@ include $(CLANG_LEVEL)/Makefile

+ CLANG_VERSION := $(word 3,$(shell grep &quot;CLANG_VERSION &quot; \
+         $(PROJ_OBJ_DIR)/$(CLANG_LEVEL)/include/clang/Basic/Version.inc))
++LLVM_VERSION := $(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR)

+ HeaderDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(CLANG_VERSION)/include

+@@ -40,7 +41,7 @@ $(HeaderDir)/module.modulemap: $(PROJ_SRC_DIR)/module.modulemap $(HeaderDir)/.di
+ # Hook into the standard Makefile rules.
+ all-local:: $(OBJHEADERS) $(HeaderDir)/module.modulemap

+-PROJ_headers := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(CLANG_VERSION)/include
++PROJ_headers := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(LLVM_VERSION)/include

+ INSTHEADERS := $(addprefix $(PROJ_headers)/, $(HEADERS))
+ INSTHEADERS += $(PROJ_headers)/arm_neon.h
+diff --git llvm_master/tools/clang/runtime/compiler-rt/Makefile macports_master/tools/clang/runtime/compiler-rt/Makefile
+index b6106d1..2ce50d9 100644
+--- llvm_master/tools/clang/runtime/compiler-rt/Makefile
++++ macports_master/tools/clang/runtime/compiler-rt/Makefile
+@@ -18,9 +18,10 @@ include $(CLANG_LEVEL)/Makefile

+ CLANG_VERSION := $(word 3,$(shell grep &quot;CLANG_VERSION &quot; \
+         $(PROJ_OBJ_DIR)/$(CLANG_LEVEL)/include/clang/Basic/Version.inc))
++LLVM_VERSION := $(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR)

+ ResourceDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(CLANG_VERSION)
+-PROJ_resources := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(CLANG_VERSION)
++PROJ_resources := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(LLVM_VERSION)

+ ResourceLibDir := $(ResourceDir)/lib
+ ResourceIncludeDir := $(ResourceDir)/include
+@@ -259,9 +260,21 @@ $(PROJ_resources_include)/sanitizer: $(ResourceIncludeDir)/sanitizer $(PROJ_reso
+ RuntimeHeaderInstall: $(PROJ_resources_include)/sanitizer
+ .PHONY: RuntimeHeaderInstall

++# Make sure $(PROJ_resources) exists before creating the symlink.
++$(PROJ_resources:$(LLVM_VERSION)=$(CLANG_VERSION)):
++        $(Echo) Creating compiler runtime compatibility symlink
++        $(Verb) $(MKDIR) $(dir $@)
++        $(Verb) ln -s $(LLVM_VERSION) $@
++
++MacPortsClangResSymlinkInstall: $(PROJ_resources:$(LLVM_VERSION)=$(CLANG_VERSION))
++.PHONY: MacPortsClangResSymlinkInstall
++
+ # Hook into the standard Makefile rules.
+ all-local:: $(RuntimeDirs:%=RuntimeLibrary.%) RuntimeHeader
+ install-local:: $(RuntimeDirs:%=RuntimeLibraryInstall.%) RuntimeHeaderInstall
++ifneq ($(LLVM_VERSION),$(CLANG_VERSION))
++install-local:: MacPortsClangResSymlinkInstall
++endif
+ clean-local:: CleanRuntimeLibraries

+ endif
+-- 
+2.6.2
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files1005Defaulttoppc7400forOSX105patch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/1005-Default-to-ppc7400-for-OSX-10.5.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/1005-Default-to-ppc7400-for-OSX-10.5.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/1005-Default-to-ppc7400-for-OSX-10.5.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+From f787fe18be52154ebf95db36df01192f2f779733 Mon Sep 17 00:00:00 2001
+From: Iain Sandoe &lt;iain@codesourcery.com&gt;
+Date: Sun, 27 Jul 2014 20:35:16 +0100
+Subject: [PATCH 1005/1007] Default to ppc7400 for OSX 10.5+
+
+---
+ lib/Driver/Tools.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git llvm_master/tools/clang/lib/Driver/Tools.cpp macports_master/tools/clang/lib/Driver/Tools.cpp
+index 3bd2ffb..76cc5a0 100644
+--- llvm_master/tools/clang/lib/Driver/Tools.cpp
++++ macports_master/tools/clang/lib/Driver/Tools.cpp
+@@ -1700,6 +1700,9 @@ static std::string getCPUName(const ArgList &amp;Args, const llvm::Triple &amp;T,
+         TargetCPUName = &quot;ppc64&quot;;
+       else if (T.getArch() == llvm::Triple::ppc64le)
+         TargetCPUName = &quot;ppc64le&quot;;
++      else if (T.isOSDarwin() &amp;&amp; !T.isMacOSXVersionLT(10,5))
++        // For 10.5+ Altivec is assumed available.
++        TargetCPUName = &quot;7400&quot;;
+       else
+         TargetCPUName = &quot;ppc&quot;;
+     }
+-- 
+2.6.2
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files1006OnlycallsetpriorityPRIO_DARWIN_THREAD0PRIO_DARWpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/1006-Only-call-setpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/1006-Only-call-setpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/1006-Only-call-setpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+From dd396124cc450c06fb7a34df4184375a7785ef98 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sat, 17 Jan 2015 19:08:57 -0800
+Subject: [PATCH 1006/1007] Only call setpriority(PRIO_DARWIN_THREAD, 0,
+ PRIO_DARWIN_BG) if it is available
+
+Tiger and earlier versions of darwin do not support this.
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ tools/libclang/CIndex.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git llvm_master/tools/clang/tools/libclang/CIndex.cpp macports_master/tools/clang/tools/libclang/CIndex.cpp
+index 589e39e..c10ce43 100644
+--- llvm_master/tools/clang/tools/libclang/CIndex.cpp
++++ macports_master/tools/clang/tools/libclang/CIndex.cpp
+@@ -7321,7 +7321,7 @@ void clang::setThreadBackgroundPriority() {
+   if (getenv(&quot;LIBCLANG_BGPRIO_DISABLE&quot;))
+     return;

+-#ifdef USE_DARWIN_THREADS
++#if defined(USE_DARWIN_THREADS) &amp;&amp; defined(PRIO_DARWIN_THREAD) &amp;&amp; defined(PRIO_DARWIN_BG)
+   setpriority(PRIO_DARWIN_THREAD, 0, PRIO_DARWIN_BG);
+ #endif
+ }
+-- 
+2.6.2
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files1007DefaulttofragileObjCruntimewhentargetingdarwipatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/1007-Default-to-fragile-ObjC-runtime-when-targeting-darwi.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/1007-Default-to-fragile-ObjC-runtime-when-targeting-darwi.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/1007-Default-to-fragile-ObjC-runtime-when-targeting-darwi.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+From 6ebfe70568d76cf4bb4c42cca2d22d66c04a310b Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Tue, 20 Jan 2015 00:09:16 -0800
+Subject: [PATCH 1007/1007] Default to fragile ObjC runtime when targeting
+ darwin/ppc
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ lib/Driver/ToolChains.h | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git llvm_master/tools/clang/lib/Driver/ToolChains.h macports_master/tools/clang/lib/Driver/ToolChains.h
+index fc656af..f9ac275 100644
+--- llvm_master/tools/clang/lib/Driver/ToolChains.h
++++ macports_master/tools/clang/lib/Driver/ToolChains.h
+@@ -321,8 +321,10 @@ public:
+   bool IsEncodeExtendedBlockSignatureDefault() const override { return true; }

+   bool IsObjCNonFragileABIDefault() const override {
+-    // Non-fragile ABI is default for everything but i386.
+-    return getTriple().getArch() != llvm::Triple::x86;
++    // Non-fragile ABI is default for legacy architectures
++    return getTriple().getArch() != llvm::Triple::x86 &amp;&amp;
++           getTriple().getArch() != llvm::Triple::ppc &amp;&amp;
++           getTriple().getArch() != llvm::Triple::ppc64;
+   }

+   bool UseObjCMixedDispatch() const override { return true; }
+-- 
+2.6.2
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files2001MacPortsOnlyCommentoutSLcctoolsworkaroundpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/2001-MacPorts-Only-Comment-out-SL-cctools-workaround.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/2001-MacPorts-Only-Comment-out-SL-cctools-workaround.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/2001-MacPorts-Only-Comment-out-SL-cctools-workaround.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,34 @@
</span><ins>+From 2d2c241cda3099ec3900ee2924201d3d19eea69e Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Mon, 15 Apr 2013 22:38:18 -0700
+Subject: [PATCH 2001/2007] MacPorts Only: Comment out SL cctools workaround
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ make/platform/clang_darwin.mk | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+index f85ced5..62b6f92 100644
+--- llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk
++++ macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+@@ -125,11 +125,11 @@ UniversalArchs.ubsan_iossim_dynamic := $(call CheckArches,i386 x86_64,ubsan_ioss
+ # object files. If we are on that platform, strip out all ARM archs. We still
+ # build the libraries themselves so that Clang can find them where it expects
+ # them, even though they might not have an expected slice.
+-ifneq ($(shell test -x /usr/bin/sw_vers &amp;&amp; sw_vers -productVersion | grep 10.6),)
+-UniversalArchs.ios := $(filter-out armv7, $(UniversalArchs.ios))
+-UniversalArchs.cc_kext_ios := $(filter-out armv7, $(UniversalArchs.cc_kext_ios))
+-UniversalArchs.profile_ios := $(filter-out armv7, $(UniversalArchs.profile_ios))
+-endif
++#ifneq ($(shell test -x /usr/bin/sw_vers &amp;&amp; sw_vers -productVersion | grep 10.6),)
++#UniversalArchs.ios := $(filter-out armv7, $(UniversalArchs.ios))
++#UniversalArchs.cc_kext_ios := $(filter-out armv7, $(UniversalArchs.cc_kext_ios))
++#UniversalArchs.profile_ios := $(filter-out armv7, $(UniversalArchs.profile_ios))
++#endif

+ # If RC_SUPPORTED_ARCHS is defined, treat it as a list of the architectures we
+ # are intended to support and limit what we try to build to that.
+-- 
+2.6.3
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files2002UpdateCheckArchestofallbackonIntelppcifldvpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/2002-Update-CheckArches-to-fallback-on-Intel-ppc-if-ld-v-.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/2002-Update-CheckArches-to-fallback-on-Intel-ppc-if-ld-v-.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/2002-Update-CheckArches-to-fallback-on-Intel-ppc-if-ld-v-.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+From 1f0a6b8bdd5b4e4d00eb039f4ebd9dc0a703c091 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sat, 10 Jan 2015 03:34:51 -0800
+Subject: [PATCH 2002/2007] Update CheckArches to fallback on Intel/ppc if ld
+ -v doesn't report supported architectures
+
+Older versions of ld64 (eg: Xcode 3.x) do not report this.
+
+http://www.llvm.org/bugs/show_bug.cgi?id=22182
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ make/platform/clang_darwin.mk | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+index 62b6f92..e8b8ced 100644
+--- llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk
++++ macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+@@ -17,8 +17,7 @@ CheckArches = \
+     result=&quot;&quot;; \
+     if [ &quot;X$(3)&quot; != X ]; then \
+       for arch in $(1); do \
+-        if $(LD) -v 2&gt;&amp;1 | grep &quot;configured to support&quot; \
+-             | tr ' ' '\n' | grep &quot;^$$arch$$&quot; &gt;/dev/null 2&gt;/dev/null; then \
++        if ( $(LD) -v 2&gt;&amp;1 | grep &quot;configured to support&quot; | tr ' ' '\n' | grep &quot;^$$arch$$&quot; &gt;/dev/null 2&gt;/dev/null ) || (! ( $(LD) -v 2&gt;&amp;1 | grep -q &quot;configured to support&quot; ) &amp;&amp; test &quot;$$arch&quot; = &quot;i386&quot; -o &quot;$$arch&quot; = &quot;x86_64&quot; -o &quot;$$arch&quot; = &quot;ppc&quot; -o &quot;$$arch&quot; = &quot;ppc64&quot; ); then \
+           if $(CC) -arch $$arch \
+             -integrated-as \
+             $(ProjSrcRoot)/make/platform/clang_darwin_test_input.c \
+-- 
+2.6.3
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files2003Fallbackonxcodebuildsdkwhenxcrunsdkisnotsupatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/2003-Fall-back-on-xcodebuild-sdk-when-xcrun-sdk-is-not-su.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/2003-Fall-back-on-xcodebuild-sdk-when-xcrun-sdk-is-not-su.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/2003-Fall-back-on-xcodebuild-sdk-when-xcrun-sdk-is-not-su.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+From 4d677715aded5099cadcb7c647729d05a7126930 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sat, 17 Jan 2015 17:45:27 -0800
+Subject: [PATCH 2003/2007] Fall back on xcodebuild -sdk when xcrun --sdk is
+ not supported
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ make/platform/clang_darwin.mk | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+index e8b8ced..4f25a55 100644
+--- llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk
++++ macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+@@ -49,6 +49,10 @@ XCRunSdkPath = \
+     result=`xcrun --sdk $(1).internal --show-sdk-path 2&gt; /dev/null`; \
+     if [ &quot;$$?&quot; != &quot;0&quot; ]; then \
+       result=`xcrun --sdk $(1) --show-sdk-path 2&gt; /dev/null`; \
++      if [ &quot;$$?&quot; != &quot;0&quot; ]; then \
++        result=`xcodebuild -sdk $(1) -version 2&gt; /dev/null \
++                | sed -n 's/^Path: \(..*\)$$/\1/p'`; \
++      fi; \
+       if [ &quot;$$?&quot; != &quot;0&quot; ]; then result=&quot;&quot;; fi; \
+     fi; \
+     echo $$result)
+-- 
+2.6.3
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files2004Ondarwinbuildppcslicesofthecompilerruntimeipatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/2004-On-darwin-build-ppc-slices-of-the-compiler-runtime-i.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/2004-On-darwin-build-ppc-slices-of-the-compiler-runtime-i.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/2004-On-darwin-build-ppc-slices-of-the-compiler-runtime-i.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,55 @@
</span><ins>+From efbd8b49c0815fa8a83f8d4cef51e8d0de3cbfad Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sat, 17 Jan 2015 19:55:19 -0800
+Subject: [PATCH 2004/2007] On darwin, build ppc slices of the compiler runtime
+ if requested and supported by the SDK and toolchain
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ make/platform/clang_darwin.mk | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+index 4f25a55..3f683e9 100644
+--- llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk
++++ macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+@@ -80,10 +80,10 @@ Configs += eprintf
+ UniversalArchs.eprintf := $(call CheckArches,i386,eprintf,$(OSX_SDK))

+ # Configuration for targeting 10.4. We need a few functions missing from
+-# libgcc_s.10.4.dylib. We only build x86 slices since clang doesn't really
+-# support targeting PowerPC.
++# libgcc_s.10.4.dylib. We don't build ppc64 slices since clang doesn't really
++# support it..
+ Configs += 10.4
+-UniversalArchs.10.4 := $(call CheckArches,i386 x86_64,10.4,$(OSX_SDK))
++UniversalArchs.10.4 := $(call CheckArches,ppc i386 x86_64,10.4,$(OSX_SDK))

+ # Configuration for targeting iOS for a couple of functions that didn't
+ # make it into libSystem.
+@@ -94,11 +94,11 @@ UniversalArchs.ios += $(call CheckArches,armv7 arm64,ios,$(IOS_SDK))
+ # Configuration for targeting OSX. These functions may not be in libSystem
+ # so we should provide our own.
+ Configs += osx
+-UniversalArchs.osx := $(call CheckArches,i386 x86_64 x86_64h,osx,$(OSX_SDK))
++UniversalArchs.osx := $(call CheckArches,ppc i386 x86_64 x86_64h,osx,$(OSX_SDK))

+ # Configuration for use with kernel/kexts.
+ Configs += cc_kext
+-UniversalArchs.cc_kext := $(call CheckArches,i386 x86_64 x86_64h,cc_kext,$(OSX_SDK))
++UniversalArchs.cc_kext := $(call CheckArches,ppc i386 x86_64 x86_64h,cc_kext,$(OSX_SDK))

+ # Configuration for use with iOS kernel/kexts
+ Configs += cc_kext_ios
+@@ -106,7 +106,7 @@ UniversalArchs.cc_kext_ios += $(call CheckArches,armv7,cc_kext_ios,$(IOS_SDK))

+ # Configurations which define the profiling support functions.
+ Configs += profile_osx
+-UniversalArchs.profile_osx := $(call CheckArches,i386 x86_64 x86_64h,profile_osx,$(OSX_SDK))
++UniversalArchs.profile_osx := $(call CheckArches,ppc i386 x86_64 x86_64h,profile_osx,$(OSX_SDK))
+ Configs += profile_ios
+ UniversalArchs.profile_ios := $(call CheckArches,i386 x86_64,profile_ios,$(IOSSIM_SDK))
+ UniversalArchs.profile_ios += $(call CheckArches,armv7 arm64,profile_ios,$(IOS_SDK))
+-- 
+2.6.3
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files2005MacPortsOnlyDontbuildx86_64hsliceofcompilerpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/2005-MacPorts-Only-Don-t-build-x86_64h-slice-of-compiler-.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/2005-MacPorts-Only-Don-t-build-x86_64h-slice-of-compiler-.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/2005-MacPorts-Only-Don-t-build-x86_64h-slice-of-compiler-.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,56 @@
</span><ins>+From 1c58350ef60e7b54d8b0ef6ea58791d6e8390b90 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Wed, 14 Jan 2015 19:55:19 -0800
+Subject: [PATCH 2005/2007] MacPorts Only: Don't build x86_64h slice of
+ compiler-rt
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ make/platform/clang_darwin.mk | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+index 3f683e9..62116a9 100644
+--- llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk
++++ macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+@@ -94,11 +94,11 @@ UniversalArchs.ios += $(call CheckArches,armv7 arm64,ios,$(IOS_SDK))
+ # Configuration for targeting OSX. These functions may not be in libSystem
+ # so we should provide our own.
+ Configs += osx
+-UniversalArchs.osx := $(call CheckArches,ppc i386 x86_64 x86_64h,osx,$(OSX_SDK))
++UniversalArchs.osx := $(call CheckArches,ppc i386 x86_64,osx,$(OSX_SDK))

+ # Configuration for use with kernel/kexts.
+ Configs += cc_kext
+-UniversalArchs.cc_kext := $(call CheckArches,ppc i386 x86_64 x86_64h,cc_kext,$(OSX_SDK))
++UniversalArchs.cc_kext := $(call CheckArches,ppc i386 x86_64,cc_kext,$(OSX_SDK))

+ # Configuration for use with iOS kernel/kexts
+ Configs += cc_kext_ios
+@@ -106,20 +106,20 @@ UniversalArchs.cc_kext_ios += $(call CheckArches,armv7,cc_kext_ios,$(IOS_SDK))

+ # Configurations which define the profiling support functions.
+ Configs += profile_osx
+-UniversalArchs.profile_osx := $(call CheckArches,ppc i386 x86_64 x86_64h,profile_osx,$(OSX_SDK))
++UniversalArchs.profile_osx := $(call CheckArches,ppc i386 x86_64,profile_osx,$(OSX_SDK))
+ Configs += profile_ios
+ UniversalArchs.profile_ios := $(call CheckArches,i386 x86_64,profile_ios,$(IOSSIM_SDK))
+ UniversalArchs.profile_ios += $(call CheckArches,armv7 arm64,profile_ios,$(IOS_SDK))

+ # Configurations which define the ASAN support functions.
+ Configs += asan_osx_dynamic
+-UniversalArchs.asan_osx_dynamic := $(call CheckArches,i386 x86_64 x86_64h,asan_osx_dynamic,$(OSX_SDK))
++UniversalArchs.asan_osx_dynamic := $(call CheckArches,i386 x86_64,asan_osx_dynamic,$(OSX_SDK))

+ Configs += asan_iossim_dynamic
+ UniversalArchs.asan_iossim_dynamic := $(call CheckArches,i386 x86_64,asan_iossim_dynamic,$(IOSSIM_SDK))

+ Configs += ubsan_osx_dynamic
+-UniversalArchs.ubsan_osx_dynamic := $(call CheckArches,i386 x86_64 x86_64h,ubsan_osx_dynamic,$(OSX_SDK))
++UniversalArchs.ubsan_osx_dynamic := $(call CheckArches,i386 x86_64,ubsan_osx_dynamic,$(OSX_SDK))

+ Configs += ubsan_iossim_dynamic
+ UniversalArchs.ubsan_iossim_dynamic := $(call CheckArches,i386 x86_64,ubsan_iossim_dynamic,$(IOSSIM_SDK))
+-- 
+2.6.3
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files2006MacPortsOnlyFixregressionintroducedwhenfixingpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/2006-MacPorts-Only-Fix-regression-introduced-when-fixing-.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/2006-MacPorts-Only-Fix-regression-introduced-when-fixing-.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/2006-MacPorts-Only-Fix-regression-introduced-when-fixing-.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+From 7664b6e22365f91d330bf10f3255ad4190410000 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sun, 11 Oct 2015 09:02:26 -0700
+Subject: [PATCH 2006/2007] MacPorts Only: Fix regression introduced when
+ fixing PR24776
+
+Partially reverts commit efecb2c285bd444b6def43ac62e5f0278df387eb
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ make/platform/clang_darwin.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+index 62116a9..6cc3e53 100644
+--- llvm_master/projects/compiler-rt/make/platform/clang_darwin.mk
++++ macports_master/projects/compiler-rt/make/platform/clang_darwin.mk
+@@ -18,7 +18,7 @@ CheckArches = \
+     if [ &quot;X$(3)&quot; != X ]; then \
+       for arch in $(1); do \
+         if ( $(LD) -v 2&gt;&amp;1 | grep &quot;configured to support&quot; | tr ' ' '\n' | grep &quot;^$$arch$$&quot; &gt;/dev/null 2&gt;/dev/null ) || (! ( $(LD) -v 2&gt;&amp;1 | grep -q &quot;configured to support&quot; ) &amp;&amp; test &quot;$$arch&quot; = &quot;i386&quot; -o &quot;$$arch&quot; = &quot;x86_64&quot; -o &quot;$$arch&quot; = &quot;ppc&quot; -o &quot;$$arch&quot; = &quot;ppc64&quot; ); then \
+-          if $(CC) -arch $$arch \
++          if $(CC) -arch $$arch -c \
+             -integrated-as \
+             $(ProjSrcRoot)/make/platform/clang_darwin_test_input.c \
+             -isysroot $(3) \
+-- 
+2.6.3
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files2007MacPortsOnlyDontcheckforthemacosxinternalSDpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/2007-MacPorts-Only-Don-t-check-for-the-macosx.internal-SD.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/2007-MacPorts-Only-Don-t-check-for-the-macosx.internal-SD.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/2007-MacPorts-Only-Don-t-check-for-the-macosx.internal-SD.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+From 4cf3736c2a21e608d12b0fc153533be359029d7b Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Mon, 30 Nov 2015 00:52:14 -0500
+Subject: [PATCH 2007/2007] MacPorts Only: Don't check for the macosx.internal
+ SDK
+
+https://llvm.org/bugs/show_bug.cgi?id=25677
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ cmake/Modules/CompilerRTDarwinUtils.cmake | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git llvm_master/projects/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake macports_master/projects/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
+index 4947ae4..611756a 100644
+--- llvm_master/projects/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
++++ macports_master/projects/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
+@@ -2,21 +2,12 @@
+ # set the default Xcode to use. This function finds the SDKs that are present in
+ # the current Xcode.
+ function(find_darwin_sdk_dir var sdk_name)
+-  # Let's first try the internal SDK, otherwise use the public SDK.
+-  execute_process(
+-    COMMAND xcodebuild -version -sdk ${sdk_name}.internal Path
+-    OUTPUT_VARIABLE var_internal
+-    OUTPUT_STRIP_TRAILING_WHITESPACE
+-    ERROR_FILE /dev/null
+-  )
+-  if(&quot;&quot; STREQUAL &quot;${var_internal}&quot;)
+     execute_process(
+       COMMAND xcodebuild -version -sdk ${sdk_name} Path
+       OUTPUT_VARIABLE var_internal
+       OUTPUT_STRIP_TRAILING_WHITESPACE
+       ERROR_FILE /dev/null
+     )
+-  endif()
+   set(${var} ${var_internal} PARENT_SCOPE)
+ endfunction()

+-- 
+2.6.3
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files3001builditbuildfixforLeopardpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/3001-buildit-build-fix-for-Leopard.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/3001-buildit-build-fix-for-Leopard.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/3001-buildit-build-fix-for-Leopard.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+From 338a475972c93c0a819d8fb15050bcce638d3146 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Fri, 16 Jan 2015 21:10:35 -0800
+Subject: [PATCH 3001/3005] buildit build fix for Leopard
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ lib/buildit | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git llvm_master/projects/libcxx/lib/buildit macports_master/projects/libcxx/lib/buildit
+index 7e3bc2e..2740dee 100755
+--- llvm_master/projects/libcxx/lib/buildit
++++ macports_master/projects/libcxx/lib/buildit
+@@ -50,7 +50,7 @@ case $TRIPLE in
+       RC_CFLAGS=&quot;-arch i386 -arch x86_64&quot;
+     fi
+     SOEXT=dylib
+-    if [ &quot;$MACOSX_DEPLOYMENT_TARGET&quot; = &quot;10.6&quot; ]
++    if [ &quot;$MACOSX_DEPLOYMENT_TARGET&quot; = &quot;10.5&quot; ] || [ &quot;$MACOSX_DEPLOYMENT_TARGET&quot; = &quot;10.6&quot; ]
+     then
+         EXTRA_FLAGS=&quot;-nostdinc++ -std=c++11 -U__STRICT_ANSI__&quot;
+         LDSHARED_FLAGS=&quot;-o libc++.1.dylib \
+@@ -59,7 +59,7 @@ case $TRIPLE in
+             -install_name /usr/lib/libc++.1.dylib \
+             -Wl,-reexport_library,/usr/lib/libc++abi.dylib \
+             -Wl,-unexported_symbols_list,libc++unexp.exp  \
+-            /usr/lib/libSystem.B.dylib&quot;
++            /usr/lib/libSystem.B.dylib /usr/lib/libgcc_s.1.dylib&quot;
+     else
+         if [ -n &quot;$SDKROOT&quot; ]
+         then
+-- 
+2.6.1
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files3002builditSetcompatibilityversiontoRC_ProjectSourcpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/3002-buildit-Set-compatibility-version-to-RC_ProjectSourc.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/3002-buildit-Set-compatibility-version-to-RC_ProjectSourc.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/3002-buildit-Set-compatibility-version-to-RC_ProjectSourc.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+From b132f1d99a4d68032981ac5eac247957640a11b2 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Fri, 16 Jan 2015 21:11:37 -0800
+Subject: [PATCH 3002/3005] buildit: Set compatibility version to
+ RC_ProjectSourceVersion
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ lib/buildit | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git llvm_master/projects/libcxx/lib/buildit macports_master/projects/libcxx/lib/buildit
+index 2740dee..c74683f 100755
+--- llvm_master/projects/libcxx/lib/buildit
++++ macports_master/projects/libcxx/lib/buildit
+@@ -54,7 +54,8 @@ case $TRIPLE in
+     then
+         EXTRA_FLAGS=&quot;-nostdinc++ -std=c++11 -U__STRICT_ANSI__&quot;
+         LDSHARED_FLAGS=&quot;-o libc++.1.dylib \
+-            -dynamiclib -nodefaultlibs -current_version 1 \
++            -dynamiclib -nodefaultlibs \
++            -current_version ${RC_ProjectSourceVersion} \
+             -compatibility_version 1 \
+             -install_name /usr/lib/libc++.1.dylib \
+             -Wl,-reexport_library,/usr/lib/libc++abi.dylib \
+-- 
+2.6.1
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files3003FixlocalanditeratorwhenbuildingwithLionandnpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/3003-Fix-local-and-iterator-when-building-with-Lion-and-n.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/3003-Fix-local-and-iterator-when-building-with-Lion-and-n.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/3003-Fix-local-and-iterator-when-building-with-Lion-and-n.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,45 @@
</span><ins>+From 763f41fd807928cec405fa391fb062cfd2cc5251 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Fri, 16 Jan 2015 21:34:36 -0800
+Subject: [PATCH 3003/3005] Fix &lt;local&gt; and &lt;iterator&gt; when building with Lion
+ and newer Availability.h
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ include/iterator | 4 ++--
+ include/locale   | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git llvm_master/projects/libcxx/include/iterator macports_master/projects/libcxx/include/iterator
+index c06ef8f..168efa6 100644
+--- llvm_master/projects/libcxx/include/iterator
++++ macports_master/projects/libcxx/include/iterator
+@@ -920,8 +920,8 @@ public:
+     _LIBCPP_INLINE_VISIBILITY bool failed() const _NOEXCEPT {return __sbuf_ == 0;}

+ #if !defined(__APPLE__) || \
+-    (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt; __MAC_10_8) || \
+-    (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt; __IPHONE_6_0)
++    (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) &amp;&amp; defined(__MAC_10_8) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt; __MAC_10_8) || \
++    (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) &amp;&amp; defined(__IPHONE_6_0) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt; __IPHONE_6_0)

+     template &lt;class _Ch, class _Tr&gt;
+     friend
+diff --git llvm_master/projects/libcxx/include/locale macports_master/projects/libcxx/include/locale
+index 74898be..b82a3c7 100644
+--- llvm_master/projects/libcxx/include/locale
++++ macports_master/projects/libcxx/include/locale
+@@ -1474,8 +1474,8 @@ __pad_and_output(_OutputIterator __s,
+ }

+ #if !defined(__APPLE__) || \
+-    (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt; __MAC_10_8) || \
+-    (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt; __IPHONE_6_0)
++    (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) &amp;&amp; defined(__MAC_10_8) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt; __MAC_10_8) || \
++    (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) &amp;&amp; defined(__IPHONE_6_0) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt; __IPHONE_6_0)

+ template &lt;class _CharT, class _Traits&gt;
+ _LIBCPP_HIDDEN
+-- 
+2.6.1
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files3004Fixmissinglonglongmathprototypeswhenusingthepatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/3004-Fix-missing-long-long-math-prototypes-when-using-the.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/3004-Fix-missing-long-long-math-prototypes-when-using-the.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/3004-Fix-missing-long-long-math-prototypes-when-using-the.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+From 133c794191c25455ffccacc703570c8e7b6b4379 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Sat, 17 Jan 2015 16:26:20 -0800
+Subject: [PATCH 3004/3005] Fix missing long long math prototypes when using
+ the Snow Leopard SDK
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ include/cmath | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git llvm_master/projects/libcxx/include/cmath macports_master/projects/libcxx/include/cmath
+index ebbde18..f6d0d31 100644
+--- llvm_master/projects/libcxx/include/cmath
++++ macports_master/projects/libcxx/include/cmath
+@@ -300,6 +300,22 @@ long double    truncl(long double x);
+ #include &lt;__config&gt;
+ #include &lt;math.h&gt;

++#ifdef __APPLE__
++#include &lt;Availability.h&gt;
++#if __MAC_OS_X_VERSION_MAX_ALLOWED &lt; 1070
++/* These prototypes are incorrectly omitted from &lt;math.h&gt; on Snow Leopard despite being available */
++extern &quot;C&quot; {
++    extern long long int llrintl(long double);
++    extern long long int llrint(double);
++    extern long long int llrintf(float);
++
++    extern long long int llroundl(long double);
++    extern long long int llround(double);
++    extern long long int llroundf(float);
++}
++#endif
++#endif // __APPLE__
++
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #pragma GCC system_header
+ #endif
+-- 
+2.6.1
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39files3005implementatomicusingmutexlock_guardfor64bopspatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/3005-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/3005-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/3005-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,316 @@
</span><ins>+From bfb3ae7b99d4efea34677d6931329efbb423415d Mon Sep 17 00:00:00 2001
+From: David Fang &lt;fang@csl.cornell.edu&gt;
+Date: Wed, 15 Jan 2014 21:27:34 -0800
+Subject: [PATCH 3005/3005] implement atomic&lt;&gt; using mutex/lock_guard for 64b
+ ops on 32b PPC not pretty, not fast, but passes atomic tests
+
+---
+ include/__atomic_locked | 240 ++++++++++++++++++++++++++++++++++++++++++++++++
+ include/atomic          |  46 ++++++++++
+ 2 files changed, 286 insertions(+)
+ create mode 100644 include/__atomic_locked
+
+diff --git llvm_master/projects/libcxx/include/__atomic_locked macports_master/projects/libcxx/include/__atomic_locked
+new file mode 100644
+index 0000000..f10dd74
+--- /dev/null
++++ macports_master/projects/libcxx/include/__atomic_locked
+@@ -0,0 +1,240 @@
++// -*- C++ -*-
++//===--------------------------- __atomic_locked --------------------------===//
++//
++//                     The LLVM Compiler Infrastructure
++//
++// This file is distributed under the University of Illinois Open Source
++// License. See LICENSE.TXT for details.
++//
++//===----------------------------------------------------------------------===//
++
++#ifndef _LIBCPP_ATOMIC_LOCKED
++#define _LIBCPP_ATOMIC_LOCKED
++
++#include &lt;__mutex_base&gt;        // for mutex and lock_guard
++
++/**
++        This provides slow-but-usable lock-based atomic access to
++        structures for which atomic lock-free functions are missing.
++        This is motivated by the desire for 64b atomic operations
++        on 32b PowerPC architectures.  
++**/
++
++#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
++#pragma GCC system_header
++#endif
++
++_LIBCPP_BEGIN_NAMESPACE_STD
++
++template &lt;class _Tp, bool = is_integral&lt;_Tp&gt;::value &amp;&amp; !is_same&lt;_Tp, bool&gt;::value&gt;
++struct __atomic_mutex_locked  // false
++{
++    mutable _Atomic(_Tp) __a_;
++    mutable mutex __lock_;
++    typedef lock_guard&lt;mutex&gt;        lock_type;
++
++    _Tp&amp; na(void) const { return reinterpret_cast&lt;_Tp&amp;&gt;(__a_); }
++    volatile _Tp&amp; na(void) const volatile { return reinterpret_cast&lt;volatile _Tp&amp;&gt;(__a_); }
++
++    _LIBCPP_INLINE_VISIBILITY
++    bool is_lock_free() const volatile _NOEXCEPT
++        {return false;}
++    _LIBCPP_INLINE_VISIBILITY
++    bool is_lock_free() const _NOEXCEPT
++        {return false;}
++    _LIBCPP_INLINE_VISIBILITY
++    void store(_Tp __d, memory_order = memory_order_seq_cst) volatile _NOEXCEPT
++        { const lock_type g(const_cast&lt;mutex&amp;&gt;(__lock_)); na() = __d; }
++    _LIBCPP_INLINE_VISIBILITY
++    void store(_Tp __d, memory_order = memory_order_seq_cst) _NOEXCEPT
++        { const lock_type g(__lock_); na() = __d; }
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp load(memory_order = memory_order_seq_cst) const volatile _NOEXCEPT
++        { const lock_type g(const_cast&lt;mutex&amp;&gt;(__lock_)); return na(); }
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp load(memory_order = memory_order_seq_cst) const _NOEXCEPT
++        { const lock_type g(__lock_); return na(); }
++    _LIBCPP_INLINE_VISIBILITY
++    operator _Tp() const volatile _NOEXCEPT {return load();}
++    _LIBCPP_INLINE_VISIBILITY
++    operator _Tp() const _NOEXCEPT          {return load();}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp exchange(_Tp __d, memory_order = memory_order_seq_cst) volatile _NOEXCEPT
++        { const lock_type g(const_cast&lt;mutex&amp;&gt;(__lock_));
++        // or use std::swap
++          const _Tp ret = na(); na() = __d; return ret; }
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp exchange(_Tp __d, memory_order = memory_order_seq_cst) _NOEXCEPT
++        { const lock_type g(__lock_);
++        // or use std::swap
++          const _Tp ret = na(); na() = __d; return ret; }
++    _LIBCPP_INLINE_VISIBILITY
++    bool compare_exchange_weak(_Tp&amp; __e, _Tp __d,
++                               memory_order __s, memory_order __f) volatile _NOEXCEPT
++        { const lock_type g(const_cast&lt;mutex&amp;&gt;(__lock_));
++          if (na() == __e) { na() = __d; return true; }
++          else { __e = na(); return false; }
++        }
++    _LIBCPP_INLINE_VISIBILITY
++    bool compare_exchange_weak(_Tp&amp; __e, _Tp __d,
++                               memory_order __s, memory_order __f) _NOEXCEPT
++        { const lock_type g(__lock_);
++          if (na() == __e) { na() = __d; return true; }
++          else { __e = na(); return false; }
++        }
++
++    // for now, _weak inditinguishable from _strong
++    _LIBCPP_INLINE_VISIBILITY
++    bool compare_exchange_strong(_Tp&amp; __e, _Tp __d,
++                                 memory_order __s, memory_order __f) volatile _NOEXCEPT
++        {return compare_exchange_weak(__e, __d, __s, __f);}
++    _LIBCPP_INLINE_VISIBILITY
++    bool compare_exchange_strong(_Tp&amp; __e, _Tp __d,
++                                 memory_order __s, memory_order __f) _NOEXCEPT
++        {return compare_exchange_weak(__e, __d, __s, __f);}
++    _LIBCPP_INLINE_VISIBILITY
++    bool compare_exchange_weak(_Tp&amp; __e, _Tp __d,
++                              memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
++        {return compare_exchange_weak(__e, __d, __m, __m);}
++    _LIBCPP_INLINE_VISIBILITY
++    bool compare_exchange_weak(_Tp&amp; __e, _Tp __d,
++                               memory_order __m = memory_order_seq_cst) _NOEXCEPT
++        {return compare_exchange_weak(__e, __d, __m, __m);}
++    _LIBCPP_INLINE_VISIBILITY
++    bool compare_exchange_strong(_Tp&amp; __e, _Tp __d,
++                              memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
++        {return compare_exchange_strong(__e, __d, __m, __m);}
++    _LIBCPP_INLINE_VISIBILITY
++    bool compare_exchange_strong(_Tp&amp; __e, _Tp __d,
++                                 memory_order __m = memory_order_seq_cst) _NOEXCEPT
++        {return compare_exchange_strong(__e, __d, __m, __m);}
++
++    _LIBCPP_INLINE_VISIBILITY
++#ifndef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
++    __atomic_mutex_locked() _NOEXCEPT = default;
++#else
++    __atomic_mutex_locked() _NOEXCEPT : __a_() {}
++#endif // _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS
++
++    _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_CONSTEXPR __atomic_mutex_locked(_Tp __d) _NOEXCEPT : __a_(__d) {}
++#ifndef _LIBCPP_HAS_NO_DELETED_FUNCTIONS
++    __atomic_mutex_locked(const __atomic_mutex_locked&amp;) = delete;
++    __atomic_mutex_locked&amp; operator=(const __atomic_mutex_locked&amp;) = delete;
++    __atomic_mutex_locked&amp; operator=(const __atomic_mutex_locked&amp;) volatile = delete;
++#else  // _LIBCPP_HAS_NO_DELETED_FUNCTIONS
++private:
++    __atomic_mutex_locked(const __atomic_mutex_locked&amp;);
++    __atomic_mutex_locked&amp; operator=(const __atomic_mutex_locked&amp;);
++    __atomic_mutex_locked&amp; operator=(const __atomic_mutex_locked&amp;) volatile;
++#endif  // _LIBCPP_HAS_NO_DELETED_FUNCTIONS
++};        // end struct __atomic_mutex_locked
++
++// atomic&lt;Integral&gt;
++
++template &lt;class _Tp&gt;
++struct __atomic_mutex_locked&lt;_Tp, true&gt;
++    : public __atomic_mutex_locked&lt;_Tp, false&gt;
++{
++    typedef __atomic_mutex_locked&lt;_Tp, false&gt; __base;
++    typedef        typename __base::lock_type        lock_type;
++    using __base::__lock_;
++    using __base::na;
++
++    _LIBCPP_INLINE_VISIBILITY
++    __atomic_mutex_locked() _NOEXCEPT _LIBCPP_DEFAULT
++    _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_CONSTEXPR __atomic_mutex_locked(_Tp __d) _NOEXCEPT : __base(__d) {}
++
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp fetch_add(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
++        { const lock_type g(const_cast&lt;mutex&amp;&gt;(__lock_));
++          const _Tp ret = na(); na() += __op; return ret;
++        }
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp fetch_add(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
++        { const lock_type g(__lock_);
++          const _Tp ret = na(); na() += __op; return ret;
++        }
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp fetch_sub(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
++        { const lock_type g(const_cast&lt;mutex&amp;&gt;(__lock_));
++          const _Tp ret = na(); na() -= __op; return ret;
++        }
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp fetch_sub(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
++        { const lock_type g(__lock_);
++          const _Tp ret = na(); na() -= __op; return ret;
++        }
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp fetch_and(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
++        { const lock_type g(const_cast&lt;mutex&amp;&gt;(__lock_));
++          const _Tp ret = na(); na() &amp;= __op; return ret;
++        }
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp fetch_and(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
++        { const lock_type g(__lock_);
++          const _Tp ret = na(); na() &amp;= __op; return ret;
++        }
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp fetch_or(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
++        { const lock_type g(const_cast&lt;mutex&amp;&gt;(__lock_));
++          const _Tp ret = na(); na() |= __op; return ret;
++        }
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp fetch_or(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
++        { const lock_type g(__lock_);
++          const _Tp ret = na(); na() |= __op; return ret;
++        }
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp fetch_xor(_Tp __op, memory_order __m = memory_order_seq_cst) volatile _NOEXCEPT
++        { const lock_type g(const_cast&lt;mutex&amp;&gt;(__lock_));
++          const _Tp ret = na(); na() ^= __op; return ret;
++        }
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp fetch_xor(_Tp __op, memory_order __m = memory_order_seq_cst) _NOEXCEPT
++        { const lock_type g(__lock_);
++          const _Tp ret = na(); na() ^= __op; return ret;
++        }
++
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator++(int) volatile _NOEXCEPT      {return fetch_add(_Tp(1));}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator++(int) _NOEXCEPT               {return fetch_add(_Tp(1));}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator--(int) volatile _NOEXCEPT      {return fetch_sub(_Tp(1));}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator--(int) _NOEXCEPT               {return fetch_sub(_Tp(1));}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator++() volatile _NOEXCEPT         {return fetch_add(_Tp(1)) + _Tp(1);}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator++() _NOEXCEPT                  {return fetch_add(_Tp(1)) + _Tp(1);}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator--() volatile _NOEXCEPT         {return fetch_sub(_Tp(1)) - _Tp(1);}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator--() _NOEXCEPT                  {return fetch_sub(_Tp(1)) - _Tp(1);}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator+=(_Tp __op) volatile _NOEXCEPT {return fetch_add(__op) + __op;}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator+=(_Tp __op) _NOEXCEPT          {return fetch_add(__op) + __op;}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator-=(_Tp __op) volatile _NOEXCEPT {return fetch_sub(__op) - __op;}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator-=(_Tp __op) _NOEXCEPT          {return fetch_sub(__op) - __op;}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator&amp;=(_Tp __op) volatile _NOEXCEPT {return fetch_and(__op) &amp; __op;}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator&amp;=(_Tp __op) _NOEXCEPT          {return fetch_and(__op) &amp; __op;}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator|=(_Tp __op) volatile _NOEXCEPT {return fetch_or(__op) | __op;}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator|=(_Tp __op) _NOEXCEPT          {return fetch_or(__op) | __op;}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator^=(_Tp __op) volatile _NOEXCEPT {return fetch_xor(__op) ^ __op;}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator^=(_Tp __op) _NOEXCEPT          {return fetch_xor(__op) ^ __op;}
++};
++
++_LIBCPP_END_NAMESPACE_STD
++
++#endif  // _LIBCPP_ATOMIC_LOCKED
+diff --git llvm_master/projects/libcxx/include/atomic macports_master/projects/libcxx/include/atomic
+index 13965fb..fb0266a 100644
+--- llvm_master/projects/libcxx/include/atomic
++++ macports_master/projects/libcxx/include/atomic
+@@ -1791,4 +1791,50 @@ typedef atomic&lt;uintmax_t&gt; atomic_uintmax_t;

+ _LIBCPP_END_NAMESPACE_STD

++#if        defined(__ppc__) &amp;&amp; !defined(__ppc64__)
++// specialize fallback implementation where 64b atomics are missing
++#include &lt;__atomic_locked&gt;
++
++_LIBCPP_BEGIN_NAMESPACE_STD
++
++template &lt;&gt;
++struct atomic&lt;long long&gt; : public __atomic_mutex_locked&lt;long long&gt;
++{
++    typedef long long                _Tp;
++    typedef __atomic_mutex_locked&lt;_Tp&gt; __base;
++    _LIBCPP_INLINE_VISIBILITY
++    atomic() _NOEXCEPT _LIBCPP_DEFAULT
++    _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_CONSTEXPR atomic(_Tp __d) _NOEXCEPT : __base(__d) {}
++
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator=(_Tp __d) volatile _NOEXCEPT
++        {__base::store(__d); return __d;}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator=(_Tp __d) _NOEXCEPT
++        {__base::store(__d); return __d;}
++};
++
++template &lt;&gt;
++struct atomic&lt;unsigned long long&gt; :
++        public __atomic_mutex_locked&lt;unsigned long long&gt;
++{
++    typedef unsigned long long                _Tp;
++    typedef __atomic_mutex_locked&lt;_Tp&gt; __base;
++    _LIBCPP_INLINE_VISIBILITY
++    atomic() _NOEXCEPT _LIBCPP_DEFAULT
++    _LIBCPP_INLINE_VISIBILITY
++    _LIBCPP_CONSTEXPR atomic(_Tp __d) _NOEXCEPT : __base(__d) {}
++
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator=(_Tp __d) volatile _NOEXCEPT
++        {__base::store(__d); return __d;}
++    _LIBCPP_INLINE_VISIBILITY
++    _Tp operator=(_Tp __d) _NOEXCEPT
++        {__base::store(__d); return __d;}
++};
++
++_LIBCPP_END_NAMESPACE_STD
++#endif        // defined(__ppc__) &amp;&amp; !defined(__ppc64__)
++
+ #endif  // _LIBCPP_ATOMIC
+-- 
+2.6.1
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39filescompiler_rttoolchainpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/compiler_rt-toolchain.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/compiler_rt-toolchain.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/compiler_rt-toolchain.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+Index: llvm-3.6svn/projects/compiler-rt/make/platform/clang_darwin.mk
+===================================================================
+--- llvm-3.6svn.orig/projects/compiler-rt/make/platform/clang_darwin.mk
++++ llvm-3.6svn/projects/compiler-rt/make/platform/clang_darwin.mk
+@@ -53,11 +53,11 @@ XCRunSdkPath = \

+ CC       := $(call XCRun,clang)
+ LD       := $(shell $(CC) -print-prog-name=ld)
+-AR       := $(call XCRun,ar)
+-RANLIB   := $(call XCRun,ranlib)
+-STRIP    := $(call XCRun,strip)
+-LIPO     := $(call XCRun,lipo)
+-DSYMUTIL := $(call XCRun,dsymutil)
++AR       := @@PREFIX@@/bin/ar
++RANLIB   := @@PREFIX@@/bin/ranlib
++STRIP    := @@PREFIX@@/bin/strip
++LIPO     := @@PREFIX@@/bin/lipo
++DSYMUTIL := @@PREFIX@@/bin/dsymutil

+ OSX_SDK := $(call XCRunSdkPath,macosx)
+ IOS_SDK := $(call XCRunSdkPath,iphoneos)
+Index: llvm-3.6svn/projects/compiler-rt/make/platform/clang_macho_embedded.mk
+===================================================================
+--- llvm-3.6svn.orig/projects/compiler-rt/make/platform/clang_macho_embedded.mk
++++ llvm-3.6svn/projects/compiler-rt/make/platform/clang_macho_embedded.mk
+@@ -33,11 +33,11 @@ XCRun = \
+ ###

+ CC       := $(call XCRun,clang)
+-AR       := $(call XCRun,ar)
+-RANLIB   := $(call XCRun,ranlib)
+-STRIP    := $(call XCRun,strip)
+-LIPO     := $(call XCRun,lipo)
+-DSYMUTIL := $(call XCRun,dsymutil)
++AR       := @@PREFIX@@/bin/ar
++RANLIB   := @@PREFIX@@/bin/ranlib
++STRIP    := @@PREFIX@@/bin/strip
++LIPO     := @@PREFIX@@/bin/lipo
++DSYMUTIL := @@PREFIX@@/bin/dsymutil

+ Configs :=
+ UniversalArchs :=
</ins></span></pre></div>
<a id="trunkdportslangllvm39filesleopardnoasanpatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/leopard-no-asan.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/leopard-no-asan.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/leopard-no-asan.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,60 @@
</span><ins>+--- a/projects/compiler-rt/make/platform/clang_darwin.mk.orig        2015-04-17 18:46:34.000000000 -0700
++++ b/projects/compiler-rt/make/platform/clang_darwin.mk        2015-04-17 18:48:25.000000000 -0700
+@@ -119,16 +119,16 @@ UniversalArchs.profile_ios := $(call Che
+ UniversalArchs.profile_ios += $(call CheckArches,armv7 arm64,profile_ios,$(IOS_SDK))

+ # Configurations which define the ASAN support functions.
+-Configs += asan_osx_dynamic
++#Configs += asan_osx_dynamic
+ UniversalArchs.asan_osx_dynamic := $(call CheckArches,i386 x86_64,asan_osx_dynamic,$(OSX_SDK))

+-Configs += asan_iossim_dynamic
++#Configs += asan_iossim_dynamic
+ UniversalArchs.asan_iossim_dynamic := $(call CheckArches,i386 x86_64,asan_iossim_dynamic,$(IOSSIM_SDK))

+-Configs += ubsan_osx_dynamic
++#Configs += ubsan_osx_dynamic
+ UniversalArchs.ubsan_osx_dynamic := $(call CheckArches,i386 x86_64,ubsan_osx_dynamic,$(OSX_SDK))

+-Configs += ubsan_iossim_dynamic
++#Configs += ubsan_iossim_dynamic
+ UniversalArchs.ubsan_iossim_dynamic := $(call CheckArches,i386 x86_64,ubsan_iossim_dynamic,$(IOSSIM_SDK))

+ # Darwin 10.6 has a bug in cctools that makes it unable to use ranlib on our ARM
+--- a/tools/clang/runtime/compiler-rt/Makefile.orig        2015-04-17 18:46:32.000000000 -0700
++++ b/tools/clang/runtime/compiler-rt/Makefile        2015-04-17 18:48:42.000000000 -0700
+@@ -78,9 +78,7 @@ ifeq ($(OS),Darwin)
+ RuntimeDirs += darwin macho_embedded
+ RuntimeLibrary.darwin.Configs := \
+         eprintf.a 10.4.a osx.a cc_kext.a \
+-        asan_osx_dynamic.dylib \
+-        profile_osx.a \
+-        ubsan_osx_dynamic.dylib
++        profile_osx.a

+ XCRunSdkPath = \
+   $(shell \
+@@ -103,11 +101,6 @@ ifneq ($(IOS_SDK),)
+ RuntimeLibrary.darwin.Configs += cc_kext_ios5.a
+ endif

+-ifneq ($(IOSSIM_SDK),)
+-RuntimeLibrary.darwin.Configs += asan_iossim_dynamic.dylib \
+-                                 ubsan_iossim_dynamic.dylib
+-endif
+-
+ RuntimeLibrary.macho_embedded.Configs := \
+         hard_static.a hard_pic.a
+ ifneq (,$(findstring ARM,$(TARGETS_TO_BUILD)))
+--- a/projects/compiler-rt/cmake/config-ix.cmake        2015-11-29 22:17:04.000000000 -0800
++++ b/projects/compiler-rt/cmake/config-ix.cmake        2015-11-29 22:19:16.000000000 -0800
+@@ -313,9 +313,6 @@ if(APPLE)
+     else()
+       set(SANITIZER_MIN_OSX_VERSION 10.9)
+     endif()
+-    if(SANITIZER_MIN_OSX_VERSION VERSION_LESS &quot;10.7&quot;)
+-      message(FATAL_ERROR &quot;Too old OS X version: ${SANITIZER_MIN_OSX_VERSION}&quot;)
+-    endif()
+   endif()

+   # We're setting the flag manually for each target OS
</ins></span></pre></div>
<a id="trunkdportslangllvm39filesleopardnoblockspatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/leopard-no-blocks.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/leopard-no-blocks.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/leopard-no-blocks.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+From 2500edffc9f1f44983927351eb60d4fe1cee4bcd Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+Date: Wed, 7 Jan 2015 03:42:15 -0800
+Subject: [PATCH] Leopard: Default to -fno-blocks
+
+Signed-off-by: Jeremy Huddleston Sequoia &lt;jeremyhu@apple.com&gt;
+---
+ lib/Driver/ToolChains.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h
+index 876bb01..27aa2ee 100644
+--- a/tools/clang/lib/Driver/ToolChains.h
++++ b/tools/clang/lib/Driver/ToolChains.h
+@@ -257,7 +257,7 @@ public:
+   bool IsBlocksDefault() const override {
+     // Always allow blocks on Apple; users interested in versioning are
+     // expected to use /usr/include/Block.h.
+-    return true;
++    return false;
+   }
+   bool IsIntegratedAssemblerDefault() const override {
+     // Default integrated assembler to on for Apple's MachO targets.
+-- 
+2.2.1
+
</ins></span></pre></div>
<a id="trunkdportslangllvm39filesllvmbin"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/llvm-bin (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/llvm-bin                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/llvm-bin        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,2 @@
</span><ins>+#!/bin/sh
+exec EXEC_PATH &quot;${@}&quot;
</ins><span class="cx">Property changes on: trunk/dports/lang/llvm-3.9/files/llvm-bin
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkdportslangllvm39filesllvmskipunittestspatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/llvm-skip-unittests.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/llvm-skip-unittests.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/llvm-skip-unittests.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+diff --git a/unittests/Makefile.unittest b/unittests/Makefile.unittest
+index bd32aed..993b69a 100644
+--- a/unittests/Makefile.unittest
++++ b/unittests/Makefile.unittest
+@@ -54,7 +54,7 @@ $(LLVMUnitTestExe): $(ObjectsO) $(ProjLibsPaths) $(LLVMLibsPaths)
+         $(Echo) ======= Finished Linking $(BuildMode) Unit test $(TESTNAME) \
+           $(StripWarnMsg)

+-all:: $(LLVMUnitTestExe)
++all::

+ unitcheck:: $(LLVMUnitTestExe)
+         $(Run.Shared) $(LLVMUnitTestExe)
</ins></span></pre></div>
<a id="trunkdportslangllvm39filesmpclang39"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/mp-clang-3.9 (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/mp-clang-3.9                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/mp-clang-3.9        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,7 @@
</span><ins>+-
+bin/clang++-mp-3.9
+bin/clang-mp-3.9
+bin/clang-format-mp-3.9
+bin/clang-modernize-mp-3.9
+bin/scan-build-mp-3.9
+bin/scan-view-mp-3.9
</ins></span></pre></div>
<a id="trunkdportslangllvm39filesmpllvm39"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/mp-llvm-3.9 (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/mp-llvm-3.9                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/mp-llvm-3.9        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+bin/bugpoint-mp-3.9
+bin/llc-mp-3.9
+bin/lli-mp-3.9
+bin/llvm-ar-mp-3.9
+bin/llvm-as-mp-3.9
+bin/llvm-bcanalyzer-mp-3.9
+bin/llvm-config-mp-3.9
+bin/llvm-cov-mp-3.9
+bin/llvm-diff-mp-3.9
+bin/llvm-dis-mp-3.9
+bin/llvm-dwarfdump-mp-3.9
+bin/llvm-extract-mp-3.9
+-
+bin/llvm-link-mp-3.9
+bin/llvm-mc-mp-3.9
+bin/llvm-mcmarkup-mp-3.9
+bin/llvm-nm-mp-3.9
+bin/llvm-objdump-mp-3.9
+-
+bin/llvm-ranlib-mp-3.9
+bin/llvm-rtdyld-mp-3.9
+bin/llvm-size-mp-3.9
+-
+bin/llvm-stress-mp-3.9
+bin/llvm-symbolizer-mp-3.9
+bin/llvm-tblgen-mp-3.9
+-
+bin/macho-dump-mp-3.9
+bin/opt-mp-3.9
+bin/llvm-tblgen-mp-3.9
</ins></span></pre></div>
<a id="trunkdportslangllvm39filesopenmplocationspatch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/llvm-3.9/files/openmp-locations.patch (0 => 144736)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/lang/llvm-3.9/files/openmp-locations.patch                                (rev 0)
+++ trunk/dports/lang/llvm-3.9/files/openmp-locations.patch        2016-01-16 21:29:04 UTC (rev 144736)
</span><span class="lines">@@ -0,0 +1,53 @@
</span><ins>+--- orig/tools/clang/lib/Driver/Tools.cpp        2015-09-03 11:39:15.000000000 -0500
++++ fixed/tools/clang/lib/Driver/Tools.cpp        2015-09-03 11:44:09.000000000 -0500
+@@ -2534,12 +2534,18 @@

+   switch (getOpenMPRuntime(getToolChain(), Args)) {
+   case OMPRT_OMP:
++    // Automatically find MacPorts' libomp
++    CmdArgs.push_back(&quot;-L@@PREFIX@@/lib/libomp&quot;);
+     CmdArgs.push_back(&quot;-lomp&quot;);
+     break;
+   case OMPRT_GOMP:
++    // Automatically find MacPorts' libgomp (libomp)
++    CmdArgs.push_back(&quot;-L@@PREFIX@@/lib/libomp&quot;);
+     CmdArgs.push_back(&quot;-lgomp&quot;);
+     break;
+   case OMPRT_IOMP5:
++    // Automatically find MacPorts' libiomp5 (libomp)
++    CmdArgs.push_back(&quot;-L@@PREFIX@@/lib/libomp&quot;);
+     CmdArgs.push_back(&quot;-liomp5&quot;);
+     break;
+   case OMPRT_Unknown:
+@@ -4285,6 +4291,8 @@
+     case OMPRT_OMP:
+     case OMPRT_IOMP5:
+       // Clang can generate useful OpenMP code for these two runtime libraries.
++      // Automatically find MacPorts' omp.h
++      CmdArgs.push_back(&quot;-I@@PREFIX@@/include/libomp&quot;);
+       CmdArgs.push_back(&quot;-fopenmp&quot;);

+       // If no option regarding the use of TLS in OpenMP codegeneration is
+@@ -8527,9 +8535,13 @@
+         // Also link the particular OpenMP runtimes.
+         switch (getOpenMPRuntime(ToolChain, Args)) {
+         case OMPRT_OMP:
++          // Automatically find MacPorts' libomp
++          CmdArgs.push_back(&quot;-L@@PREFIX@@/lib/libomp&quot;);
+           CmdArgs.push_back(&quot;-lomp&quot;);
+           break;
+         case OMPRT_GOMP:
++          // Automatically find MacPorts' libgomp (libomp)
++          CmdArgs.push_back(&quot;-L@@PREFIX@@/lib/libomp&quot;);
+           CmdArgs.push_back(&quot;-lgomp&quot;);

+           // FIXME: Exclude this for platforms with libgomp that don't require
+@@ -8537,6 +8549,8 @@
+           CmdArgs.push_back(&quot;-lrt&quot;);
+           break;
+         case OMPRT_IOMP5:
++          // Automatically find MacPorts' libiomp5 (libomp)
++          CmdArgs.push_back(&quot;-L@@PREFIX@@/lib/libomp&quot;);
+           CmdArgs.push_back(&quot;-liomp5&quot;);
+           break;
+         case OMPRT_Unknown:
</ins></span></pre>
</div>
</div>

</body>
</html>