diff --git a/src/pike_memory.h b/src/pike_memory.h index 16c6644b480b983d4cdcee301165818cb6a7a758..30fd1baae35d61d8fe268a5ce2400cc71b3236de 100644 --- a/src/pike_memory.h +++ b/src/pike_memory.h @@ -2,7 +2,7 @@ || This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information. -|| $Id: pike_memory.h,v 1.51 2005/05/25 16:59:39 grubba Exp $ +|| $Id: pike_memory.h,v 1.52 2006/07/02 00:05:45 mast Exp $ */ #ifndef MEMORY_H @@ -13,14 +13,24 @@ #ifdef USE_VALGRIND +#define HAVE_VALGRIND_MACROS +/* Assume that any of the following header files have the macros we + * need. Haven't checked if it's true or not. */ + #ifdef HAVE_MEMCHECK_H #include <memcheck.h> #elif defined(HAVE_VALGRIND_MEMCHECK_H) #include <valgrind/memcheck.h> #elif defined(HAVE_VALGRIND_H) #include <valgrind.h> +#else +#undef HAVE_VALGRIND_MACROS #endif +#endif /* USE_VALGRIND */ + +#ifdef HAVE_VALGRIND_MACROS + /* No Access */ #define PIKE_MEM_NA(lvalue) do { \ PIKE_MEM_NA_RANGE(&(lvalue), sizeof (lvalue)); \ @@ -56,7 +66,7 @@ /* Return true if a memchecker is in use. */ #define PIKE_MEM_CHECKER() RUNNING_ON_VALGRIND -#else +#else /* !HAVE_VALGRIND_MACROS */ #define PIKE_MEM_NA(lvalue) do {} while (0) #define PIKE_MEM_NA_RANGE(addr, bytes) do {} while (0) @@ -68,7 +78,7 @@ #define PIKE_MEM_RO_RANGE(addr, bytes) do {} while (0) #define PIKE_MEM_CHECKER() 0 -#endif /* USE_VALGRIND */ +#endif /* !HAVE_VALGRIND_MACROS */ #define MEMSEARCH_LINKS 512