X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/374ca955a76ecab1204ca8bfa63ff9238d998416..ba516feee23ef0c2b810ac6365e88f33807caaa8:/icuSources/common/uobject.cpp?ds=sidebyside diff --git a/icuSources/common/uobject.cpp b/icuSources/common/uobject.cpp index 581cd742..bf31c573 100644 --- a/icuSources/common/uobject.cpp +++ b/icuSources/common/uobject.cpp @@ -1,7 +1,7 @@ /* ****************************************************************************** * -* Copyright (C) 2002-2004, International Business Machines +* Copyright (C) 2002-2011, International Business Machines * Corporation and others. All Rights Reserved. * ****************************************************************************** @@ -56,26 +56,37 @@ U_NAMESPACE_BEGIN * and replace with uprv_malloc/uprv_free. */ -void * U_EXPORT2 UMemory::operator new(size_t size) { +void * U_EXPORT2 UMemory::operator new(size_t size) U_NO_THROW { return uprv_malloc(size); } -void U_EXPORT2 UMemory::operator delete(void *p) { +void U_EXPORT2 UMemory::operator delete(void *p) U_NO_THROW { if(p!=NULL) { uprv_free(p); } } -void * U_EXPORT2 UMemory::operator new[](size_t size) { +void * U_EXPORT2 UMemory::operator new[](size_t size) U_NO_THROW { return uprv_malloc(size); } -void U_EXPORT2 UMemory::operator delete[](void *p) { +void U_EXPORT2 UMemory::operator delete[](void *p) U_NO_THROW { if(p!=NULL) { uprv_free(p); } } +#if U_HAVE_DEBUG_LOCATION_NEW +void * U_EXPORT2 UMemory::operator new(size_t size, const char* /*file*/, int /*line*/) U_NO_THROW { + return UMemory::operator new(size); +} + +void U_EXPORT2 UMemory::operator delete(void* p, const char* /*file*/, int /*line*/) U_NO_THROW { + UMemory::operator delete(p); +} +#endif /* U_HAVE_DEBUG_LOCATION_NEW */ + + #endif UObject::~UObject() {} @@ -100,4 +111,9 @@ UObject::~UObject() {} U_NAMESPACE_END +U_NAMESPACE_USE +U_CAPI void U_EXPORT2 +uprv_deleteUObject(void *obj) { + delete reinterpret_cast(obj); +}