diff options
3 files changed, 43 insertions, 0 deletions
diff --git a/compiler-rt/test/profile/Inputs/instrprof-gcov-__gcov_flush-terminate.c b/compiler-rt/test/profile/Inputs/instrprof-gcov-__gcov_flush-terminate.c new file mode 100644 index 00000000000..7b24d69c75f --- /dev/null +++ b/compiler-rt/test/profile/Inputs/instrprof-gcov-__gcov_flush-terminate.c @@ -0,0 +1,13 @@ +int main(void) { + int i = 22; + + __gcov_flush(); + + i = 42; + + asm("int $3"); + + i = 84; + + return 0; +} diff --git a/compiler-rt/test/profile/Inputs/instrprof-gcov-__gcov_flush-terminate.c.gcov b/compiler-rt/test/profile/Inputs/instrprof-gcov-__gcov_flush-terminate.c.gcov new file mode 100644 index 00000000000..69e229a3127 --- /dev/null +++ b/compiler-rt/test/profile/Inputs/instrprof-gcov-__gcov_flush-terminate.c.gcov @@ -0,0 +1,18 @@ +// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-gcov-__gcov_flush-terminate.c +// CHECK-NEXT: -: 0:Graph:instrprof-gcov-__gcov_flush-terminate.gcno +// CHECK-NEXT: -: 0:Data:instrprof-gcov-__gcov_flush-terminate.gcda +// CHECK-NEXT: -: 0:Runs:1 +// CHECK-NEXT: -: 0:Programs:1 +// CHECK-NEXT: -: 1:int main(void) { +// CHECK-NEXT: 1: 2: int i = 22; +// CHECK-NEXT: -: 3: +// CHECK-NEXT: 1: 4: __gcov_flush(); +// CHECK-NEXT: -: 5: +// CHECK-NEXT: #####: 6: i = 42; +// CHECK-NEXT: -: 7: +// CHECK-NEXT: #####: 8: asm("int $3"); +// CHECK-NEXT: -: 9: +// CHECK-NEXT: #####: 10: i = 84; +// CHECK-NEXT: -: 11: +// CHECK-NEXT: #####: 12: return 0; +// CHECK-NEXT: -: 13:} diff --git a/compiler-rt/test/profile/instrprof-gcov-__gcov_flush-terminate.test b/compiler-rt/test/profile/instrprof-gcov-__gcov_flush-terminate.test new file mode 100644 index 00000000000..aa51461a3bd --- /dev/null +++ b/compiler-rt/test/profile/instrprof-gcov-__gcov_flush-terminate.test @@ -0,0 +1,12 @@ +XFAIL: * + +RUN: mkdir -p %t.d +RUN: cd %t.d + +RUN: %clang --coverage -o %t %S/Inputs/instrprof-gcov-__gcov_flush-terminate.c +RUN: test -f instrprof-gcov-__gcov_flush-terminate.gcno + +RUN: rm -f instrprof-gcov-__gcov_flush-terminate.gcda +RUN: %expect_crash %run %t +RUN: llvm-cov gcov instrprof-gcov-__gcov_flush-terminate.gcda +RUN: FileCheck --match-full-lines --strict-whitespace --input-file instrprof-gcov-__gcov_flush-terminate.c.gcov %S/Inputs/instrprof-gcov-__gcov_flush-terminate.c.gcov |