summaryrefslogtreecommitdiff
path: root/Source/Kernel/Core/cppsupport.wtf.cpp
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-11-10 21:26:03 +0100
committerAlexis211 <alexis211@gmail.com>2009-11-10 21:26:03 +0100
commiteb5f08c76b17ac6e15d6b763a7f45816cb85c570 (patch)
tree4a3889c8ccb4d38f34133bf8b56b8006de3431c3 /Source/Kernel/Core/cppsupport.wtf.cpp
parent4bbc1baf27573b4ca6fe6d8ed18b236ac3c631d2 (diff)
downloadMelon-eb5f08c76b17ac6e15d6b763a7f45816cb85c570.tar.gz
Melon-eb5f08c76b17ac6e15d6b763a7f45816cb85c570.zip
Started working on some 2D gra
Diffstat (limited to 'Source/Kernel/Core/cppsupport.wtf.cpp')
-rw-r--r--Source/Kernel/Core/cppsupport.wtf.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/Source/Kernel/Core/cppsupport.wtf.cpp b/Source/Kernel/Core/cppsupport.wtf.cpp
index 2cefc39..06ef1b9 100644
--- a/Source/Kernel/Core/cppsupport.wtf.cpp
+++ b/Source/Kernel/Core/cppsupport.wtf.cpp
@@ -1,11 +1,22 @@
//This file just contains a few methods required for some C++ things to work
#include <types.h>
+namespace CMem {
+ u8int* memcpy(u8int*, const u8int*, int);
+};
+
+using namespace CMem;
+
extern "C" void __cxa_pure_virtual() {} //Required when using abstract classes
void *__dso_handle; //Required when using global objects
extern "C" int __cxa_atexit(void (*f)(void*), void *p, void *d) { return 0; }
+extern "C" void * memmove(void* dst, const void* src, size_t len) {
+ memcpy((u8int*)dst, (const u8int*)src, len);
+ return dst;
+}
+
//Functions for quad divisions/modulo. Taken and arranged from klibc include/asm/div64.h
//These only work with 32-bit divisors and only return 32-bit remainder.
//TODO : think of some correct quad div/mod algorithms