[CTFMON][MSCTFIME][SDK] Define new(cicNoThrow) and use it (#6286)

Use new(cicNoThrow) instead of plain operator new.
JIRA issue: CORE-19360
- Define CicNoThrow structure and
  cicNoThrow macro in <cicero/cicbase.h>.
- Use new(cicNoThrow) instead of
  plain operator new.
This commit is contained in:
Katayama Hirofumi MZ 2024-01-03 16:45:23 +09:00 committed by GitHub
parent 6cde331a89
commit b48e77e15b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 16 deletions

View file

@ -34,17 +34,30 @@ static inline void cicMemFree(LPVOID ptr)
LocalFree(ptr);
}
inline void* __cdecl operator new(size_t size) noexcept
struct CicNoThrow { };
#define cicNoThrow CicNoThrow{}
inline void* operator new(size_t size, const CicNoThrow&) noexcept
{
return cicMemAllocClear(size);
}
inline void __cdecl operator delete(void* ptr) noexcept
inline void* operator new[](size_t size, const CicNoThrow&) noexcept
{
return cicMemAllocClear(size);
}
inline void operator delete(void* ptr) noexcept
{
cicMemFree(ptr);
}
inline void __cdecl operator delete(void* ptr, size_t size) noexcept
inline void operator delete[](void* ptr) noexcept
{
cicMemFree(ptr);
}
inline void operator delete(void* ptr, size_t size) noexcept
{
cicMemFree(ptr);
}
inline void operator delete[](void* ptr, size_t size) noexcept
{
cicMemFree(ptr);
}