|
1 | 1 | #include "snmalloc/snmalloc.h" |
2 | 2 |
|
| 3 | +#include "override.h" |
| 4 | + |
3 | 5 | #include <new> |
4 | 6 |
|
5 | 7 | #ifdef _WIN32 |
@@ -96,99 +98,99 @@ namespace snmalloc |
96 | 98 | } |
97 | 99 | } // namespace snmalloc |
98 | 100 |
|
99 | | -void* operator new(size_t size) |
| 101 | +SNMALLOC_EXPORT void* operator new(size_t size) |
100 | 102 | { |
101 | 103 | return snmalloc::alloc<snmalloc::handler::Throw>(size); |
102 | 104 | } |
103 | 105 |
|
104 | | -void* operator new[](size_t size) |
| 106 | +SNMALLOC_EXPORT void* operator new[](size_t size) |
105 | 107 | { |
106 | 108 | return snmalloc::alloc<snmalloc::handler::Throw>(size); |
107 | 109 | } |
108 | 110 |
|
109 | | -void* operator new(size_t size, const std::nothrow_t&) noexcept |
| 111 | +SNMALLOC_EXPORT void* operator new(size_t size, const std::nothrow_t&) noexcept |
110 | 112 | { |
111 | 113 | return snmalloc::alloc<snmalloc::handler::NoThrow>(size); |
112 | 114 | } |
113 | 115 |
|
114 | | -void* operator new[](size_t size, const std::nothrow_t&) noexcept |
| 116 | +SNMALLOC_EXPORT void* operator new[](size_t size, const std::nothrow_t&) noexcept |
115 | 117 | { |
116 | 118 | return snmalloc::alloc<snmalloc::handler::NoThrow>(size); |
117 | 119 | } |
118 | 120 |
|
119 | | -void operator delete(void* p) EXCEPTSPEC |
| 121 | +SNMALLOC_EXPORT void operator delete(void* p) EXCEPTSPEC |
120 | 122 | { |
121 | 123 | snmalloc::libc::free(p); |
122 | 124 | } |
123 | 125 |
|
124 | | -void operator delete(void* p, size_t size) EXCEPTSPEC |
| 126 | +SNMALLOC_EXPORT void operator delete(void* p, size_t size) EXCEPTSPEC |
125 | 127 | { |
126 | 128 | snmalloc::libc::free_sized(p, size); |
127 | 129 | } |
128 | 130 |
|
129 | | -void operator delete(void* p, const std::nothrow_t&) noexcept |
| 131 | +SNMALLOC_EXPORT void operator delete(void* p, const std::nothrow_t&) noexcept |
130 | 132 | { |
131 | 133 | snmalloc::libc::free(p); |
132 | 134 | } |
133 | 135 |
|
134 | | -void operator delete[](void* p) EXCEPTSPEC |
| 136 | +SNMALLOC_EXPORT void operator delete[](void* p) EXCEPTSPEC |
135 | 137 | { |
136 | 138 | snmalloc::libc::free(p); |
137 | 139 | } |
138 | 140 |
|
139 | | -void operator delete[](void* p, size_t size) EXCEPTSPEC |
| 141 | +SNMALLOC_EXPORT void operator delete[](void* p, size_t size) EXCEPTSPEC |
140 | 142 | { |
141 | 143 | snmalloc::libc::free_sized(p, size); |
142 | 144 | } |
143 | 145 |
|
144 | | -void operator delete[](void* p, const std::nothrow_t&) noexcept |
| 146 | +SNMALLOC_EXPORT void operator delete[](void* p, const std::nothrow_t&) noexcept |
145 | 147 | { |
146 | 148 | snmalloc::libc::free(p); |
147 | 149 | } |
148 | 150 |
|
149 | | -void* operator new(size_t size, std::align_val_t val) |
| 151 | +SNMALLOC_EXPORT void* operator new(size_t size, std::align_val_t val) |
150 | 152 | { |
151 | 153 | size = snmalloc::aligned_size(size_t(val), size); |
152 | 154 | return snmalloc::alloc<snmalloc::handler::Throw>(size); |
153 | 155 | } |
154 | 156 |
|
155 | | -void* operator new[](size_t size, std::align_val_t val) |
| 157 | +SNMALLOC_EXPORT void* operator new[](size_t size, std::align_val_t val) |
156 | 158 | { |
157 | 159 | size = snmalloc::aligned_size(size_t(val), size); |
158 | 160 | return snmalloc::alloc<snmalloc::handler::Throw>(size); |
159 | 161 | } |
160 | 162 |
|
161 | | -void* operator new( |
| 163 | +SNMALLOC_EXPORT void* operator new( |
162 | 164 | size_t size, std::align_val_t val, const std::nothrow_t&) noexcept |
163 | 165 | { |
164 | 166 | size = snmalloc::aligned_size(size_t(val), size); |
165 | 167 | return snmalloc::alloc<snmalloc::handler::NoThrow>(size); |
166 | 168 | } |
167 | 169 |
|
168 | | -void* operator new[]( |
| 170 | +SNMALLOC_EXPORT void* operator new[]( |
169 | 171 | size_t size, std::align_val_t val, const std::nothrow_t&) noexcept |
170 | 172 | { |
171 | 173 | size = snmalloc::aligned_size(size_t(val), size); |
172 | 174 | return snmalloc::alloc<snmalloc::handler::NoThrow>(size); |
173 | 175 | } |
174 | 176 |
|
175 | | -void operator delete(void* p, std::align_val_t) EXCEPTSPEC |
| 177 | +SNMALLOC_EXPORT void operator delete(void* p, std::align_val_t) EXCEPTSPEC |
176 | 178 | { |
177 | 179 | snmalloc::libc::free(p); |
178 | 180 | } |
179 | 181 |
|
180 | | -void operator delete[](void* p, std::align_val_t) EXCEPTSPEC |
| 182 | +SNMALLOC_EXPORT void operator delete[](void* p, std::align_val_t) EXCEPTSPEC |
181 | 183 | { |
182 | 184 | snmalloc::libc::free(p); |
183 | 185 | } |
184 | 186 |
|
185 | | -void operator delete(void* p, size_t size, std::align_val_t val) EXCEPTSPEC |
| 187 | +SNMALLOC_EXPORT void operator delete(void* p, size_t size, std::align_val_t val) EXCEPTSPEC |
186 | 188 | { |
187 | 189 | size = snmalloc::aligned_size(size_t(val), size); |
188 | 190 | snmalloc::libc::free_sized(p, size); |
189 | 191 | } |
190 | 192 |
|
191 | | -void operator delete[](void* p, size_t size, std::align_val_t val) EXCEPTSPEC |
| 193 | +SNMALLOC_EXPORT void operator delete[](void* p, size_t size, std::align_val_t val) EXCEPTSPEC |
192 | 194 | { |
193 | 195 | size = snmalloc::aligned_size(size_t(val), size); |
194 | 196 | snmalloc::libc::free_sized(p, size); |
|
0 commit comments