llvm-project/compiler-rt/lib/gwp_asan/definitions.h

30 lines
894 B
C++

//===-- gwp_asan_definitions.h ----------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#ifndef GWP_ASAN_DEFINITIONS_H_
#define GWP_ASAN_DEFINITIONS_H_
#define TLS_INITIAL_EXEC __thread __attribute__((tls_model("initial-exec")))
#ifdef LIKELY
# undef LIKELY
#endif // defined(LIKELY)
#define LIKELY(X) __builtin_expect(!!(X), 1)
#ifdef UNLIKELY
# undef UNLIKELY
#endif // defined(UNLIKELY)
#define UNLIKELY(X) __builtin_expect(!!(X), 0)
#ifdef ALWAYS_INLINE
# undef ALWAYS_INLINE
#endif // defined(ALWAYS_INLINE)
#define ALWAYS_INLINE inline __attribute__((always_inline))
#endif // GWP_ASAN_DEFINITIONS_H_