Home | History | Annotate | Line # | Download | only in xray
      1  1.1  kamil //===-- xray_defs.h ---------------------------------------------*- C++ -*-===//
      2  1.1  kamil //
      3  1.1  kamil //                     The LLVM Compiler Infrastructure
      4  1.1  kamil //
      5  1.1  kamil // This file is distributed under the University of Illinois Open Source
      6  1.1  kamil // License. See LICENSE.TXT for details.
      7  1.1  kamil //
      8  1.1  kamil //===----------------------------------------------------------------------===//
      9  1.1  kamil //
     10  1.1  kamil // Common definitions useful for XRay sources.
     11  1.1  kamil //
     12  1.1  kamil //===----------------------------------------------------------------------===//
     13  1.1  kamil #ifndef XRAY_XRAY_DEFS_H
     14  1.1  kamil #define XRAY_XRAY_DEFS_H
     15  1.1  kamil 
     16  1.1  kamil #if XRAY_SUPPORTED
     17  1.1  kamil #define XRAY_NEVER_INSTRUMENT __attribute__((xray_never_instrument))
     18  1.1  kamil #else
     19  1.1  kamil #define XRAY_NEVER_INSTRUMENT
     20  1.1  kamil #endif
     21  1.1  kamil 
     22  1.1  kamil #if SANITIZER_NETBSD
     23  1.1  kamil // NetBSD: thread_local is not aligned properly, and the code relying
     24  1.1  kamil // on it segfaults
     25  1.1  kamil #define XRAY_TLS_ALIGNAS(x)
     26  1.1  kamil #define XRAY_HAS_TLS_ALIGNAS 0
     27  1.1  kamil #else
     28  1.1  kamil #define XRAY_TLS_ALIGNAS(x) alignas(x)
     29  1.1  kamil #define XRAY_HAS_TLS_ALIGNAS 1
     30  1.1  kamil #endif
     31  1.1  kamil 
     32  1.1  kamil #endif  // XRAY_XRAY_DEFS_H
     33