//===-- 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_