diff options
Diffstat (limited to 'test/CoverageMapping/macros.c')
-rw-r--r-- | test/CoverageMapping/macros.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/test/CoverageMapping/macros.c b/test/CoverageMapping/macros.c index f6339614397b6..60164be91d7cb 100644 --- a/test/CoverageMapping/macros.c +++ b/test/CoverageMapping/macros.c @@ -3,6 +3,7 @@ #define MACRO return; bar() #define MACRO_2 bar() #define MACRO_1 return; MACRO_2 +#define MACRO_3 MACRO_2 void bar() {} @@ -24,7 +25,6 @@ void func2() { // CHECK-NEXT: File 0, [[@LINE]]:14 -> [[@LINE+5]]:2 = #0 i = 2; } // CHECK-NEXT: File 1, 5:17 -> 5:32 = #0 -// CHECK-NEXT: File 1, 5:25 -> 5:32 = 0 // CHECK-NEXT: Expansion,File 1, 5:25 -> 5:32 = 0 // CHECK-NEXT: File 2, 4:17 -> 4:22 = 0 @@ -36,8 +36,29 @@ void func3() { // CHECK-NEXT: File 0, [[@LINE]]:14 -> [[@LINE+3]]:2 = #0 // CHECK-NEXT: File 1, 4:17 -> 4:22 = #0 // CHECK-NEXT: File 2, 4:17 -> 4:22 = #0 +// CHECK-NEXT: func4 +void func4() { // CHECK-NEXT: File 0, [[@LINE]]:14 -> [[@LINE+6]]:2 = #0 + int i = 0; + while (i++ < 10) // CHECK-NEXT: File 0, [[@LINE]]:10 -> [[@LINE]]:18 = (#0 + #1) + if (i < 5) // CHECK-NEXT: File 0, [[@LINE]]:5 -> [[@LINE+2]]:14 = #1 + // CHECK-NEXT: File 0, [[@LINE-1]]:9 -> [[@LINE-1]]:14 = #1 + MACRO_2; // CHECK-NEXT: Expansion,File 0, [[@LINE]]:7 -> [[@LINE]]:14 = #2 +} +// CHECK-NEXT: File 1, 4:17 -> 4:22 = #2 +// CHECK-NOT: File 1 + +// CHECK-NEXT: func5 +void func5() { // CHECK-NEXT: File 0, [[@LINE]]:14 -> [[@LINE+4]]:2 = #0 + int i = 0; + if (i > 5) // CHECK-NEXT: File 0, [[@LINE]]:7 -> [[@LINE]]:12 = #0 + MACRO_3; // CHECK-NEXT: Expansion,File 0, [[@LINE]]:5 -> [[@LINE]]:12 = #1 +} +// CHECK-NEXT: Expansion,File 1, 6:17 -> 6:24 = #1 +// CHECK-NEXT: File 2, 4:17 -> 4:22 = #1 + int main(int argc, const char *argv[]) { func(); func2(); func3(); + func4(); } |