aboutsummaryrefslogtreecommitdiff
path: root/cores/arduino/new.h
diff options
context:
space:
mode:
authoramcewen <amcewen@bcs.org.uk>2011-08-28 20:28:53 +0100
committeramcewen <amcewen@bcs.org.uk>2011-08-28 20:28:53 +0100
commit8ce77304f796e077f594859f270f9f024dc05605 (patch)
tree285233e5b57f0029551056b1951e4e539b265951 /cores/arduino/new.h
parente852be3e97763e621a0f8014a3db4bf92a650b50 (diff)
parentf9d50a793010db3a2968262f35d34edaf048a650 (diff)
Merge branch 'master' into wifly_integration
Diffstat (limited to 'cores/arduino/new.h')
-rw-r--r--cores/arduino/new.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/cores/arduino/new.h b/cores/arduino/new.h
new file mode 100644
index 0000000..cd940ce
--- /dev/null
+++ b/cores/arduino/new.h
@@ -0,0 +1,22 @@
+/* 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 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
+