libc++: implement uses-allocator construction
Howard Hinnant
howard.hinnant at gmail.com
Wed Sep 11 18:52:39 PDT 2013
On Sep 10, 2013, at 11:19 AM, Marshall Clow <mclow.lists at gmail.com> wrote:
> Split out from <dynarray>.
> Section 20.8.7.2 (at least in N3691)
>
> Howard wrote:
>
>> However when I just now tried to do so, I created circular header dependencies. After investigating further, adding <new> to <__functional_base> isn't so bad. Everything <new> includes is already included by <__functional_base>. So <__functional_base> only swells by the immediate contents of <new> which is pretty small.
>>
>> In summary, my suggestion is:
>>
>> * Add #include <new> to <__functional_base>
>>
>> * Move allocator_arg_t, __uses_alloc_ctor, __user_alloc_construct to <__functional_base>.
>
> and then:
>
>> __user_alloc_construct and __user_alloc_construct_impl needs decoration with inline _LIBCPP_INLINE_VISIBILITY.
>>
>> Case 0 of __user_alloc_construct_impl, remove unused argument name "__a".
>
> Did all that :-)
>
> -- Marshall
>
> Marshall Clow Idio Software <mailto:mclow.lists at gmail.com>
>
> A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait).
> -- Yu Suzuki
>
> <uses-alloc.patch>
Very nice job on a very low level refactoring. I can't find anything to complain about.
Please commit, and thanks!
Howard
More information about the cfe-commits
mailing list