1 // RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only -main-file-name preprocessor.c %s | FileCheck %s 2 3 // CHECK: func 4 void func() { // CHECK: File 0, [[@LINE]]:13 -> [[@LINE+5]]:2 = #0 5 int i = 0; 6 #ifdef MACRO // CHECK-NEXT: Skipped,File 0, [[@LINE]]:2 -> [[@LINE+2]]:2 = 0 7 int x = i; 8 #endif 9 } 10 11 #if 0 12 int g = 0; 13 14 void bar() { } 15 #endif 16 17 // CHECK: main 18 int main() { // CHECK-NEXT: File 0, [[@LINE]]:12 -> {{[0-9]+}}:2 = #0 19 int i = 0; 20 #if 0 // CHECK-NEXT: Skipped,File 0, [[@LINE]]:2 -> [[@LINE+4]]:2 = 0 21 if(i == 0) { 22 i = 1; 23 } 24 #endif 25 26 #if 1 27 // CHECK-NEXT: File 0, [[@LINE+1]]:6 -> [[@LINE+1]]:12 = #0 28 if(i == 0) { // CHECK-NEXT: File 0, [[@LINE]]:14 -> [[@LINE+2]]:4 = #1 29 i = 1; 30 } 31 #else // CHECK-NEXT: Skipped,File 0, [[@LINE]]:2 -> [[@LINE+5]]:2 = 0 32 if(i == 1) { 33 i = 0; 34 } 35 } 36 #endif 37 return 0; 38 } 39