<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:tkoeppe@google.com" title="Thomas Koeppe <tkoeppe@google.com>"> <span class="fn">Thomas Koeppe</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED --- - shared_ptr does not compile with fancy pointer allocators"
   href="http://llvm.org/bugs/show_bug.cgi?id=20616">bug 20616</a>
        <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>RESOLVED
           </td>
           <td>REOPENED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>FIXED
           </td>
           <td>---
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED --- - shared_ptr does not compile with fancy pointer allocators"
   href="http://llvm.org/bugs/show_bug.cgi?id=20616#c23">Comment # 23</a>
              on <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED --- - shared_ptr does not compile with fancy pointer allocators"
   href="http://llvm.org/bugs/show_bug.cgi?id=20616">bug 20616</a>
              from <span class="vcard"><a class="email" href="mailto:tkoeppe@google.com" title="Thomas Koeppe <tkoeppe@google.com>"> <span class="fn">Thomas Koeppe</span></a>
</span></b>
        <pre>I'm afraid I spoke to soon; while constructing a new deque works, the move and
copy assignment operators don't work yet when the allocator has fancy pointers.

I'm getting errors like:

deque:293:11: error: call to constructor of '__map_iterator' (aka 'OffPtr<const
OffPtr<const int> >') is ambiguous
        : __m_iter_(__it.__m_iter_), __ptr_(__it.__ptr_) {}
          ^         ~~~~~~~~~~~~~~
/usr/local/include/c++/v1/deque:1617:24: note: in instantiation of function
template specialization 'std::__1::__deque_iterator<int, OffPtr<const int>,
const int &, OffPtr<const OffPtr<const int> >, long,
      1024>::__deque_iterator<OffPtr<int>, int &, OffPtr<OffPtr<int> > >'
requested here
        __erase_to_end(_VSTD::copy(__f, __l, __base::begin()));
                       ^

In brighter news, though, all other allocator-aware library constructs except
string seem to work (i.e. compile) with stateful, fancy pointer allocators now.
I haven't tried all possible operations yet, but a few common ones, and it's
looking good.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>