diff options
Diffstat (limited to 'clang/test/CodeGen/debug-info-line.c')
-rw-r--r-- | clang/test/CodeGen/debug-info-line.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/clang/test/CodeGen/debug-info-line.c b/clang/test/CodeGen/debug-info-line.c new file mode 100644 index 0000000..9e6e971 --- /dev/null +++ b/clang/test/CodeGen/debug-info-line.c @@ -0,0 +1,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 |