mirror of https://github.com/ARMmbed/mbed-os.git
Add C++14 sized delete operators
Correct C++14 operation of the alloc wrappers requires us to define custom sized delete operators. Their presence won't cause any problem for people compiling as C++03 or C++11.pull/10707/head
parent
9cc1caa031
commit
f88cd3fbca
|
|
@ -1571,11 +1571,22 @@ void operator delete (void *ptr)
|
|||
{
|
||||
free_wrapper(ptr, MBED_CALLER_ADDR());
|
||||
}
|
||||
|
||||
void operator delete (void *ptr, std::size_t)
|
||||
{
|
||||
free_wrapper(ptr, MBED_CALLER_ADDR());
|
||||
}
|
||||
|
||||
void operator delete[](void *ptr)
|
||||
{
|
||||
free_wrapper(ptr, MBED_CALLER_ADDR());
|
||||
}
|
||||
|
||||
void operator delete[](void *ptr, std::size_t)
|
||||
{
|
||||
free_wrapper(ptr, MBED_CALLER_ADDR());
|
||||
}
|
||||
|
||||
#elif defined(MBED_MEM_TRACING_ENABLED) && defined(__GNUC__)
|
||||
|
||||
#include <reent.h>
|
||||
|
|
@ -1616,11 +1627,21 @@ void operator delete (void *ptr)
|
|||
free_wrapper(_REENT, ptr, MBED_CALLER_ADDR());
|
||||
}
|
||||
|
||||
void operator delete (void *ptr, std::size_t)
|
||||
{
|
||||
free_wrapper(_REENT, ptr, MBED_CALLER_ADDR());
|
||||
}
|
||||
|
||||
void operator delete[](void *ptr)
|
||||
{
|
||||
free_wrapper(_REENT, ptr, MBED_CALLER_ADDR());
|
||||
}
|
||||
|
||||
void operator delete[](void *ptr, std::size_t)
|
||||
{
|
||||
free_wrapper(_REENT, ptr, MBED_CALLER_ADDR());
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void *operator new (std::size_t count)
|
||||
|
|
@ -1655,11 +1676,22 @@ void operator delete (void *ptr)
|
|||
{
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
void operator delete (void *ptr, std::size_t)
|
||||
{
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
void operator delete[](void *ptr)
|
||||
{
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
void operator delete[](void *ptr, std::size_t)
|
||||
{
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* @brief standard c library clock() function.
|
||||
|
|
|
|||
Loading…
Reference in New Issue