]> rtime.felk.cvut.cz Git - l4.git/blobdiff - l4/pkg/valgrind/src/valgrind-3.6.0-svn/drd/tests/unified_annotations.h
update
[l4.git] / l4 / pkg / valgrind / src / valgrind-3.6.0-svn / drd / tests / unified_annotations.h
index 8bf66888b8e0c121b583ab5551685455dc6aa0aa..13259d6fc9117263e02358439c38ef5c590e3159 100644 (file)
@@ -6,26 +6,16 @@
 
 
 /*
- * Redefine the happens before/after/done annotation macros such that these
- * can be intercepted by DRD, Helgrind and ThreadSanitizer. See also
+ * Define annotation macros such that these can be intercepted by DRD, Helgrind
+ * and ThreadSanitizer. See also
  * http://code.google.com/p/data-race-test/source/browse/trunk/dynamic_annotations/dynamic_annotations.h
  */
-#undef ANNOTATE_HAPPENS_BEFORE
-#define ANNOTATE_HAPPENS_BEFORE(addr)                  \
-  do {                                                 \
-    DRDCL_(annotate_happens_before)(addr);             \
-    AnnotateCondVarSignal(__FILE__, __LINE__, addr);   \
-  } while(0)
-#undef ANNOTATE_HAPPENS_AFTER
-#define ANNOTATE_HAPPENS_AFTER(addr)                           \
-  do {                                                         \
-    DRDCL_(annotate_happens_after)(addr);                      \
-    AnnotateCondVarWait(__FILE__, __LINE__, addr, NULL);       \
-  } while(0)
-#undef ANNOTATE_HAPPENS_DONE
-#define ANNOTATE_HAPPENS_DONE(addr)            \
+#define U_ANNOTATE_NEW_MEMORY(addr, size) ANNOTATE_NEW_MEMORY(addr, size)
+#define U_ANNOTATE_HAPPENS_BEFORE(addr) U_AnnotateHappensBefore(addr)
+#define U_ANNOTATE_HAPPENS_AFTER(addr) U_AnnotateHappensAfter(addr)
+#define U_ANNOTATE_HAPPENS_DONE(addr)          \
   do {                                         \
-    DRDCL_(annotate_happens_done)(addr);       \
+    ANNOTATE_HAPPENS_DONE(addr);               \
   } while(0)
 
 
@@ -50,6 +40,18 @@ AnnotateCondVarWait(const char *file, int line, const volatile void *cv,
   asm("");
 }
 
+static __inline__ void U_AnnotateHappensBefore(void* addr)
+{
+  ANNOTATE_HAPPENS_BEFORE(addr);
+  AnnotateCondVarSignal(__FILE__, __LINE__, addr);
+}
+
+static __inline__ void U_AnnotateHappensAfter(void *addr)
+{
+  ANNOTATE_HAPPENS_AFTER(addr);
+  AnnotateCondVarWait(__FILE__, __LINE__, addr, NULL);
+}
+
 
 #if 0
 {