llvm-project/compiler-rt/lib/xray/xray_defs.h

33 lines
939 B
C++

//===-- xray_defs.h ---------------------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// Common definitions useful for XRay sources.
//
//===----------------------------------------------------------------------===//
#ifndef XRAY_XRAY_DEFS_H
#define XRAY_XRAY_DEFS_H
#if XRAY_SUPPORTED
#define XRAY_NEVER_INSTRUMENT __attribute__((xray_never_instrument))
#else
#define XRAY_NEVER_INSTRUMENT
#endif
#if SANITIZER_NETBSD
// NetBSD: thread_local is not aligned properly, and the code relying
// on it segfaults
#define XRAY_TLS_ALIGNAS(x)
#define XRAY_HAS_TLS_ALIGNAS 0
#else
#define XRAY_TLS_ALIGNAS(x) alignas(x)
#define XRAY_HAS_TLS_ALIGNAS 1
#endif
#endif // XRAY_XRAY_DEFS_H