#include struct test_suite { }; struct auto_unit_test_suite_t : test_suite { auto_unit_test_suite_t() : argc( 0 ) , argv( 0 ) {} // Data members int argc; char** argv; }; inline auto_unit_test_suite_t* auto_unit_test_suite() { static auto_unit_test_suite_t* inst = new auto_unit_test_suite_t; return inst; } struct auto_test_unit_registrar { private: #ifndef _BUG static std::list& curr_ts_store() { return ( std::list ( 1, auto_unit_test_suite() ) ); } #else static std::list& curr_ts_store() { // cod1 1293 internal compiler error static std::list inst( 1, auto_unit_test_suite() ); return inst; } #endif };