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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a9f5055e99aa0e412b3d4c197d323dad800628f6">https://github.com/macports/macports-ports/commit/a9f5055e99aa0e412b3d4c197d323dad800628f6</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new a9f5055  libcxx: Bump to 4.0.1
</span>a9f5055 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit a9f5055e99aa0e412b3d4c197d323dad800628f6
</span>Author: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
AuthorDate: Thu Dec 28 22:35:59 2017 -0800

<span style='display:block; white-space:pre;color:#404040;'>    libcxx: Bump to 4.0.1
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
</span>---
 lang/libcxx/Portfile                               |  15 +-
 ...ndancy-on-__refstring-header-use-local-co.patch | 216 ++++++++++-----------
 ...dit-script-to-read-EXTRA_LDFLAGS-from-the.patch |   9 +-
 ...CPP_BUILDING_LIBRARY-during-build-to-supp.patch |   8 +-
 ...Use-undefined-dynamic_lookup-when-linking.patch |   8 +-
 .../files/3001-buildit-build-fix-for-Leopard.patch |  10 +-
 ...-compatibility-version-to-RC_ProjectSourc.patch |  10 +-
 ...nd-iterator-when-building-with-Lion-and-n.patch |  22 +--
 ...-long-long-math-prototypes-when-using-the.patch |  11 +-
 ...tomic-using-mutex-lock_guard-for-64b-ops-.patch |  16 +-
 ...e-LIBCXXABI_PATH-for-path-to-build-time-l.patch |  11 +-
 11 files changed, 161 insertions(+), 175 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/Portfile b/lang/libcxx/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f8be85c..2e2f225 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,8 +3,7 @@ PortGroup               compiler_blacklist_versions 1.0
</span> 
 name                    libcxx
 epoch                   1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version                 3.9.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version                 4.0.1
</span> categories              lang
 platforms               darwin
 license                 MIT NCSA
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -30,12 +29,12 @@ set libcxx_distname     libcxx-${version}.src
</span> distfiles               ${libcxxabi_distname}${extract.suffix} \
                         ${libcxx_distname}${extract.suffix}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums               libcxx-3.9.1.src.tar.xz \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        rmd160  43bcf879f60763425f5d296f4fa5ac0b9a0779f6 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  25e615e428f60e651ed09ffd79e563864e3f4bc69a9e93ee41505c419d1a7461 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        libcxxabi-3.9.1.src.tar.xz \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        rmd160  fe3ed237640b0c1a8f8ce3b2654f78005308f1cd \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        sha256  920d8be32e6f5574a3fb293f93a31225eeba15086820fcb942155bf50dc029e2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums               libcxxabi-4.0.1.src.tar.xz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        rmd160  b09efc5d3f62187874b3240930dd8ef2147f2ab4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  8f08178989a06c66cd19e771ff9d8ca526dd4a23d1382d63e416c04ea9fa1b33 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        libcxx-4.0.1.src.tar.xz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        rmd160  0f97ba9597a0b93c545fa06ac45ae5106440ab8e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  520a1171f272c9ff82f324d5d89accadcec9bc9f3c78de11f5575cdb99accc4c
</span> 
 variant universal {}
 default_variants +universal
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/0001-Remove-dependancy-on-__refstring-header-use-local-co.patch b/lang/libcxx/files/0001-Remove-dependancy-on-__refstring-header-use-local-co.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 1d9fe7a..6cddb7f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/files/0001-Remove-dependancy-on-__refstring-header-use-local-co.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/0001-Remove-dependancy-on-__refstring-header-use-local-co.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 831c908f3f32c13bc3a099f0a4e1e81e75f423ed Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 7970dd986da35a01fec374633429e055034e1020 Mon Sep 17 00:00:00 2001
</span> From: Eric Fiselier <eric@efcs.ca>
 Date: Wed, 12 Jul 2017 01:34:21 +0000
 Subject: [PATCH 1/4] Remove dependancy on __refstring header; use local copy
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -17,17 +17,17 @@ a separate discussion I plan to start on the mailing lists shortly.
</span> git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@307748 91177308-0d34-0410-b5e6-96231b3b80d8
 (cherry picked from commit 28942d3ba886b4f215ac6ddaa05c55d35d927621)
 ---
