Browse Source

Fix for C++14 delete operator

main
PaulStoffregen 7 years ago
parent
commit
e35811cd41
2 changed files with 12 additions and 0 deletions
  1. +10
    -0
      teensy3/new.cpp
  2. +2
    -0
      teensy3/new.h

+ 10
- 0
teensy3/new.cpp View File

free(ptr); free(ptr);
} }


void operator delete(void * ptr, size_t size)
{
free(ptr);
}

void operator delete[](void * ptr, size_t size)
{
free(ptr);
}

//int __cxa_guard_acquire(__guard *g) {return !*(char *)(g);}; //int __cxa_guard_acquire(__guard *g) {return !*(char *)(g);};
//void __cxa_guard_release (__guard *g) {*(char *)g = 1;}; //void __cxa_guard_release (__guard *g) {*(char *)g = 1;};
//void __cxa_guard_abort (__guard *) {}; //void __cxa_guard_abort (__guard *) {};

+ 2
- 0
teensy3/new.h View File

void * operator new[](size_t size); void * operator new[](size_t size);
void operator delete(void * ptr); void operator delete(void * ptr);
void operator delete[](void * ptr); void operator delete[](void * ptr);
void operator delete(void * ptr, size_t size);
void operator delete[](void * ptr, size_t size);


__extension__ typedef int __guard __attribute__((mode (__DI__))); __extension__ typedef int __guard __attribute__((mode (__DI__)));



Loading…
Cancel
Save