diff -r 5fae379060a7 -r bf6a71c50e42 genericopenlibs/cppstdlib/stl/stlport/stl/_new.h --- a/genericopenlibs/cppstdlib/stl/stlport/stl/_new.h Fri Jun 11 15:26:22 2010 +0300 +++ b/genericopenlibs/cppstdlib/stl/stlport/stl/_new.h Wed Aug 18 11:27:44 2010 +0300 @@ -138,14 +138,34 @@ # define _STLP_CHECK_NULL_ALLOC(__x) return __x # endif +#ifdef __SYMBIAN32__ +IMPORT_C void* backend_allocate(size_t); +IMPORT_C void backend_free(void*); +#endif + + _STLP_BEGIN_NAMESPACE # if ((defined (__IBMCPP__) || defined (__OS400__) || defined (__xlC__) || defined (qTidyHeap)) && defined (__DEBUG_ALLOC__)) inline void* _STLP_CALL __stl_new(size_t __n) { _STLP_CHECK_NULL_ALLOC(::operator _STLP_NEW(__n, __FILE__, __LINE__)); } inline void _STLP_CALL __stl_delete(void* __p) { ::operator delete(__p, __FILE__, __LINE__); } # else -inline void* _STLP_CALL __stl_new(size_t __n) { _STLP_CHECK_NULL_ALLOC(::operator _STLP_NEW(__n)); } -inline void _STLP_CALL __stl_delete(void* __p) { ::operator delete(__p); } +inline void* _STLP_CALL __stl_new(size_t __n) + { +#ifdef __SYMBIAN32__ + return backend_allocate(__n); +#else + _STLP_CHECK_NULL_ALLOC(::operator _STLP_NEW(__n)); +#endif + } +inline void _STLP_CALL __stl_delete(void* __p) + { +#ifdef __SYMBIAN32__ + backend_free(__p); +#else + ::operator delete(__p); +#endif + } # endif _STLP_END_NAMESPACE