Skip to content

Commit 465d53a

Browse files
committed
Added noexcept specifier and delete(void*, unsigned int) functions for new gcc.
1 parent 3d3bb38 commit 465d53a

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

hardware/arduino/avr/cores/arduino/new.cpp

+12-4
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,27 @@
1818

1919
#include <stdlib.h>
2020

21-
void *operator new(size_t size) {
21+
void *operator new(size_t size) noexcept {
2222
return malloc(size);
2323
}
2424

25-
void *operator new[](size_t size) {
25+
void *operator new[](size_t size) noexcept {
2626
return malloc(size);
2727
}
2828

29-
void operator delete(void * ptr) {
29+
void operator delete(void * ptr) noexcept {
3030
free(ptr);
3131
}
3232

33-
void operator delete[](void * ptr) {
33+
void operator delete[](void * ptr) noexcept {
34+
free(ptr);
35+
}
36+
37+
void operator delete(void * ptr, size_t) noexcept {
38+
free(ptr);
39+
}
40+
41+
void operator delete[](void * ptr, size_t) noexcept {
3442
free(ptr);
3543
}
3644

hardware/arduino/avr/cores/arduino/new.h

+7-4
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,13 @@
2121

2222
#include <stdlib.h>
2323

24-
void * operator new(size_t size);
25-
void * operator new[](size_t size);
26-
void operator delete(void * ptr);
27-
void operator delete[](void * ptr);
24+
void * operator new(size_t size) noexcept;
25+
void * operator new[](size_t size) noexcept;
26+
void operator delete(void * ptr) noexcept;
27+
void operator delete[](void * ptr) noexcept;
28+
void operator delete(void * ptr, size_t) noexcept;
29+
void operator delete[](void * ptr, size_t) noexcept;
30+
2831

2932
#endif
3033

0 commit comments

Comments
 (0)