brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · 016aaed Raw
91 lines · cpp
1// XFAIL: target={{.*}}-aix{{.*}}2// RUN: %clangxx_profgen -fcoverage-mapping %S/Inputs/instrprof-visibility-helper.cpp -o %t %s3// RUN: env LLVM_PROFILE_FILE=%t.profraw %run %t4// RUN: llvm-profdata merge %t.profraw -o %t.profdata5// RUN: llvm-profdata show --all-functions %t.profraw | FileCheck -allow-deprecated-dag-overlap %s --check-prefix=PROFILE6// RUN: llvm-cov show %t -instr-profile=%t.profdata | FileCheck -allow-deprecated-dag-overlap %s --check-prefix=COV7 8namespace {9#define NO_WEAK10#define NO_EXTERN11#include "instrprof-visibility-kinds.inc"12#undef NO_EXTERN13#undef NO_WEAK14}15 16namespace N1 {17#include "instrprof-visibility-kinds.inc"18}19 20int main() {21  call();22  N1::call();23  return 0;24}25 26// PROFILE-DAG: _ZN2N12f1Ev27// PROFILE-DAG: _ZN2N12f2Ev28// PROFILE-DAG: _ZN2N12f3Ev29// PROFILE-DAG: _ZN2N12f4Ev30// PROFILE-DAG: _ZN2N12f5Ev31// PROFILE-DAG: _ZN2N12f6Ev32// PROFILE-DAG: _ZN2N12f7Ev33// PROFILE-DAG: _ZN2N14callEv34// PROFILE-DAG: main35// PROFILE-DAG: instrprof-visibility.cpp:_ZN12_GLOBAL__N_14callEv36// PROFILE-DAG: instrprof-visibility.cpp:_ZN12_GLOBAL__N_12f1Ev37// PROFILE-DAG: instrprof-visibility.cpp:_ZN12_GLOBAL__N_12f3Ev38// PROFILE-DAG: instrprof-visibility.cpp:_ZN12_GLOBAL__N_12f5Ev39// PROFILE-DAG: instrprof-visibility.cpp:_ZN12_GLOBAL__N_12f6Ev40// PROFILE-DAG: instrprof-visibility.cpp:_ZN12_GLOBAL__N_12f7Ev41// PROFILE-DAG: Total functions: 1542 43// COV-DAG: instrprof-visibility-helper.cpp44 45// COV-DAG: instrprof-visibility-kinds.inc46 47// COV-DAG: _ZN2N12f1Ev48// COV-DAG: instrprof-visibility.cpp:_ZN12_GLOBAL__N_12f1Ev49// COV-DAG: instrprof-visibility.cpp:_ZN12_GLOBAL__N_12f3Ev50// COV-DAG: _ZN2N12f3Ev51// COV-DAG: instrprof-visibility.cpp:_ZN12_GLOBAL__N_12f5Ev52// COV-DAG: _ZN2N12f5Ev53// COV-DAG: _ZN2N12f6Ev54// COV-DAG: instrprof-visibility.cpp:_ZN12_GLOBAL__N_12f6Ev55// COV-DAG: instrprof-visibility.cpp:_ZN12_GLOBAL__N_12f7Ev56// COV-DAG: _ZN2N12f7Ev57 58// --- Check coverage for functions in the anonymous namespace.59// COV-DAG: instrprof-visibility.cpp:_ZN12_GLOBAL__N_14callEv60// COV-DAG: [[CALL:[0-9]+]]|{{ *}}1|void call() {61// COV-DAG: {{.*}}|{{ *}}1|  f1();62// COV-DAG: {{.*}}|{{ *}}1|#ifndef NO_WEAK63// COV-DAG: {{.*}}|{{ *}} |  f2();64// COV-DAG: {{.*}}|{{ *}} |#endif65// COV-DAG: {{.*}}|{{ *}}1|  f3();66// COV-DAG: {{.*}}|{{ *}}1|#ifndef NO_EXTERN67// COV-DAG: {{.*}}|{{ *}} |  f4();68// COV-DAG: {{.*}}|{{ *}} |#endif69// COV-DAG: {{.*}}|{{ *}}1|  f5();70// COV-DAG: {{.*}}|{{ *}}1|  f6();71// COV-DAG: {{.*}}|{{ *}}1|  f7();72// COV-DAG: {{.*}}|{{ *}}1|}73 74// --- Check coverage for functions in namespace N1.75// COV-DAG: _ZN2N14callEv76// COV-DAG: {{ *}}[[CALL]]|{{ *}}1|void call() {77// COV-DAG: {{.*}}|{{ *}}1|  f1();78// COV-DAG: {{.*}}|{{ *}}1|#ifndef NO_WEAK79// COV-DAG: {{.*}}|{{ *}}1|  f2();80// COV-DAG: {{.*}}|{{ *}}1|#endif81// COV-DAG: {{.*}}|{{ *}}1|  f3();82// COV-DAG: {{.*}}|{{ *}}1|#ifndef NO_EXTERN83// COV-DAG: {{.*}}|{{ *}}1|  f4();84// COV-DAG: {{.*}}|{{ *}}1|#endif85// COV-DAG: {{.*}}|{{ *}}1|  f5();86// COV-DAG: {{.*}}|{{ *}}1|  f6();87// COV-DAG: {{.*}}|{{ *}}1|  f7();88// COV-DAG: {{.*}}|{{ *}}1|}89 90// COV-DAG: instrprof-visibility.cpp91