summaryrefslogtreecommitdiff
path: root/clang/test/CodeGen/debug-info-line.c
blob: 9e6e9714aa4742b459fcb281fe713d3062d1f82a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// RUN: %clang -emit-llvm -S -g %s -o - | FileCheck %s

// Radar 8396182
// There is only one lexical block, but we need a DILexicalBlock and two
// DILexicalBlockFile to correctly represent file info. This means we have
// two lexical blocks shown as the latter is also tagged as a lexical block.

int foo() {
  int i = 1;
# 4 "m.c"
# 1 "m.h" 1
  int j = 2;
# 2 "m.h"
# 5 "m.c" 2
  return i + j;
}

// CHECK: DW_TAG_lexical_block
// CHECK: DW_TAG_lexical_block
// CHECK: !"m.h"
// CHECK: DW_TAG_lexical_block
// CHECK: !"m.c"
// CHECK-NOT: DW_TAG_lexical_block