This is an archive of the discontinued LLVM Phabricator instance.

[libcxx] Remove the "reduced-arity-initialization" extension from the uses-allocator constructors
ClosedPublic

Authored by EricWF on Apr 11 2016, 9:41 PM.

Details

Summary

A default uses-allocator constructor has been added since that overload was previously provided by the extended constructor.

Since Clang does implicit conversion checking after substitution this constructor has to deduce the allocator_arg_t parameter so that it can prevent the evaluation of "is_default_constructible" if the first argument doesn't match. See http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1391 for more information.

This patch fixes PR24779 (https://llvm.org/bugs/show_bug.cgi?id=24779)

Diff Detail

Event Timeline

EricWF updated this revision to Diff 53365.Apr 11 2016, 9:41 PM
EricWF retitled this revision from to [libcxx] Remove the "reduced-arity-initialization" extension from the uses-allocator constructors.
EricWF updated this object.
EricWF added a subscriber: cfe-commits.
EricWF updated this revision to Diff 53811.Apr 14 2016, 4:48 PM
EricWF updated this revision to Diff 53813.
EricWF updated this object.
EricWF updated this object.Apr 14 2016, 8:30 PM
This revision was automatically updated to reflect the committed changes.