aboutsummaryrefslogtreecommitdiff
path: root/clang/test/CodeGen/xray-attributes-skip-entry-exit.cpp
blob: 1a6f21b9e02052ac1a3e7b8503df0abc72e3c953 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// RUN: %clang_cc1 -fxray-instrument \
// RUN:     -fxray-instrumentation-bundle=function-entry -x c++ \
// RUN:     -std=c++11 -triple x86_64-unknown-unknown -emit-llvm -o - %s \
// RUN:     | FileCheck --check-prefixes CHECK,SKIPEXIT %s
// RUN: %clang_cc1 -fxray-instrument \
// RUN:     -fxray-instrumentation-bundle=function-exit -x c++ \
// RUN:     -std=c++11 -triple x86_64-unknown-unknown -emit-llvm -o - %s \
// RUN:     | FileCheck --check-prefixes CHECK,SKIPENTRY %s
// RUN: %clang_cc1 -fxray-instrument \
// RUN:     -fxray-instrumentation-bundle=function-entry,function-exit -x c++ \
// RUN:     -std=c++11 -triple x86_64-unknown-unknown -emit-llvm -o - %s \
// RUN:     | FileCheck --check-prefixes CHECK,NOSKIPENTRY,NOSKIPEXIT %s

// CHECK: define{{.*}} void @_Z13justAFunctionv() #[[ATTR:[0-9]+]] {
void justAFunction() {
}

// SKIPENTRY: attributes #[[ATTR]] = {{.*}} "xray-skip-entry" {{.*}}
// SKIPEXIT: attributes #[[ATTR]] = {{.*}} "xray-skip-exit" {{.*}}

// NOSKIPENTRY-NOT: attributes #[[ATTR]] = {{.*}} "xray-skip-entry" {{.*}}
// NOSKIPEXIT-NOT: attributes #[[ATTR]] = {{.*}} "xray-skip-exit" {{.*}}