diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index bf9cd5cb2ba..f0024acf3c6 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2003-06-24 Benjamin Kosnik + Ulrich Drepper + + * testsuite/testsuite_performance.h: Tweak mallinfo. + 2003-06-24 Paolo Carlini Nathan C. Myers diff --git a/libstdc++-v3/testsuite/testsuite_performance.h b/libstdc++-v3/testsuite/testsuite_performance.h index 9aea7574458..1ad02518fd0 100644 --- a/libstdc++-v3/testsuite/testsuite_performance.h +++ b/libstdc++-v3/testsuite/testsuite_performance.h @@ -33,15 +33,22 @@ #include #include -#ifdef __FreeBSD__ -#include -#else -#include -#endif +#include #include #include #include +#ifdef __linux__ +#include +#else +extern "C" +{ + struct mallinfo { int uordblks; }; + struct mallinfo empty = { 0 }; + struct mallinfo mallinfo(void) { return empty; } +} +#endif + namespace __gnu_cxx_test { class time_counter @@ -85,11 +92,6 @@ namespace __gnu_cxx_test { return tms_end.tms_stime - tms_begin.tms_stime; } }; -#ifdef __FreeBSD__ - struct mallinfo { int arena; }; - int mallinfo (void) { return 0; } -#endif - class resource_counter { int who; @@ -116,7 +118,8 @@ namespace __gnu_cxx_test { if (getrusage(who, &rusage_begin) != 0 ) memset(&rusage_begin, 0, sizeof(rusage_begin)); - // allocation_begin = mallinfo(); + malloc(0); // Needed for some implementations. + allocation_begin = mallinfo(); } void @@ -124,12 +127,12 @@ namespace __gnu_cxx_test { if (getrusage(who, &rusage_end) != 0 ) memset(&rusage_end, 0, sizeof(rusage_end)); - // allocation_end = mallinfo(); + allocation_end = mallinfo(); } int allocated_memory() const - { return allocation_end.arena - allocation_begin.arena; } + { return allocation_end.uordblks - allocation_begin.uordblks; } long hard_page_fault() const @@ -181,7 +184,7 @@ namespace __gnu_cxx_test out << std::setw(4) << t.real_time() << "r" << space; out << std::setw(4) << t.user_time() << "u" << space; out << std::setw(4) << t.system_time() << "s" << space; - // out << std::setw(4) << r.allocated_memory() << "mem" << space; + out << std::setw(4) << r.allocated_memory() << "mem" << space; out << std::setw(4) << r.hard_page_fault() << "pf" << space; out << std::endl;