From ea2d8780e9c78628fe5e3312ca4c17c054156c83 Mon Sep 17 00:00:00 2001 From: Evgeniy Stepanov Date: Thu, 31 Jan 2013 09:58:59 +0000 Subject: Annotate BumpPtrAllocator for MemorySanitizer. This change adds MemorySanitizer annotations to BumpPtrAllocator to improve report quality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174051 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/Compiler.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'include/llvm/Support/Compiler.h') diff --git a/include/llvm/Support/Compiler.h b/include/llvm/Support/Compiler.h index 96af756dde..36539f6d34 100644 --- a/include/llvm/Support/Compiler.h +++ b/include/llvm/Support/Compiler.h @@ -15,6 +15,8 @@ #ifndef LLVM_SUPPORT_COMPILER_H #define LLVM_SUPPORT_COMPILER_H +#include "llvm/Config/config.h" + #ifndef __has_feature # define __has_feature(x) 0 #endif @@ -293,4 +295,20 @@ # define LLVM_FUNCTION_NAME __func__ #endif +/// \macro LLVM_ENABLE_MSAN_ANNOTATIONS +/// \brief Are MemorySanitizer annotations available. +#if defined(HAVE_SANITIZER_MSAN_INTERFACE_H) +# include +#else +# define __msan_allocated_memory(p, size) +#endif + +/// \macro LLVM_MEMORY_SANITIZER_BUILD +/// \brief Whether LLVM itself is built with MemorySanitizer instrumentation. +#if __has_feature(memory_sanitizer) +# define LLVM_MEMORY_SANITIZER_BUILD 1 +#else +# define LLVM_MEMORY_SANITIZER_BUILD 0 +#endif + #endif -- cgit v1.2.3