From: Jonathan Wakely Date: Thu, 28 Jul 2016 21:00:39 +0000 (+0100) Subject: Fix std::vector test to pass in C++98 mode X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e539b4ff2f617d7dba7b292c3b720eb0b622a4e6;p=gcc.git 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 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 3afe2bf2555..bc52008f53a 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 b92a1521aa2..ddf0f9aa05b 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);