Blender  V3.3
BLI_asan.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 #pragma once
4 
5 /* Clang defines this. */
6 #ifndef __has_feature
7 # define __has_feature(x) 0
8 #endif
9 
10 #if (defined(__SANITIZE_ADDRESS__) || __has_feature(address_sanitizer)) && !defined(_MSC_VER)
11 # include "sanitizer/asan_interface.h"
12 #else
13 /* Ensure return value is used. Just using UNUSED_VARS results in a warning. */
14 # define ASAN_POISON_MEMORY_REGION(addr, size) (void)(0 && ((size) != 0 && (addr) != NULL))
15 # define ASAN_UNPOISON_MEMORY_REGION(addr, size) (void)(0 && ((size) != 0 && (addr) != NULL))
16 #endif
17 
23 #define BLI_asan_poison(addr, size) ASAN_POISON_MEMORY_REGION(addr, size)
24 
28 #define BLI_asan_unpoison(addr, size) ASAN_UNPOISON_MEMORY_REGION(addr, size)