
Summary: Adds a CMake check for whether the compiler used to build the XRay library supports XRay-instrumentation. If the compiler we're using does support the `-fxray-instrument` flag (i.e. recently-built Clang), we define the XRAY_NEVER_INSTRUMENT macro that then makes sure that the XRay runtime functions never get XRay-instrumented. This prevents potential weirdness involved with building the XRay library with a Clang that supports XRay-instrumentation, and is attempting to XRay-instrument the build of compiler-rt. Reviewers: majnemer, rSerge, echristo Subscribers: mehdi_amini, llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D26597 llvm-svn: 287068
23 lines
686 B
C++
23 lines
686 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
|
|
|
|
#endif // XRAY_XRAY_DEFS_H
|