# Test that we can extract all the sled types we know about. This is built with
# a a file with functions always instrumented, and using the built-ins and
# intrinsics supported by clang. Those are built with:
#
#   clang++ -c all-sleds.cc -o all-sleds.o -fpic -std=c++11 -fxray-instrument
#
# RUN: llvm-xray extract %S/Inputs/all-sleds.o -s | FileCheck %s
# CHECK-DAG: {{kind:.function-enter}}
# CHECK-DAG: {{kind:.function-exit}}
# CHECK-DAG: {{kind:.custom-event}}
# CHECK-DAG: {{kind:.log-args-enter}}
