1238901Sandrew//===-- tsan_interface_ann.h ------------------------------------*- C++ -*-===//
2238901Sandrew//
3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4353358Sdim// See https://llvm.org/LICENSE.txt for license information.
5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6238901Sandrew//
7238901Sandrew//===----------------------------------------------------------------------===//
8238901Sandrew//
9238901Sandrew// This file is a part of ThreadSanitizer (TSan), a race detector.
10238901Sandrew//
11238901Sandrew// Interface for dynamic annotations.
12238901Sandrew//===----------------------------------------------------------------------===//
13238901Sandrew#ifndef TSAN_INTERFACE_ANN_H
14238901Sandrew#define TSAN_INTERFACE_ANN_H
15238901Sandrew
16251034Sed#include <sanitizer_common/sanitizer_internal_defs.h>
17245614Sandrew
18238901Sandrew// This header should NOT include any other headers.
19238901Sandrew// All functions in this header are extern "C" and start with __tsan_.
20238901Sandrew
21238901Sandrew#ifdef __cplusplus
22238901Sandrewextern "C" {
23238901Sandrew#endif
24238901Sandrew
25274201SdimSANITIZER_INTERFACE_ATTRIBUTE void __tsan_acquire(void *addr);
26274201SdimSANITIZER_INTERFACE_ATTRIBUTE void __tsan_release(void *addr);
27238901Sandrew
28238901Sandrew#ifdef __cplusplus
29238901Sandrew}  // extern "C"
30238901Sandrew#endif
31238901Sandrew
32238901Sandrew#endif  // TSAN_INTERFACE_ANN_H
33