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