<span style='display:block; white-space:pre;background:#ffe0e0;'>- src/include/refstring.h | 143 ++++++++++++++++++++++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- src/stdexcept.cpp       |   2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 144 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/include/refstring.h  | 131 +++++++++++++++++++++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/stdlib_stdexcept.cpp |   2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 132 insertions(+), 1 deletion(-)
</span>  create mode 100644 src/include/refstring.h
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcxxabi-3.9.1.src/src/include/refstring.h libcxxabi-3.9.1.src/src/include/refstring.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxxabi-4.0.1.src/src/include/refstring.h libcxxabi-4.0.1.src/src/include/refstring.h
</span> new file mode 100644
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0000000..390e664
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0000000..bc131ae
</span> --- /dev/null
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcxxabi-3.9.1.src/src/include/refstring.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,143 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxxabi-4.0.1.src/src/include/refstring.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,131 @@
</span> +//===------------------------ __refstring ---------------------------------===//
 +//
 +//                     The LLVM Compiler Infrastructure
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,10 +41,11 @@ index 0000000..390e664
</span> +// duplicating the file in libc++abi we should require that the libc++ sources
 +// are available when building libc++abi.
 +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef _LIBCPP___REFSTRING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define _LIBCPP___REFSTRING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef _LIBCPPABI_REFSTRING_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define _LIBCPPABI_REFSTRING_H
</span> +
 +#include <__config>
