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