diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index d655cc4dd57..5d34b2b419f 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2011-09-02 François Dumont + + * testsuite/util/testsuite_allocator.h (tracker_allocator_counter:: + allocate): Update allocation count only if allocation succeeded. + 2011-09-02 Paolo Carlini * include/std/bitset: Trivial formatting fixes. diff --git a/libstdc++-v3/testsuite/util/testsuite_allocator.h b/libstdc++-v3/testsuite/util/testsuite_allocator.h index 279c42d1a30..57a5a8ae896 100644 --- a/libstdc++-v3/testsuite/util/testsuite_allocator.h +++ b/libstdc++-v3/testsuite/util/testsuite_allocator.h @@ -37,14 +37,15 @@ namespace __gnu_test { public: typedef std::size_t size_type; - + static void* allocate(size_type blocksize) { + void* p = ::operator new(blocksize); allocationCount_ += blocksize; - return ::operator new(blocksize); + return p; } - + static void construct() { constructCount_++; } @@ -57,19 +58,19 @@ namespace __gnu_test ::operator delete(p); deallocationCount_ += blocksize; } - + static size_type get_allocation_count() { return allocationCount_; } - + static size_type get_deallocation_count() { return deallocationCount_; } - + static int get_construct_count() { return constructCount_; } static int get_destruct_count() { return destructCount_; } - + static void reset() {