int main(int, char**)
{
- {
+ globalMemCounter.reset();
+ {
std::allocator<A> a;
assert(globalMemCounter.checkOutstandingNewEq(0));
assert(A_constructed == 0);
DoNotOptimize(ap);
assert(globalMemCounter.checkOutstandingNewEq(0));
assert(A_constructed == 0);
- }
+ }
#if TEST_STD_VER >= 11
{
std::allocator<move_only> a;
int main(int, char**)
{
- {
- bare_allocator<DummyClass> bare_alloc;
- test_for_alloc(bare_alloc);
- }
+ globalMemCounter.reset();
+ {
+ bare_allocator<DummyClass> bare_alloc;
+ test_for_alloc(bare_alloc);
+ }
{
non_default_test_allocator<DummyClass> non_default_alloc(42);
test_for_alloc(non_default_alloc);
int main(int, char**)
{
- assert(globalMemCounter.checkOutstandingNewEq(0));
- {
- std::function<int(int)> f = A();
- assert(A::count == 1);
- assert(globalMemCounter.checkOutstandingNewEq(1));
- assert(f.target<A>());
- assert(f.target<int(*)(int)>() == 0);
- std::function<int(int)> f2(std::allocator_arg, bare_allocator<A>(), std::move(f));
- assert(A::count == 1);
- assert(globalMemCounter.checkOutstandingNewEq(1));
- assert(f2.target<A>());
- assert(f2.target<int(*)(int)>() == 0);
- assert(f.target<A>() == 0);
- assert(f.target<int(*)(int)>() == 0);
- }
+ globalMemCounter.reset();
+ assert(globalMemCounter.checkOutstandingNewEq(0));
+ {
+ std::function<int(int)> f = A();
+ assert(A::count == 1);
+ assert(globalMemCounter.checkOutstandingNewEq(1));
+ assert(f.target<A>());
+ assert(f.target<int (*)(int)>() == 0);
+ std::function<int(int)> f2(std::allocator_arg, bare_allocator<A>(),
+ std::move(f));
+ assert(A::count == 1);
+ assert(globalMemCounter.checkOutstandingNewEq(1));
+ assert(f2.target<A>());
+ assert(f2.target<int (*)(int)>() == 0);
+ assert(f.target<A>() == 0);
+ assert(f.target<int (*)(int)>() == 0);
+ }
assert(globalMemCounter.checkOutstandingNewEq(0));
{
// Test that moving a function constructed from a reference wrapper
int main(int, char**)
{
- {
- std::auto_ptr<A> ptr(new A);
- A* raw_ptr = ptr.get();
+ globalMemCounter.reset();
+ {
+ std::auto_ptr<A> ptr(new A);
+ A* raw_ptr = ptr.get();
#if TEST_STD_VER >= 11
std::shared_ptr<B> p(std::move(ptr));
#else
assert(p.use_count() == 1);
assert(p.get() == raw_ptr);
assert(ptr.get() == 0);
- }
+ }
assert(A::count == 0);
assert(globalMemCounter.checkOutstandingNewEq(0));
#if !defined(TEST_HAS_NO_EXCEPTIONS) && !defined(DISABLE_NEW_COUNT)