ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
debug/memory.h
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
47#pragma once
48
49#include <stdbool.h>
50#include <stddef.h>
51#include <stdlib.h>
52
53#ifdef __cplusplus
54extern "C" {
55#endif
56
61
62#if defined(DEBUG_MEMORY)
63
75void debug_memory_set_quiet_mode(bool quiet);
76
111void debug_memory_report(void);
112
129void *debug_malloc(size_t size, const char *file, int line);
130
147void *debug_calloc(size_t count, size_t size, const char *file, int line);
148
175void *debug_realloc(void *ptr, size_t size, const char *file, int line);
176
197void debug_free(void *ptr, const char *file, int line);
198
225void debug_track_aligned(void *ptr, size_t size, const char *file, int line);
226
232
238
244
249
250#else /* !DEBUG_MEMORY - Provide stub implementations */
251
252/* Stubs for when DEBUG_MEMORY is not defined */
253static inline void debug_memory_set_quiet_mode(bool quiet) {
254 (void)quiet;
255}
256
257static inline void debug_memory_report(void) {
258}
259
260static inline void *debug_malloc(size_t size, const char *file, int line) {
261 (void)file; (void)line;
262 return malloc(size);
263}
264
265static inline void *debug_calloc(size_t count, size_t size, const char *file, int line) {
266 (void)file; (void)line;
267 return calloc(count, size);
268}
269
270static inline void *debug_realloc(void *ptr, size_t size, const char *file, int line) {
271 (void)file; (void)line;
272 return realloc(ptr, size);
273}
274
275static inline void debug_free(void *ptr, const char *file, int line) {
276 (void)file; (void)line;
277 free(ptr);
278}
279
280static inline void debug_track_aligned(void *ptr, size_t size, const char *file, int line) {
281 (void)ptr; (void)size; (void)file; (void)line;
282}
283
284static inline int debug_memory_thread_init(void) {
285 return 0;
286}
287
288static inline int debug_memory_thread_start(void) {
289 return 0;
290}
291
292static inline void debug_memory_trigger_report(void) {
293}
294
295static inline void debug_memory_thread_cleanup(void) {
296}
297
298#endif /* DEBUG_MEMORY */
299
302#ifdef __cplusplus
303} // extern "C"
304#endif
void debug_memory_thread_cleanup(void)
void * debug_malloc(size_t size, const char *file, int line)
void debug_memory_trigger_report(void)
void * debug_realloc(void *ptr, size_t size, const char *file, int line)
void debug_memory_report(void)
void debug_track_aligned(void *ptr, size_t size, const char *file, int line)
void * debug_calloc(size_t count, size_t size, const char *file, int line)
int debug_memory_thread_init(void)
void debug_memory_set_quiet_mode(bool quiet)
int debug_memory_thread_start(void)
void debug_free(void *ptr, const char *file, int line)
void debug_memory_ensure_init(void)
Init the lifecycle of the debug memory module.
ClangTool/LibTooling compatibility shim for stdbool.h.