Benoit Leforestier | 26e0f9a | 2018-10-23 18:20:51 +0200 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (c) 2018 |
| 3 | * |
| 4 | * SPDX-License-Identifier: Apache-2.0 |
| 5 | */ |
| 6 | |
Jan Van Winkel | 8a98a67 | 2019-11-14 00:23:33 +0100 | [diff] [blame] | 7 | #include <stdlib.h> |
Benoit Leforestier | 26e0f9a | 2018-10-23 18:20:51 +0200 | [diff] [blame] | 8 | |
Peter A. Bigot | 6ade720 | 2019-12-13 04:27:44 -0600 | [diff] [blame] | 9 | #if __cplusplus < 201103L |
| 10 | #define NOEXCEPT |
| 11 | #else /* >= C++11 */ |
| 12 | #define NOEXCEPT noexcept |
| 13 | #endif /* __cplusplus */ |
| 14 | |
Benoit Leforestier | 26e0f9a | 2018-10-23 18:20:51 +0200 | [diff] [blame] | 15 | void* operator new(size_t size) |
| 16 | { |
Jan Van Winkel | 8a98a67 | 2019-11-14 00:23:33 +0100 | [diff] [blame] | 17 | return malloc(size); |
Benoit Leforestier | 26e0f9a | 2018-10-23 18:20:51 +0200 | [diff] [blame] | 18 | } |
| 19 | |
| 20 | void* operator new[](size_t size) |
| 21 | { |
Jan Van Winkel | 8a98a67 | 2019-11-14 00:23:33 +0100 | [diff] [blame] | 22 | return malloc(size); |
Benoit Leforestier | 26e0f9a | 2018-10-23 18:20:51 +0200 | [diff] [blame] | 23 | } |
| 24 | |
Peter A. Bigot | 6ade720 | 2019-12-13 04:27:44 -0600 | [diff] [blame] | 25 | void operator delete(void* ptr) NOEXCEPT |
Benoit Leforestier | 26e0f9a | 2018-10-23 18:20:51 +0200 | [diff] [blame] | 26 | { |
Jan Van Winkel | 8a98a67 | 2019-11-14 00:23:33 +0100 | [diff] [blame] | 27 | free(ptr); |
Benoit Leforestier | 26e0f9a | 2018-10-23 18:20:51 +0200 | [diff] [blame] | 28 | } |
| 29 | |
Peter A. Bigot | 6ade720 | 2019-12-13 04:27:44 -0600 | [diff] [blame] | 30 | void operator delete[](void* ptr) NOEXCEPT |
Benoit Leforestier | 26e0f9a | 2018-10-23 18:20:51 +0200 | [diff] [blame] | 31 | { |
Jan Van Winkel | 8a98a67 | 2019-11-14 00:23:33 +0100 | [diff] [blame] | 32 | free(ptr); |
Benoit Leforestier | 26e0f9a | 2018-10-23 18:20:51 +0200 | [diff] [blame] | 33 | } |
| 34 | |
Benoit Leforestier | 26e0f9a | 2018-10-23 18:20:51 +0200 | [diff] [blame] | 35 | #if (__cplusplus > 201103L) |
Peter A. Bigot | 6ade720 | 2019-12-13 04:27:44 -0600 | [diff] [blame] | 36 | void operator delete(void* ptr, size_t) NOEXCEPT |
Benoit Leforestier | 26e0f9a | 2018-10-23 18:20:51 +0200 | [diff] [blame] | 37 | { |
Jan Van Winkel | 8a98a67 | 2019-11-14 00:23:33 +0100 | [diff] [blame] | 38 | free(ptr); |
Benoit Leforestier | 26e0f9a | 2018-10-23 18:20:51 +0200 | [diff] [blame] | 39 | } |
| 40 | |
Peter A. Bigot | 6ade720 | 2019-12-13 04:27:44 -0600 | [diff] [blame] | 41 | void operator delete[](void* ptr, size_t) NOEXCEPT |
Benoit Leforestier | 26e0f9a | 2018-10-23 18:20:51 +0200 | [diff] [blame] | 42 | { |
Jan Van Winkel | 8a98a67 | 2019-11-14 00:23:33 +0100 | [diff] [blame] | 43 | free(ptr); |
Benoit Leforestier | 26e0f9a | 2018-10-23 18:20:51 +0200 | [diff] [blame] | 44 | } |
| 45 | #endif // __cplusplus > 201103L |