diff --git a/libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx2a.pass.cpp b/libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx2a.pass.cpp --- a/libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx2a.pass.cpp +++ b/libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx2a.pass.cpp @@ -62,7 +62,8 @@ int main(int, char**) { - { + globalMemCounter.reset(); + { std::allocator a; assert(globalMemCounter.checkOutstandingNewEq(0)); assert(A_constructed == 0); @@ -110,7 +111,7 @@ DoNotOptimize(ap); assert(globalMemCounter.checkOutstandingNewEq(0)); assert(A_constructed == 0); - } + } #if TEST_STD_VER >= 11 { std::allocator a; diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp @@ -110,10 +110,11 @@ int main(int, char**) { - { - bare_allocator bare_alloc; - test_for_alloc(bare_alloc); - } + globalMemCounter.reset(); + { + bare_allocator bare_alloc; + test_for_alloc(bare_alloc); + } { non_default_test_allocator non_default_alloc(42); test_for_alloc(non_default_alloc); diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp @@ -114,6 +114,7 @@ int main(int, char**) { + globalMemCounter.reset(); { bare_allocator alloc; test_for_alloc(alloc); diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp @@ -56,21 +56,23 @@ int main(int, char**) { - assert(globalMemCounter.checkOutstandingNewEq(0)); - { - std::function f = A(); - assert(A::count == 1); - assert(globalMemCounter.checkOutstandingNewEq(1)); - assert(f.target()); - assert(f.target() == 0); - std::function f2(std::allocator_arg, bare_allocator(), std::move(f)); - assert(A::count == 1); - assert(globalMemCounter.checkOutstandingNewEq(1)); - assert(f2.target()); - assert(f2.target() == 0); - assert(f.target() == 0); - assert(f.target() == 0); - } + globalMemCounter.reset(); + assert(globalMemCounter.checkOutstandingNewEq(0)); + { + std::function f = A(); + assert(A::count == 1); + assert(globalMemCounter.checkOutstandingNewEq(1)); + assert(f.target()); + assert(f.target() == 0); + std::function f2(std::allocator_arg, bare_allocator(), + std::move(f)); + assert(A::count == 1); + assert(globalMemCounter.checkOutstandingNewEq(1)); + assert(f2.target()); + assert(f2.target() == 0); + assert(f.target() == 0); + assert(f.target() == 0); + } assert(globalMemCounter.checkOutstandingNewEq(0)); { // Test that moving a function constructed from a reference wrapper diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp @@ -46,9 +46,10 @@ int main(int, char**) { - { - std::auto_ptr ptr(new A); - A* raw_ptr = ptr.get(); + globalMemCounter.reset(); + { + std::auto_ptr ptr(new A); + A* raw_ptr = ptr.get(); #if TEST_STD_VER >= 11 std::shared_ptr p(std::move(ptr)); #else @@ -59,7 +60,7 @@ 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)