Clang Project

clang_source_code/test/CoverageMapping/macroparams2.c
1// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only -main-file-name macroparams2.c %s | FileCheck %s
2
3#define MACRO(REFS, CALLS)  (4 * (CALLS) < (REFS))
4
5struct S {
6  int i, j;
7};
8
9// CHECK: File 0, [[@LINE+1]]:12 -> [[@LINE+10]]:2 = #0
10int main() {
11  struct S arr[32] = { 0 };
12  int n = 0;
13  // CHECK-NEXT: Expansion,File 0, [[@LINE+2]]:7 -> [[@LINE+2]]:12 = #0
14  // CHECK-NEXT: File 0, [[@LINE+1]]:34 -> [[@LINE+3]]:4 = #1
15  if (MACRO(arr[n].j, arr[n].i)) {
16    n = 1;
17  }
18  return n;
19}
20
21// CHECK: File 1, 3:29 -> 3:51 = #0
22