From e539b4ff2f617d7dba7b292c3b720eb0b622a4e6 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Thu, 28 Jul 2016 22:00:39 +0100 Subject: [PATCH] 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 --- libstdc++-v3/ChangeLog | 3 +++ .../testsuite/23_containers/vector/check_construct_destroy.cc | 7 +++++-- 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 + * 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); -- 2.7.4