Skip to content

Commit adcbf50

Browse files
committed
Update memprof_stat to C++17.
1 parent 83e498b commit adcbf50

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

‎memprof/memprof.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ void *memalign(std::size_t alignment, std::size_t size) {
291291
}
292292
}
293293

294-
// c++17 guarantees that it is enough to override these 4 operators
294+
// C++17 guarantees that it is enough to override these 4 operators
295295
void *operator new(std::size_t count) {
296296
return malloc_with_frame(count, get_backtrace());
297297
}
@@ -305,7 +305,7 @@ void operator delete(void *ptr, std::align_val_t al) noexcept {
305305
free(ptr);
306306
}
307307

308-
// because of gcc warning: the program should also define 'void operator delete(void*, std::size_t)'
308+
// because of GCC warning: the program should also define 'void operator delete(void*, std::size_t)'
309309
void operator delete(void *ptr, std::size_t) noexcept(true) {
310310
free(ptr);
311311
}

‎memprof/memprof_stat.cpp

+10-7
Original file line numberDiff line numberDiff line change
@@ -140,21 +140,24 @@ int posix_memalign(void **memptr, size_t alignment, size_t size) {
140140
}
141141
}
142142

143-
// c++14 guarantees that it is enough to override these two operators.
143+
// C++17 guarantees that it is enough to override these 4 operators
144144
void *operator new(std::size_t count) {
145-
return do_malloc(count);
145+
return malloc_with_frame(count, get_backtrace());
146146
}
147147
void operator delete(void *ptr) noexcept(true) {
148148
free(ptr);
149149
}
150-
// because of gcc warning: the program should also define 'void operator delete(void*, std::size_t)'
151-
void operator delete(void *ptr, std::size_t) noexcept(true) {
150+
void *operator new(std::size_t count, std::align_val_t al) {
151+
return memalign(static_cast<std::size_t>(al), count);
152+
}
153+
void operator delete(void *ptr, std::align_val_t al) noexcept {
152154
free(ptr);
153155
}
154156

155-
// c++17
156-
// void *operator new(std::size_t count, std::align_val_t al);
157-
// void operator delete(void *ptr, std::align_val_t al);
157+
// because of GCC warning: the program should also define 'void operator delete(void*, std::size_t)'
158+
void operator delete(void *ptr, std::size_t) noexcept(true) {
159+
free(ptr);
160+
}
158161

159162
#else
160163
bool is_memprof_on() {

0 commit comments

Comments
 (0)