From a4496b927bb7889ed076e7b7f0cc27fa0c4b9b75 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Sat, 6 Sep 2014 12:42:25 +0200 Subject: Correct implementation of gcc specific internal functions The following empty stubs has been replaced by the gcc flag -fno-threadsafe-static: int __cxa_guard_acquire(__guard *); void __cxa_guard_release (__guard *); void __cxa_guard_abort (__guard *); The following empty stubs has been moved into their specific module abi.cpp: void __cxa_pure_virtual(void) __attribute ((noreturn)); void __cxa_deleted_virtual(void) __attribute ((noreturn)); Fix #107 --- cores/arduino/new.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'cores/arduino/new.cpp') diff --git a/cores/arduino/new.cpp b/cores/arduino/new.cpp index b81031e..1486012 100644 --- a/cores/arduino/new.cpp +++ b/cores/arduino/new.cpp @@ -1,7 +1,7 @@ -#include -void * operator new(size_t size) -{ +#include + +void *operator new(size_t size) { return malloc(size); } @@ -20,9 +20,3 @@ void operator delete[](void * ptr) free(ptr); } -int __cxa_guard_acquire(__guard *g) {return !*(char *)(g);}; -void __cxa_guard_release (__guard *g) {*(char *)g = 1;}; -void __cxa_guard_abort (__guard *) {}; - -void __cxa_pure_virtual(void) {}; - -- cgit v1.2.3-18-g5258