Skip to content

Commit f6bc5fe

Browse files
authored
Merge pull request #272 from panix-os/add-delete-operators
Add implementations for the `add` and `delete` C++ operators
2 parents 81b8fd2 + 4a9a798 commit f6bc5fe

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

kernel/meta/cxx.cpp

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/**
2+
* @file cxx.cpp
3+
* @author Micah Switzer <[email protected]>
4+
* @brief C++ dynamic memory management functions
5+
* @version 0.1
6+
* @date 2021-07-25
7+
*
8+
* @copyright Copyright the Panix Contributors (c) 2021
9+
*
10+
* References:
11+
* https://wiki.osdev.org/C++
12+
*/
13+
#include <mem/heap.hpp>
14+
15+
void *operator new(size_t size)
16+
{
17+
return malloc(size);
18+
}
19+
20+
void *operator new [](size_t size)
21+
{
22+
return malloc(size);
23+
}
24+
25+
void operator delete(void* p)
26+
{
27+
free(p);
28+
}
29+
30+
void operator delete [](void* p)
31+
{
32+
free(p);
33+
}
34+
35+
void operator delete(void* p, long unsigned int)
36+
{
37+
free(p);
38+
}
39+
40+
void operator delete [](void* p, long unsigned int)
41+
{
42+
free(p);
43+
}

0 commit comments

Comments
 (0)