<span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <stdexcept>
</span> +#include <cstddef>
 +#include <cstring>
 +#ifdef __APPLE__
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -54,127 +55,114 @@ index 0000000..390e664
</span> +
 +_LIBCPP_BEGIN_NAMESPACE_STD
 +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+class _LIBCPP_HIDDEN __libcpp_refstring
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+private:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const char* str_;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++namespace __refstring_imp { namespace {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++typedef int count_t;
</span> +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+    typedef int count_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++struct _Rep_base {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    std::size_t len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    std::size_t cap;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    count_t     count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++};
</span> +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+    struct _Rep_base
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        std::size_t len;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        std::size_t cap;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        count_t     count;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    _Rep_base*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    rep_from_data(const char *data_) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        char *data = const_cast<char *>(data_);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return reinterpret_cast<_Rep_base *>(data - sizeof(_Rep_base));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    char *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    data_from_rep(_Rep_base *rep) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        char *data = reinterpret_cast<char *>(rep);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return data + sizeof(*rep);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++inline _Rep_base* rep_from_data(const char *data_) noexcept {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    char *data = const_cast<char *>(data_);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return reinterpret_cast<_Rep_base *>(data - sizeof(_Rep_base));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span> +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const char*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    compute_gcc_empty_string_storage() _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        void* handle = dlopen("/usr/lib/libstdc++.6.dylib", RTLD_NOLOAD);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (handle == nullptr)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            return nullptr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        void* sym = dlsym(handle, "_ZNSs4_Rep20_S_empty_rep_storageE");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (sym == nullptr)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            return nullptr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return data_from_rep(reinterpret_cast<_Rep_base *>(sym));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    static
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const char*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    get_gcc_empty_string_storage() _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        static const char* p = compute_gcc_empty_string_storage();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return p;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++inline char * data_from_rep(_Rep_base *rep) noexcept {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    char *data = reinterpret_cast<char *>(rep);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return data + sizeof(*rep);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span> +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    uses_refcount() const
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return str_ != get_gcc_empty_string_storage();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    uses_refcount() const
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__APPLE__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++const char* compute_gcc_empty_string_storage() _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    void* handle = dlopen("/usr/lib/libstdc++.6.dylib", RTLD_NOLOAD);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (handle == nullptr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return nullptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    void* sym = dlsym(handle, "_ZNSs4_Rep20_S_empty_rep_storageE");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (sym == nullptr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        return nullptr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return data_from_rep(reinterpret_cast<_Rep_base *>(sym));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++const char*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++get_gcc_empty_string_storage() _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    static const char* p = compute_gcc_empty_string_storage();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return p;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span> +#endif
 +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+public:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    explicit __libcpp_refstring(const char* msg) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        std::size_t len = strlen(msg);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        _Rep_base* rep = static_cast<_Rep_base *>(::operator new(sizeof(*rep) + len + 1));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        rep->len = len;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        rep->cap = len;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        rep->count = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        char *data = data_from_rep(rep);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        std::memcpy(data, msg, len + 1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        str_ = data;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    __libcpp_refstring(const __libcpp_refstring& s) _NOEXCEPT : str_(s.str_)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (uses_refcount())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            __sync_add_and_fetch(&rep_from_data(str_)->count, 1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    __libcpp_refstring& operator=(const __libcpp_refstring& s) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}} // namespace __refstring_imp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++using namespace __refstring_imp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__libcpp_refstring::__libcpp_refstring(const char* msg) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    std::size_t len = strlen(msg);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    _Rep_base* rep = static_cast<_Rep_base *>(::operator new(sizeof(*rep) + len + 1));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    rep->len = len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    rep->cap = len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    rep->count = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    char *data = data_from_rep(rep);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    std::memcpy(data, msg, len + 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    __imp_ = data;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__libcpp_refstring::__libcpp_refstring(const __libcpp_refstring &s) _NOEXCEPT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    : __imp_(s.__imp_)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (__uses_refcount())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        __sync_add_and_fetch(&rep_from_data(__imp_)->count, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__libcpp_refstring& __libcpp_refstring::operator=(__libcpp_refstring const& s) _NOEXCEPT {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    bool adjust_old_count = __uses_refcount();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    struct _Rep_base *old_rep = rep_from_data(__imp_);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    __imp_ = s.__imp_;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (__uses_refcount())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        __sync_add_and_fetch(&rep_from_data(__imp_)->count, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (adjust_old_count)
</span> +    {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+        bool adjust_old_count = uses_refcount();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        struct _Rep_base *old_rep = rep_from_data(str_);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        str_ = s.str_;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (uses_refcount())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            __sync_add_and_fetch(&rep_from_data(str_)->count, 1);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (adjust_old_count)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (__sync_add_and_fetch(&old_rep->count, count_t(-1)) < 0)
</span> +        {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+            if (__sync_add_and_fetch(&old_rep->count, count_t(-1)) < 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                ::operator delete(old_rep);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            ::operator delete(old_rep);
</span> +        }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+        return *this;
</span> +    }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    ~__libcpp_refstring()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (uses_refcount())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            _Rep_base* rep = rep_from_data(str_);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            if (__sync_add_and_fetch(&rep->count, count_t(-1)) < 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                ::operator delete(rep);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return *this;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++__libcpp_refstring::~__libcpp_refstring() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (__uses_refcount()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        _Rep_base* rep = rep_from_data(__imp_);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (__sync_add_and_fetch(&rep->count, count_t(-1)) < 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            ::operator delete(rep);
</span> +        }
 +    }
<span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span> +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const char* c_str() const _NOEXCEPT {return str_;}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++bool __libcpp_refstring::__uses_refcount() const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return __imp_ != get_gcc_empty_string_storage();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span> +
 +_LIBCPP_END_NAMESPACE_STD
 +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif //_LIBCPP___REFSTRING
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcxxabi-3.9.1.src/src/stdexcept.cpp libcxxabi-3.9.1.src/src/stdexcept.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif //_LIBCPPABI_REFSTRING_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxxabi-4.0.1.src/src/stdlib_stdexcept.cpp libcxxabi-4.0.1.src/src/stdlib_stdexcept.cpp
</span> index bd6789e..e3b7cd4 100644
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcxxabi-3.9.1.src/src/stdexcept.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcxxabi-3.9.1.src/src/stdexcept.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxxabi-4.0.1.src/src/stdlib_stdexcept.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxxabi-4.0.1.src/src/stdlib_stdexcept.cpp
</span> @@ -7,7 +7,7 @@
  //
  //===----------------------------------------------------------------------===//
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/0002-Update-buildit-script-to-read-EXTRA_LDFLAGS-from-the.patch b/lang/libcxx/files/0002-Update-buildit-script-to-read-EXTRA_LDFLAGS-from-the.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index a6efec6..98a6b42 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/files/0002-Update-buildit-script-to-read-EXTRA_LDFLAGS-from-the.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/0002-Update-buildit-script-to-read-EXTRA_LDFLAGS-from-the.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,19 +1,18 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 1b9006a32bb2bd9428f54253636db5266e928f80 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From afd19814b0dd1cb0c8290eecd1011c193080291c Mon Sep 17 00:00:00 2001
</span> From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 Date: Sun, 11 Jan 2015 14:31:06 -0800
 Subject: [PATCH 2/4] Update buildit script to read EXTRA_LDFLAGS from the
  environment
 
 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 327c4e313aa524e95707b04cf6059d30dc797ba2)
</span> ---
  lib/buildit | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcxxabi-3.9.1.src/lib/buildit libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxxabi-4.0.1.src/lib/buildit libcxxabi-4.0.1.src/lib/buildit
</span> index 5a4a710..f63acd0 100755
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxxabi-4.0.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxxabi-4.0.1.src/lib/buildit
</span> @@ -91,7 +91,7 @@ case $TRIPLE in
    done
    ;;
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/0003-Define-_LIBCPP_BUILDING_LIBRARY-during-build-to-supp.patch b/lang/libcxx/files/0003-Define-_LIBCPP_BUILDING_LIBRARY-during-build-to-supp.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 5c1d6a5..6cf22a8 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/files/0003-Define-_LIBCPP_BUILDING_LIBRARY-during-build-to-supp.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/0003-Define-_LIBCPP_BUILDING_LIBRARY-during-build-to-supp.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From eb79342cc9e42a13817dd9b6054fb53b8669a6e5 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 029dba3ea2f323ac43785478d5f441fb51842e39 Mon Sep 17 00:00:00 2001
</span> From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 Date: Thu, 28 Dec 2017 10:20:30 -0800
 Subject: [PATCH 3/4] Define _LIBCPP_BUILDING_LIBRARY during build to support
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,10 +9,10 @@ Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span>  lib/buildit | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcxxabi-3.9.1.src/lib/buildit libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxxabi-4.0.1.src/lib/buildit libcxxabi-4.0.1.src/lib/buildit
</span> index f63acd0..508a805 100755
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxxabi-4.0.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxxabi-4.0.1.src/lib/buildit
</span> @@ -32,7 +32,7 @@ EXTRA_FLAGS="-std=c++11 -stdlib=libc++ -fstrict-aliasing -Wstrict-aliasing=2 \
               -Wmissing-field-initializers -Wchar-subscripts -Wmismatched-tags \
               -Wmissing-braces -Wshorten-64-to-32 -Wsign-compare \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/0004-buildit-Use-undefined-dynamic_lookup-when-linking.patch b/lang/libcxx/files/0004-buildit-Use-undefined-dynamic_lookup-when-linking.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 5dff041..cfd84e2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/files/0004-buildit-Use-undefined-dynamic_lookup-when-linking.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/0004-buildit-Use-undefined-dynamic_lookup-when-linking.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 6948ad9d37b72c747f6fffb9e7fa7776fa113c71 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From b855ab65f0e942af82759d4bfa166b7db24ae7cf Mon Sep 17 00:00:00 2001
</span> From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 Date: Thu, 28 Dec 2017 21:14:54 -0800
 Subject: [PATCH 4/4] buildit: Use -undefined dynamic_lookup when linking
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11,10 +11,10 @@ Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span>  lib/buildit | 1 +
  1 file changed, 1 insertion(+)
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcxxabi-3.9.1.src/lib/buildit libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxxabi-4.0.1.src/lib/buildit libcxxabi-4.0.1.src/lib/buildit
</span> index 508a805..d03e0e6 100755
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcxxabi-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxxabi-4.0.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxxabi-4.0.1.src/lib/buildit
</span> @@ -52,6 +52,7 @@ case $TRIPLE in
          -current_version ${RC_ProjectSourceVersion} \
          -compatibility_version 1 \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/3001-buildit-build-fix-for-Leopard.patch b/lang/libcxx/files/3001-buildit-build-fix-for-Leopard.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 44b9842..ae49261 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/files/3001-buildit-build-fix-for-Leopard.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/3001-buildit-build-fix-for-Leopard.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From d0d5d0265097c7ad2b30f67e94dfabee19b5ea76 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 9669f74e545ff4cc6b8a515f9690cb151b734101 Mon Sep 17 00:00:00 2001
</span> From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 Date: Fri, 16 Jan 2015 21:10:35 -0800
 Subject: [PATCH 3001/3006] buildit build fix for Leopard
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8,10 +8,10 @@ Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span>  lib/buildit | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcxx-3.9.1.src/lib/buildit libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 6451a9bfa..237e5a7fc 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-4.0.1.src/lib/buildit libcxx-4.0.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6c28f7525..50452ef13 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxx-4.0.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-4.0.1.src/lib/buildit
</span> @@ -50,7 +50,7 @@ case $TRIPLE in
        RC_CFLAGS="-arch i386 -arch x86_64"
      fi
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/3002-buildit-Set-compatibility-version-to-RC_ProjectSourc.patch b/lang/libcxx/files/3002-buildit-Set-compatibility-version-to-RC_ProjectSourc.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 4c650ac..826095c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/files/3002-buildit-Set-compatibility-version-to-RC_ProjectSourc.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/3002-buildit-Set-compatibility-version-to-RC_ProjectSourc.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From f8bdf2f105db08162f868f898d9653eddbd39bf3 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From fb96b42906511e4afa3c1bcf4f4be47e87831137 Mon Sep 17 00:00:00 2001
</span> From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 Date: Fri, 16 Jan 2015 21:11:37 -0800
 Subject: [PATCH 3002/3006] buildit: Set compatibility version to
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,10 +9,10 @@ Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span>  lib/buildit | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcxx-3.9.1.src/lib/buildit libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 237e5a7fc..d313efe1f 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-4.0.1.src/lib/buildit libcxx-4.0.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 50452ef13..112c19806 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxx-4.0.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-4.0.1.src/lib/buildit
</span> @@ -54,7 +54,8 @@ case $TRIPLE in
      then
          EXTRA_FLAGS="-nostdinc++ -std=c++11 -U__STRICT_ANSI__"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/3003-Fix-local-and-iterator-when-building-with-Lion-and-n.patch b/lang/libcxx/files/3003-Fix-local-and-iterator-when-building-with-Lion-and-n.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 0da5702..ea9616c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/files/3003-Fix-local-and-iterator-when-building-with-Lion-and-n.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/3003-Fix-local-and-iterator-when-building-with-Lion-and-n.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 64d28394b6138803b1863178184a8863ddf9b1e0 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From a8931753ef94e9769e9c39467d95fddd8723c8b5 Mon Sep 17 00:00:00 2001
</span> From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 Date: Fri, 16 Jan 2015 21:34:36 -0800
 Subject: [PATCH 3003/3006] Fix <local> and <iterator> when building with Lion
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,11 +10,11 @@ Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span>  include/locale   | 4 ++--
  2 files changed, 4 insertions(+), 4 deletions(-)
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcxx-3.9.1.src/include/iterator libcxx-3.9.1.src/include/iterator
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0caabbb2e..72fdfac0f 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcxx-3.9.1.src/include/iterator
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcxx-3.9.1.src/include/iterator
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1005,8 +1005,8 @@ public:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-4.0.1.src/include/iterator libcxx-4.0.1.src/include/iterator
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b8f657085..b6694a812 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxx-4.0.1.src/include/iterator
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-4.0.1.src/include/iterator
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1023,8 +1023,8 @@ public:
</span>      _LIBCPP_INLINE_VISIBILITY bool failed() const _NOEXCEPT {return __sbuf_ == 0;}
  
  #if !defined(__APPLE__) || \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -25,11 +25,11 @@ index 0caabbb2e..72fdfac0f 100644
</span>  
      template <class _Ch, class _Tr>
      friend
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcxx-3.9.1.src/include/locale libcxx-3.9.1.src/include/locale
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3d804e86f..a7bb0a577 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcxx-3.9.1.src/include/locale
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcxx-3.9.1.src/include/locale
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1316,8 +1316,8 @@ __pad_and_output(_OutputIterator __s,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-4.0.1.src/include/locale libcxx-4.0.1.src/include/locale
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9cef42968..51ad283e5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxx-4.0.1.src/include/locale
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-4.0.1.src/include/locale
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1317,8 +1317,8 @@ __pad_and_output(_OutputIterator __s,
</span>  }
  
  #if !defined(__APPLE__) || \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/3004-Fix-missing-long-long-math-prototypes-when-using-the.patch b/lang/libcxx/files/3004-Fix-missing-long-long-math-prototypes-when-using-the.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index c7dc6ba..75cc1b5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/files/3004-Fix-missing-long-long-math-prototypes-when-using-the.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/3004-Fix-missing-long-long-math-prototypes-when-using-the.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,19 +1,18 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 0623b92d7c83e0950aa84c6ff655047ff900a414 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From c2997bc2452e0125194a4e4302bbf3120dc60099 Mon Sep 17 00:00:00 2001
</span> From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 Date: Sat, 17 Jan 2015 16:26:20 -0800
 Subject: [PATCH 3004/3006] Fix missing long long math prototypes when using
  the Snow Leopard SDK
 
 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-(cherry picked from commit 720feba4874d4ca3131753dc31af127e3c509c36)
</span> ---
  include/math.h | 26 ++++++++++++++++++++++++++
  1 file changed, 26 insertions(+)
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcxx-3.9.1.src/include/math.h libcxx-3.9.1.src/include/math.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 20205544d..909559462 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcxx-3.9.1.src/include/math.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcxx-3.9.1.src/include/math.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-4.0.1.src/include/math.h libcxx-4.0.1.src/include/math.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fb0b60830..afbe2cf52 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxx-4.0.1.src/include/math.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-4.0.1.src/include/math.h
</span> @@ -300,6 +300,32 @@ long double    truncl(long double x);
  
  #include_next <math.h>
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/3005-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch b/lang/libcxx/files/3005-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index ce95d47..7be59b2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/files/3005-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/3005-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From eb55733b721b593ab1320db536c20e52e01257e4 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From f38b021083f4eea490a50b3fe8039e313be40eb8 Mon Sep 17 00:00:00 2001
</span> From: David Fang <fang@csl.cornell.edu>
 Date: Wed, 15 Jan 2014 21:27:34 -0800
 Subject: [PATCH 3005/3006] implement atomic<> using mutex/lock_guard for 64b
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,11 +10,11 @@ Subject: [PATCH 3005/3006] implement atomic<> using mutex/lock_guard for 64b
</span>  2 files changed, 286 insertions(+)
  create mode 100644 include/__atomic_locked
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcxx-3.9.1.src/include/__atomic_locked libcxx-3.9.1.src/include/__atomic_locked
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-4.0.1.src/include/__atomic_locked libcxx-4.0.1.src/include/__atomic_locked
</span> new file mode 100644
 index 000000000..f10dd747e
 --- /dev/null
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcxx-3.9.1.src/include/__atomic_locked
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-4.0.1.src/include/__atomic_locked
</span> @@ -0,0 +1,240 @@
 +// -*- C++ -*-
 +//===--------------------------- __atomic_locked --------------------------===//
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -256,11 +256,11 @@ index 000000000..f10dd747e
</span> +_LIBCPP_END_NAMESPACE_STD
 +
 +#endif  // _LIBCPP_ATOMIC_LOCKED
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcxx-3.9.1.src/include/atomic libcxx-3.9.1.src/include/atomic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 11f2152e5..2df36ddc6 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcxx-3.9.1.src/include/atomic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcxx-3.9.1.src/include/atomic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1841,4 +1841,50 @@ typedef atomic<uintmax_t> atomic_uintmax_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-4.0.1.src/include/atomic libcxx-4.0.1.src/include/atomic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 83889fb47..199789cea 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxx-4.0.1.src/include/atomic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-4.0.1.src/include/atomic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1840,4 +1840,50 @@ typedef atomic<uintmax_t> atomic_uintmax_t;
</span>  
  _LIBCPP_END_NAMESPACE_STD
  
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/libcxx/files/3006-MacPorts-Use-LIBCXXABI_PATH-for-path-to-build-time-l.patch b/lang/libcxx/files/3006-MacPorts-Use-LIBCXXABI_PATH-for-path-to-build-time-l.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index a06b61d..7aeba79 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/libcxx/files/3006-MacPorts-Use-LIBCXXABI_PATH-for-path-to-build-time-l.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/libcxx/files/3006-MacPorts-Use-LIBCXXABI_PATH-for-path-to-build-time-l.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,18 +1,19 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 0c751aa4c9397dcb5ad54bae04f03dd56f4c2855 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From ba9445e28d914ef76059fd1e8d12c0b6bb4f36e1 Mon Sep 17 00:00:00 2001
</span> From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 Date: Thu, 28 Dec 2017 21:49:22 -0800
 Subject: [PATCH 3006/3006] MacPorts: Use LIBCXXABI_PATH for path to build-time
  libc++abi.dylib
 
 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 0c751aa4c9397dcb5ad54bae04f03dd56f4c2855)
</span> ---
  lib/buildit | 32 +++++++++-----------------------
  1 file changed, 9 insertions(+), 23 deletions(-)
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git libcxx-3.9.1.src/lib/buildit libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d313efe1f..50469fc07 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ libcxx-3.9.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libcxx-4.0.1.src/lib/buildit libcxx-4.0.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 112c19806..d9b27d58e 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libcxx-4.0.1.src/lib/buildit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libcxx-4.0.1.src/lib/buildit
</span> @@ -50,6 +50,12 @@ case $TRIPLE in
        RC_CFLAGS="-arch i386 -arch x86_64"
      fi
</pre><pre style='margin:0'>

</pre>