1 /*-------------------------------------------------------------------------
2  *
3  * memdebug.h
4  *	  Memory debugging support.
5  *
6  * Currently, this file either wraps <valgrind/memcheck.h> or substitutes
7  * empty definitions for Valgrind client request macros we use.
8  *
9  *
10  * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
11  * Portions Copyright (c) 1994, Regents of the University of California
12  *
13  * src/include/utils/memdebug.h
14  *
15  *-------------------------------------------------------------------------
16  */
17 #ifndef MEMDEBUG_H
18 #define MEMDEBUG_H
19 
20 #ifdef USE_VALGRIND
21 #include <valgrind/memcheck.h>
22 #else
23 #define VALGRIND_CHECK_MEM_IS_DEFINED(addr, size)			do {} while (0)
24 #define VALGRIND_CREATE_MEMPOOL(context, redzones, zeroed)	do {} while (0)
25 #define VALGRIND_DESTROY_MEMPOOL(context)					do {} while (0)
26 #define VALGRIND_MAKE_MEM_DEFINED(addr, size)				do {} while (0)
27 #define VALGRIND_MAKE_MEM_NOACCESS(addr, size)				do {} while (0)
28 #define VALGRIND_MAKE_MEM_UNDEFINED(addr, size)				do {} while (0)
29 #define VALGRIND_MEMPOOL_ALLOC(context, addr, size)			do {} while (0)
30 #define VALGRIND_MEMPOOL_FREE(context, addr)				do {} while (0)
31 #define VALGRIND_MEMPOOL_CHANGE(context, optr, nptr, size)	do {} while (0)
32 #endif
33 
34 #endif   /* MEMDEBUG_H */
35