// RUN: %clang_cc1 -mllvm -emptyline-comment-coverage=false -fprofile-instrument=clang -fcoverage-mapping -dump-coverage-mapping -emit-llvm-only -main-file-name includehell.cpp %s > %tmapping

int main() {
  int x = 0;

  #include "Inputs/starts_a_scope"
    x = x;
    #include "Inputs/code.h"
    x = x;
  #include "Inputs/ends_a_scope"

  #include "Inputs/starts_a_scope"
    #include "Inputs/code.h"
  #include "Inputs/ends_a_scope"

  #include "Inputs/starts_a_scope"
  #include "Inputs/ends_a_scope"

  return 0;
}

// RUN: FileCheck -input-file %tmapping %s --check-prefix=CHECK-MAIN
// RUN: FileCheck -input-file %tmapping %s --check-prefix=CHECK-START
// RUN: FileCheck -input-file %tmapping %s --check-prefix=CHECK-CODE
// RUN: FileCheck -input-file %tmapping %s --check-prefix=CHECK-END

// CHECK-MAIN: File [[MAIN:[0-9]]], 3:12 -> 20:2 = #0
// CHECK-MAIN-NEXT: Expansion,File [[MAIN]], 6:12 -> 6:35 = #0
// CHECK-MAIN-NEXT: File [[MAIN]], 6:35 -> 10:33 = #1
// CHECK-MAIN-NEXT: Expansion,File [[MAIN]], 8:14 -> 8:29 = #1
// CHECK-MAIN-NEXT: Expansion,File [[MAIN]], 10:12 -> 10:33 = #1
// CHECK-MAIN-NEXT: Expansion,File [[MAIN]], 12:12 -> 12:35 = #0
// CHECK-MAIN-NEXT: File [[MAIN]], 12:35 -> 14:33 = #5
// CHECK-MAIN-NEXT: Expansion,File [[MAIN]], 13:14 -> 13:29 = #5
// CHECK-MAIN-NEXT: Expansion,File [[MAIN]], 14:12 -> 14:33 = #5
// CHECK-MAIN-NEXT: Expansion,File [[MAIN]], 16:12 -> 16:35 = #0
// CHECK-MAIN-NEXT: File [[MAIN]], 16:35 -> 17:33 = #9
// CHECK-MAIN-NEXT: Expansion,File [[MAIN]], 17:12 -> 17:33 = #9

// CHECK-START: File [[START1:[0-9]]], 1:1 -> 5:1 = #0
// CHECK-START: File [[START1]], 4:17 -> 4:22 = (#0 + #1)
// CHECK-START: File [[START1]], 4:24 -> 4:27 = #1
// CHECK-START: File [[START1]], 4:29 -> 5:1 = #1
// CHECK-START: File [[START2:[0-9]]], 1:1 -> 5:1 = #0
// CHECK-START: File [[START2]], 4:17 -> 4:22 = (#0 + #5)
// CHECK-START: File [[START2]], 4:24 -> 4:27 = #5
// CHECK-START: File [[START2]], 4:29 -> 5:1 = #5
// CHECK-START: File [[START3:[0-9]]], 1:1 -> 5:1 = #0
// CHECK-START: File [[START3]], 4:17 -> 4:22 = (#0 + #9)
// CHECK-START: File [[START3]], 4:24 -> 4:27 = #9
// CHECK-START: File [[START3]], 4:29 -> 5:1 = #9

// CHECK-CODE:      File [[CODE1:[0-9]]], 1:1 -> 14:1 = #1
// CHECK-CODE-NEXT: File [[CODE1]], 4:5 -> 4:11 = #1
// CHECK-CODE: File [[CODE1]], 4:13 -> 6:2 = #2
// CHECK-CODE: File [[CODE1]], 6:8 -> 8:2 = (#1 - #2)
// CHECK-CODE-NEXT: File [[CODE1]], 9:5 -> 9:9 = #1
// CHECK-CODE: File [[CODE1]], 9:11 -> 11:2 = #3
// CHECK-CODE: File [[CODE1]], 11:8 -> 13:2 = (#1 - #3)
// CHECK-CODE:      File [[CODE2:[0-9]]], 1:1 -> 14:1 = #5
// CHECK-CODE-NEXT: File [[CODE2]], 4:5 -> 4:11 = #5
// CHECK-CODE: File [[CODE2]], 4:13 -> 6:2 = #6
// CHECK-CODE: File [[CODE2]], 6:8 -> 8:2 = (#5 - #6)
// CHECK-CODE-NEXT: File [[CODE2]], 9:5 -> 9:9 = #5
// CHECK-CODE: File [[CODE2]], 9:11 -> 11:2 = #7
// CHECK-CODE: File [[CODE2]], 11:8 -> 13:2 = (#5 - #7)

// CHECK-END: File [[END1:[0-9]]], 1:1 -> 3:2 = #1
// CHECK-END: File [[END1]], 1:1 -> 6:1 = #0
// CHECK-END: File [[END1]], 5:5 -> 5:9 = #0
// CHECK-END: File [[END1]], 5:11 -> 5:16 = #4
// CHECK-END: File [[END2:[0-9]]], 1:1 -> 3:2 = #5
// CHECK-END: File [[END2]], 1:1 -> 6:1 = #0
// CHECK-END: File [[END2]], 5:5 -> 5:9 = #0
// CHECK-END: File [[END2]], 5:11 -> 5:16 = #8
// CHECK-END: File [[END3:[0-9]]], 1:1 -> 3:2 = #9
// CHECK-END: File [[END3]], 1:1 -> 6:1 = #0
// CHECK-END: File [[END3]], 5:5 -> 5:9 = #0
// CHECK-END: File [[END3]], 5:11 -> 5:16 = #10
