forked from OSchip/llvm-project
30 lines
894 B
C++
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_
|