1*1debfc3dSmrg //===-- tsan_interface_ann.h ------------------------------------*- C++ -*-===// 2*1debfc3dSmrg // 3*1debfc3dSmrg // This file is distributed under the University of Illinois Open Source 4*1debfc3dSmrg // License. See LICENSE.TXT for details. 5*1debfc3dSmrg // 6*1debfc3dSmrg //===----------------------------------------------------------------------===// 7*1debfc3dSmrg // 8*1debfc3dSmrg // This file is a part of ThreadSanitizer (TSan), a race detector. 9*1debfc3dSmrg // 10*1debfc3dSmrg // Interface for dynamic annotations. 11*1debfc3dSmrg //===----------------------------------------------------------------------===// 12*1debfc3dSmrg #ifndef TSAN_INTERFACE_ANN_H 13*1debfc3dSmrg #define TSAN_INTERFACE_ANN_H 14*1debfc3dSmrg 15*1debfc3dSmrg #include <sanitizer_common/sanitizer_internal_defs.h> 16*1debfc3dSmrg 17*1debfc3dSmrg // This header should NOT include any other headers. 18*1debfc3dSmrg // All functions in this header are extern "C" and start with __tsan_. 19*1debfc3dSmrg 20*1debfc3dSmrg #ifdef __cplusplus 21*1debfc3dSmrg extern "C" { 22*1debfc3dSmrg #endif 23*1debfc3dSmrg 24*1debfc3dSmrg SANITIZER_INTERFACE_ATTRIBUTE void __tsan_acquire(void *addr); 25*1debfc3dSmrg SANITIZER_INTERFACE_ATTRIBUTE void __tsan_release(void *addr); 26*1debfc3dSmrg 27*1debfc3dSmrg #ifdef __cplusplus 28*1debfc3dSmrg } // extern "C" 29*1debfc3dSmrg #endif 30*1debfc3dSmrg 31*1debfc3dSmrg #endif // TSAN_INTERFACE_ANN_H 32