Newer
Older
Scratch / lockwasher / src / sys / lib / libcpp.cc
@Christopher W. Olsen Christopher W. Olsen on 25 Oct 2019 556 bytes Scratch
extern "C" 
{	
#include <lib/kmalloc.h>
#include <sys/video.h>
void __pure_virtual() { while(1); }
void __cxa_pure_virtual() { while(1); }
}

#include <ubixos/libcpp.h>

void * operator new[](unsigned size)
{
    return kmalloc(size,-2);
}

void operator delete[](void * ptr)
{
    kfree(ptr);

    return;
}

void * operator new(unsigned size)
{
    void * ptr = kmalloc(size, -2);

    //kprintf("Malloced: %08x\n", ptr);
    
    return ptr;
}

void operator delete(void * ptr)
{
    kfree(ptr);
    //kprintf("Freed: %08x\n", ptr);
    
    return;
}