xref: /netbsd-src/external/gpl3/gcc.old/dist/libsanitizer/tsan/tsan_interface_ann.h (revision 1debfc3d3fad8af6f31804271c18e67f77b4d718)
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