summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/containers/sequences/deque
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2016-07-11 21:38:08 +0000
committerMarshall Clow <mclow.lists@gmail.com>2016-07-11 21:38:08 +0000
commitdc3eb83d08d63d41824d87e64c10021faee44c6e (patch)
tree817e696bbdaaadc91e760d0e08b2fd7f8f554ae2 /libcxx/test/std/containers/sequences/deque
parent83a25792c5c2fc658736af63b7fc51172642be01 (diff)
downloadbcm5719-llvm-dc3eb83d08d63d41824d87e64c10021faee44c6e.tar.gz
bcm5719-llvm-dc3eb83d08d63d41824d87e64c10021faee44c6e.zip
Always use the allocator to construct/destruct elements of a deque/vector. Fixes PR#28412. Thanks to Jonathan Wakely for the report.
llvm-svn: 275105
Diffstat (limited to 'libcxx/test/std/containers/sequences/deque')
-rw-r--r--libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp b/libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp
index 4859a371895..784b3a38553 100644
--- a/libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp
+++ b/libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp
@@ -16,6 +16,7 @@
#include "../../../Emplaceable.h"
#include "min_allocator.h"
+#include "test_allocator.h"
#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
@@ -82,6 +83,17 @@ int main()
for (int j = 0; j < N; ++j)
testN<std::deque<Emplaceable, min_allocator<Emplaceable>> >(rng[i], rng[j]);
}
+ {
+ std::deque<Tag_X, TaggingAllocator<Tag_X>> c;
+ c.emplace_back();
+ assert(c.size() == 1);
+ c.emplace_back(1, 2, 3);
+ assert(c.size() == 2);
+ c.emplace_front();
+ assert(c.size() == 3);
+ c.emplace_front(1, 2, 3);
+ assert(c.size() == 4);
+ }
#endif
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
}
OpenPOWER on IntegriCloud