Commit e539b4ff by Jonathan Wakely Committed by Jonathan Wakely

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
parent c3c2f973
2016-07-28 Jonathan Wakely <jwakely@redhat.com> 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 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
dg-options to dg-additional-options so that default options are used. dg-options to dg-additional-options so that default options are used.
* testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc: * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
......
...@@ -44,14 +44,17 @@ int main() ...@@ -44,14 +44,17 @@ int main()
} }
ok = check_construct_destroy("Construct from range", 10, 10) && ok; 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); Container c(arr10, arr10 + 10);
c.reserve(100); c.reserve(100);
tracker_allocator_counter::reset(); tracker_allocator_counter::reset();
c.insert(c.begin(), arr10[0]); 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); Container c(arr10, arr10 + 10);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment