// { dg-do assemble } template class _fixed_size_allocator { private: struct something { }; static something * asdf; public: static void delete_object (); }; template class object_allocator { private: typedef _fixed_size_allocator allocator; public: static void deallocate (T * p) { allocator::delete_object (reinterpret_cast (p)); } };