aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog3
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/49836.cc15
2 files changed, 15 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 5a94e80..fda3f4f 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,8 @@
2019-02-05 Jonathan Wakely <jwakely@redhat.com>
+ * testsuite/23_containers/vector/modifiers/push_back/49836.cc: Restore
+ use of CopyConsOnlyType, but also test DelAnyAssign for completeness.
+
PR libstdc++/89130
* include/bits/alloc_traits.h (__is_copy_insertable_impl): Rename to
__is_alloc_insertable_impl. Replace single type member with two
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/49836.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/49836.cc
index 1a7d872..3e59781 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/49836.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/49836.cc
@@ -24,11 +24,12 @@
// libstdc++/49836
void test01()
{
- using __gnu_test::assign::DelAnyAssign;
+ using __gnu_test::CopyConsOnlyType;
using __gnu_test::MoveConsOnlyType;
+ using __gnu_test::assign::DelAnyAssign;
- std::vector<DelAnyAssign> v1;
- DelAnyAssign t1;
+ std::vector<CopyConsOnlyType> v1;
+ CopyConsOnlyType t1(1);
v1.push_back(t1);
v1.push_back(t1);
v1.push_back(t1);
@@ -40,6 +41,14 @@ void test01()
v2.push_back(std::move(t2));
v2.push_back(std::move(t2));
VERIFY( v2.size() == 3 );
+
+ std::vector<DelAnyAssign> v3;
+ DelAnyAssign t3;
+ v3.push_back(t3);
+ v3.push_back(t3);
+ v3.push_back(t3);
+ VERIFY( v3.size() == 3 );
+
}
int main()