[libcxx] Use custom allocator's `construct` in C++03 when available.
authorVolodymyr Sapsai <vsapsai@apple.com>
Wed, 19 Dec 2018 20:08:43 +0000 (20:08 +0000)
committerVolodymyr Sapsai <vsapsai@apple.com>
Wed, 19 Dec 2018 20:08:43 +0000 (20:08 +0000)
commite7652f5c0d099403b9f0ff5a93a39b809c20869d
tree33a9d8b604875bd1a067993b029231c655db7da4
parent660860e65977882b964839242528e3d6364d5f49
[libcxx] Use custom allocator's `construct` in C++03 when available.

Makes libc++ behavior consistent between C++03 and C++11.

Can use `decltype` in C++03 because `include/__config` defines a macro when
`decltype` is not available.

Reviewers: mclow.lists, EricWF, erik.pilkington, ldionne

Reviewed By: ldionne

Subscribers: dexonsmith, cfe-commits, howard.hinnant, ldionne, christof, jkorous, Quuxplusone

Differential Revision: https://reviews.llvm.org/D48753

llvm-svn: 349676
libcxx/include/memory
libcxx/test/libcxx/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp [new file with mode: 0644]
libcxx/test/libcxx/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp [new file with mode: 0644]
libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/destroy.pass.cpp
libcxx/test/support/min_allocator.h