ARGOBOTS
abti_valgrind.h
Go to the documentation of this file.
1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
2 /*
3  * See COPYRIGHT in top-level directory.
4  */
5 
6 #ifndef ABTI_VALGRIND_H_INCLUDED
7 #define ABTI_VALGRIND_H_INCLUDED
8 
9 /* Valgrind support */
10 #ifdef HAVE_VALGRIND_SUPPORT
11 
12 #include <valgrind/valgrind.h>
13 
14 void ABTI_valgrind_register_stack(const void *p_stack, size_t size);
15 void ABTI_valgrind_unregister_stack(const void *p_stack);
16 #define ABTI_VALGRIND_REGISTER_STACK(p_stack, size) \
17  do { \
18  if (!RUNNING_ON_VALGRIND) \
19  break; \
20  ABTI_valgrind_register_stack(p_stack, size); \
21  } while (0)
22 
23 #define ABTI_VALGRIND_UNREGISTER_STACK(p_stack) \
24  do { \
25  if (!RUNNING_ON_VALGRIND) \
26  break; \
27  ABTI_valgrind_unregister_stack(p_stack); \
28  } while (0)
29 
30 #else
31 
32 #define ABTI_VALGRIND_REGISTER_STACK(p_stack, size) \
33  do { \
34  } while (0)
35 #define ABTI_VALGRIND_UNREGISTER_STACK(p_stack) \
36  do { \
37  } while (0)
38 
39 #endif /* HAVE_VALGRIND_SUPPORT */
40 
41 #endif /* ABTI_VALGRIND_H_INCLUDED */