Index: clang/include/clang/Basic/Features.def =================================================================== --- clang/include/clang/Basic/Features.def +++ clang/include/clang/Basic/Features.def @@ -37,6 +37,7 @@ FEATURE(hwaddress_sanitizer, LangOpts.Sanitize.hasOneOf(SanitizerKind::HWAddress | SanitizerKind::KernelHWAddress)) +FEATURE(xray_instrument, LangOpts.XRayInstrument) FEATURE(assume_nonnull, true) FEATURE(attribute_analyzer_noreturn, true) FEATURE(attribute_availability, true) Index: clang/test/Lexer/has_feature_xray_instrument.cpp =================================================================== --- /dev/null +++ clang/test/Lexer/has_feature_xray_instrument.cpp @@ -0,0 +1,11 @@ +// RUN: %clang_cc1 -E -fxray-instrument %s -o - | FileCheck --check-prefix=CHECK-XRAY %s +// RUN: %clang_cc1 -E %s -o - | FileCheck --check-prefix=CHECK-NO-XRAY %s + +#if __has_feature(xray_instrument) +int XRayInstrumentEnabled(); +#else +int XRayInstrumentDisabled(); +#endif + +// CHECK-XRAY: XRayInstrumentEnabled +// CHECK-NO-XRAY: XRayInstrumentDisabled