[gcov] Add tests using switch, one with break clauses and one with fallthrough

llvm-svn: 338453
This commit is contained in:
Marco Castelluccio 2018-07-31 23:26:50 +00:00
parent b32ff46ff7
commit ae43a27f9c
5 changed files with 98 additions and 0 deletions

View File

@ -0,0 +1,18 @@
int main(void)
{
int i = 22;
switch (i) {
case 7:
break;
case 22:
i = 7;
break;
case 42:
break;
}
return 0;
}

View File

@ -0,0 +1,23 @@
// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-gcov-switch1.c
// CHECK-NEXT: -: 0:Graph:instrprof-gcov-switch1.gcno
// CHECK-NEXT: -: 0:Data:instrprof-gcov-switch1.gcda
// CHECK-NEXT: -: 0:Runs:1
// CHECK-NEXT: -: 0:Programs:1
// CHECK-NEXT: -: 1:int main(void)
// CHECK-NEXT: -: 2:{
// CHECK-NEXT: 2: 3: int i = 22;
// CHECK-NEXT: -: 4:
// CHECK-NEXT: 2: 5: switch (i) {
// CHECK-NEXT: -: 6: case 7:
// CHECK-NEXT: #####: 7: break;
// CHECK-NEXT: -: 8:
// CHECK-NEXT: -: 9: case 22:
// CHECK-NEXT: 1: 10: i = 7;
// CHECK-NEXT: 1: 11: break;
// CHECK-NEXT: -: 12:
// CHECK-NEXT: -: 13: case 42:
// CHECK-NEXT: #####: 14: break;
// CHECK-NEXT: -: 15: }
// CHECK-NEXT: -: 16:
// CHECK-NEXT: 1: 17: return 0;
// CHECK-NEXT: -: 18:}

View File

@ -0,0 +1,18 @@
int main(void)
{
int i = 22;
switch (i) {
case 7:
break;
case 22:
i = 7;
case 42:
i = 22;
break;
}
return 0;
}

View File

@ -0,0 +1,23 @@
// CHECK: -: 0:Source:{{.*}}Inputs/instrprof-gcov-switch2.c
// CHECK-NEXT: -: 0:Graph:instrprof-gcov-switch2.gcno
// CHECK-NEXT: -: 0:Data:instrprof-gcov-switch2.gcda
// CHECK-NEXT: -: 0:Runs:1
// CHECK-NEXT: -: 0:Programs:1
// CHECK-NEXT: -: 1:int main(void)
// CHECK-NEXT: -: 2:{
// CHECK-NEXT: 3: 3: int i = 22;
// CHECK-NEXT: -: 4:
// CHECK-NEXT: 3: 5: switch (i) {
// CHECK-NEXT: -: 6: case 7:
// CHECK-NEXT: #####: 7: break;
// CHECK-NEXT: -: 8:
// CHECK-NEXT: -: 9: case 22:
// CHECK-NEXT: 1: 10: i = 7;
// CHECK-NEXT: -: 11:
// CHECK-NEXT: -: 12: case 42:
// CHECK-NEXT: 1: 13: i = 22;
// CHECK-NEXT: 1: 14: break;
// CHECK-NEXT: -: 15: }
// CHECK-NEXT: -: 16:
// CHECK-NEXT: 1: 17: return 0;
// CHECK-NEXT: -: 18:}

View File

@ -0,0 +1,16 @@
RUN: mkdir -p %t.d
RUN: cd %t.d
RUN: %clang --coverage -o %t %S/Inputs/instrprof-gcov-switch1.c
RUN: test -f instrprof-gcov-switch1.gcno
RUN: rm -f instrprof-gcov-switch1.gcda
RUN: %run %t
RUN: llvm-cov gcov instrprof-gcov-switch1.gcda
RUN: FileCheck --match-full-lines --strict-whitespace --input-file instrprof-gcov-switch1.c.gcov %S/Inputs/instrprof-gcov-switch1.c.gcov
RUN: %clang --coverage -o %t %S/Inputs/instrprof-gcov-switch2.c
RUN: test -f instrprof-gcov-switch2.gcno
RUN: rm -f instrprof-gcov-switch2.gcda
RUN: %run %t
RUN: llvm-cov gcov instrprof-gcov-switch2.gcda
RUN: FileCheck --match-full-lines --strict-whitespace --input-file instrprof-gcov-switch2.c.gcov %S/Inputs/instrprof-gcov-switch2.c.gcov