kernel_cpp: Move the C++14 operator delete out of the header.

It seems not all of the kernel includes this, but some use new/delete
anyway. Further, operator delete[] was not implemented at all.

Possibly fixes the ARM build.
This commit is contained in:
Augustin Cavalier
2018-08-01 23:42:24 -04:00
parent cf36277e17
commit edb6d3b17b
2 changed files with 21 additions and 7 deletions
+2 -7
View File
@@ -39,13 +39,8 @@ extern void operator delete(void *ptr) _NOEXCEPT;
extern void operator delete[](void *ptr) _NOEXCEPT; extern void operator delete[](void *ptr) _NOEXCEPT;
#if __cplusplus >= 201402L #if __cplusplus >= 201402L
extern void operator delete(void* ptr, std::size_t) _NOEXCEPT;
inline void extern void operator delete[](void* ptr, std::size_t) _NOEXCEPT;
operator delete(void *ptr, size_t size) throw ()
{
free(ptr);
}
#endif // __cplusplus >= 201402L #endif // __cplusplus >= 201402L
#endif // #if _KERNEL_MODE #endif // #if _KERNEL_MODE
+19
View File
@@ -141,6 +141,25 @@ operator delete[](void *ptr) _NOEXCEPT
free(ptr); free(ptr);
} }
#if __cplusplus >= 201402L
void
operator delete(void* ptr, std::size_t) _NOEXCEPT
{
free(ptr);
}
void
operator delete[](void* ptr, std::size_t) _NOEXCEPT
{
free(ptr);
}
#endif
#ifndef _BOOT_MODE #ifndef _BOOT_MODE
FILE *stderr = NULL; FILE *stderr = NULL;