aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorPatrik Nyblom <[email protected]>2011-03-01 17:33:01 +0100
committerPatrik Nyblom <[email protected]>2011-03-01 17:33:06 +0100
commit3cc8eede4be9e04dbc8a7328e1dda7e4410b7b55 (patch)
tree1b52b9fcc1d1c21b8a9fbb9828b4955ef911c9d1 /lib
parentc1952e34401c4711b480f4c97d3f65cf2376a52b (diff)
parent5dd7bdee141803099b5a9b4eba18c6f04048ba40 (diff)
downloadotp-3cc8eede4be9e04dbc8a7328e1dda7e4410b7b55.tar.gz
otp-3cc8eede4be9e04dbc8a7328e1dda7e4410b7b55.tar.bz2
otp-3cc8eede4be9e04dbc8a7328e1dda7e4410b7b55.zip
Merge branch 'pan/valgrind-3.6.0' into dev
* pan/valgrind-3.6.0: Make crypto.c work with valgrind 3.6 and correct cerl.src Teach cerl to handle newer valgrind OTP-9079
Diffstat (limited to 'lib')
-rw-r--r--lib/crypto/c_src/crypto.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/crypto/c_src/crypto.c b/lib/crypto/c_src/crypto.c
index 92cc2b4dd9..0e7e63eb73 100644
--- a/lib/crypto/c_src/crypto.c
+++ b/lib/crypto/c_src/crypto.c
@@ -62,10 +62,16 @@
# define ERL_VALGRIND_MAKE_MEM_DEFINED(ptr,size) \
VALGRIND_MAKE_MEM_DEFINED(ptr,size)
- # define ERL_VALGRIND_ASSERT_MEM_DEFINED(ptr,size) \
- ((void) ((VALGRIND_CHECK_MEM_IS_DEFINED(ptr,size) == 0) ? 1 : \
- (fprintf(stderr,"\r\n####### VALGRIND_ASSSERT(%p,%ld) failed at %s:%d\r\n",\
- (ptr),(long)(size), __FILE__, __LINE__), abort(), 0)))
+ # define ERL_VALGRIND_ASSERT_MEM_DEFINED(Ptr,Size) \
+ do { \
+ int __erl_valgrind_mem_defined = VALGRIND_CHECK_MEM_IS_DEFINED((Ptr),(Size)); \
+ if (__erl_valgrind_mem_defined != 0) { \
+ fprintf(stderr,"\r\n####### VALGRIND_ASSSERT(%p,%ld) failed at %s:%d\r\n", \
+ (Ptr),(long)(Size), __FILE__, __LINE__); \
+ abort(); \
+ } \
+ } while (0)
+
#else
# define ERL_VALGRIND_MAKE_MEM_DEFINED(ptr,size)
# define ERL_VALGRIND_ASSERT_MEM_DEFINED(ptr,size)