aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2016-07-28 22:00:39 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2016-07-28 22:00:39 +0100
commite539b4ff2f617d7dba7b292c3b720eb0b622a4e6 (patch)
tree65c936c4dc61603726a538c2ff9008225a86bf35
parentc3c2f9730822a98680084e9f8b85338d3211275b (diff)
downloadgcc-e539b4ff2f617d7dba7b292c3b720eb0b622a4e6.zip
gcc-e539b4ff2f617d7dba7b292c3b720eb0b622a4e6.tar.gz
gcc-e539b4ff2f617d7dba7b292c3b720eb0b622a4e6.tar.bz2
Fix std::vector test to pass in C++98 mode
* testsuite/23_containers/vector/check_construct_destroy.cc: Account for different construct/destroy counts in C++98 mode. From-SVN: r238836
-rw-r--r--libstdc++-v3/ChangeLog3
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc7
2 files changed, 8 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 3afe2bf..bc52008 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,8 @@
2016-07-28 Jonathan Wakely <jwakely@redhat.com>
+ * testsuite/23_containers/vector/check_construct_destroy.cc: Account
+ for different construct/destroy counts in C++98 mode.
+
* testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
dg-options to dg-additional-options so that default options are used.
* testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
diff --git a/libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc b/libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc
index b92a152..ddf0f9a 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc
@@ -44,14 +44,17 @@ int main()
}
ok = check_construct_destroy("Construct from range", 10, 10) && ok;
+ // For C++11 and later the allocator is used to construct/destroy an
+ // additional temporary object during insertion.
+ const int extra = __cplusplus >= 201102L ? 1 : 0;
{
Container c(arr10, arr10 + 10);
c.reserve(100);
tracker_allocator_counter::reset();
c.insert(c.begin(), arr10[0]);
- ok = check_construct_destroy("Insert element", 2, 1) && ok;
+ ok = check_construct_destroy("Insert element", 1+extra, 0+extra) && ok;
}
- ok = check_construct_destroy("Insert element", 2, 12) && ok;
+ ok = check_construct_destroy("Insert element", 1+extra, 11+extra) && ok;
{
Container c(arr10, arr10 + 10);