summaryrefslogtreecommitdiff
path: root/lib/gwp_asan/definitions.h
blob: 1190adbd4f4fc9d0ee5e3a546c7bb7ca13930c2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//===-- 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_