aboutsummaryrefslogtreecommitdiff
path: root/new.h
diff options
context:
space:
mode:
authorDonald Delmar Davis <don@suspectdevices.com>2013-10-26 15:50:16 -0700
committerDonald Delmar Davis <don@suspectdevices.com>2013-10-26 15:50:16 -0700
commit5bac9dcb4569f107315768677e4c6d580a743171 (patch)
tree2822f877b07b7f6fbfeec54e40448b65ae196c15 /new.h
parent7edfa511b95c70673b87b988a0cd81eb2f8b168b (diff)
Add all the stuff and update the readme.HEADmaster
Diffstat (limited to 'new.h')
-rw-r--r--new.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/new.h b/new.h
new file mode 100644
index 0000000..991c86c
--- /dev/null
+++ b/new.h
@@ -0,0 +1,24 @@
+/* Header to define new/delete operators as they aren't provided by avr-gcc by default
+ Taken from http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=59453
+ */
+
+#ifndef NEW_H
+#define NEW_H
+
+#include <stdlib.h>
+
+void * operator new(size_t size);
+void * operator new[](size_t size);
+void operator delete(void * ptr);
+void operator delete[](void * ptr);
+
+__extension__ typedef int __guard __attribute__((mode (__DI__)));
+
+extern "C" int __cxa_guard_acquire(__guard *);
+extern "C" void __cxa_guard_release (__guard *);
+extern "C" void __cxa_guard_abort (__guard *);
+
+extern "C" void __cxa_pure_virtual(void);
+
+#endif
+