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
This commit is contained in:
Jonathan Wakely 2016-07-28 22:00:39 +01:00 committed by Jonathan Wakely
parent c3c2f97308
commit e539b4ff2f
2 changed files with 8 additions and 2 deletions

View File

@ -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:

View File

@ -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);