From 83f6cdd6000b4632d094c5e36f2633fb9cf7641f Mon Sep 17 00:00:00 2001 From: "timurrrr@chromium.org" Date: Fri, 18 Sep 2009 16:37:47 +0000 Subject: s/NDEBUG/NVALGRIND/g in base/dynamic_annotations.* to allow ThreadSanitizer runs on release binaries. This is a copy of http://codereview.chromium.org/201060 I wasn't a commiter at that time. Please note that http://codereview.chromium.org/195078 was submitted recently which defines NVALGRIND for non-valgrind Release builds. Review URL: http://codereview.chromium.org/195091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26576 0039d316-1c4b-4281-b951-d872f2087c98 --- base/dynamic_annotations.h | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'base/dynamic_annotations.h') diff --git a/base/dynamic_annotations.h b/base/dynamic_annotations.h index d75b773..23a2a27 100644 --- a/base/dynamic_annotations.h +++ b/base/dynamic_annotations.h @@ -17,19 +17,18 @@ // dynamic analysis tool being used. // // This file supports the following dynamic analysis tools: -// - None (NDEBUG is defined). +// - None (NVALGRIND is defined). // Macros are defined empty. -// - ThreadSanitizer (NDEBUG is not defined). +// - ThreadSanitizer (NVALGRIND is not defined). // Macros are defined as calls to non-inlinable empty functions // that are intercepted by ThreadSanitizer. // #ifndef BASE_DYNAMIC_ANNOTATIONS_H_ #define BASE_DYNAMIC_ANNOTATIONS_H_ -// All the annotation macros are in effect only in debug mode. -#ifndef NDEBUG -// Debug build. +#include "base/third_party/valgrind/valgrind.h" +#ifndef NVALGRIND // ------------------------------------------------------------- // Annotations useful when implementing condition variables such as CondVar, // using conditional critical sections (Await/LockWhen) and when constructing @@ -309,8 +308,8 @@ inline T ANNOTATE_UNPROTECTED_READ(const volatile T &x) { static static_var ## _annotator the ## static_var ## _annotator;\ } -#else // NDEBUG is defined -// Release build, empty macros. +#else +// NVALGRIND is defined, empty macros. #define ANNOTATE_RWLOCK_CREATE(lock) // empty #define ANNOTATE_RWLOCK_DESTROY(lock) // empty @@ -344,7 +343,7 @@ inline T ANNOTATE_UNPROTECTED_READ(const volatile T &x) { #define ANNOTATE_UNPROTECTED_READ(x) (x) #define ANNOTATE_BENIGN_RACE_STATIC(static_var, description) // empty -#endif // NDEBUG +#endif // NVALGRIND // Return non-zero value if running under valgrind. extern "C" int RunningOnValgrind(); -- cgit v1.1