OSDN Git Service

2005-12-18 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / testsuite / testsuite_allocator.cc
index a4f287e..6696872 100644 (file)
@@ -1,5 +1,7 @@
+// -*- C++ -*-
+// Testing allocator for the C++ library testsuite.
 //
-// Copyright (C) 2002 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -14,7 +16,7 @@
 //
 // You should have received a copy of the GNU General Public License along
 // with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 // USA.
 //
 // As a special exception, you may use this file as part of a free software
 // invalidate any other reasons why the executable file might be covered by
 // the GNU General Public License.
 
+#include <iostream>
 #include <testsuite_allocator.h>
 
-gnu_allocator_tracker::size_type gnu_allocator_tracker::allocationTotal_   = 0;
-gnu_allocator_tracker::size_type gnu_allocator_tracker::deallocationTotal_ = 0;
-int                              gnu_allocator_tracker::constructCount_    = 0;
-int                              gnu_allocator_tracker::destructCount_     = 0;
+namespace __gnu_test
+{
+  allocation_tracker::size_type allocation_tracker::allocationTotal_   = 0;
+  allocation_tracker::size_type allocation_tracker::deallocationTotal_ = 0;
+  int allocation_tracker::constructCount_    = 0;
+  int allocation_tracker::destructCount_     = 0;
+
+  bool
+  check_construct_destroy(const char* tag, int expected_c, int expected_d)
+  {
+    if (allocation_tracker::constructCount() == expected_c &&
+       allocation_tracker::destructCount() == expected_d)
+      return true;
+
+    else {
+      std::cerr << tag << ": "
+               << " construct = " << allocation_tracker::constructCount()
+               << " (should be " << expected_c << "),"
+               << " destroy = " << allocation_tracker::destructCount()
+               << " (should be " << expected_d << ")"
+               << std::endl;
+      return false;
+    }
+  }
+
+}; // namespace __cxx_test