Index: base/compiler_specific.h |
diff --git a/base/compiler_specific.h b/base/compiler_specific.h |
index 5d7d9d11019bd22bc0a9c9e28f06ccb036566a5e..ca661c90535051377623952cef446a59e94a13b3 100644 |
--- a/base/compiler_specific.h |
+++ b/base/compiler_specific.h |
@@ -166,4 +166,19 @@ |
// If available, it would look like: |
// __attribute__((format(wprintf, format_param, dots_param))) |
+ |
+// MemorySanitizer annotations. |
+#ifdef MEMORY_SANITIZER |
+extern "C" { |
+ void __msan_unpoison(const void *p, unsigned long s); |
Mark Mentovai
2013/03/20 13:34:58
No indentation within extern "C". We treat it the
eugenis
2013/03/20 13:40:29
Done.
|
+} |
Mark Mentovai
2013/03/20 13:34:58
} // extern "C"
(again, like a namespace)
eugenis
2013/03/20 13:40:29
Done.
|
+ |
+// Mark a memory region fully initialized. |
+// Use this to annotate the code that deliberately reads uninitialized data, |
Mark Mentovai
2013/03/20 13:34:58
Remove the word “the.”
eugenis
2013/03/20 13:40:29
Done.
|
+// for example a GC scavenging root set pointers from stack. |
Mark Mentovai
2013/03/20 13:34:58
And here, “stack” needs “the.”
eugenis
2013/03/20 13:40:29
Done.
|
+#define MSAN_UNPOISON(p, s) __msan_unpoison(p, s) |
+#else // MEMORY_SANITIZER |
Mark Mentovai
2013/03/20 13:34:58
At least two spaces between the last non-whitespac
eugenis
2013/03/20 13:40:29
Done.
|
+#define MSAN_UNPOISON(p, s) |
+#endif // MEMORY_SANITIZER |
+ |
#endif // BASE_COMPILER_SPECIFIC_H_ |