| 1 | // RUN: %clang -emit-llvm -S -g %s -o - | FileCheck %s |
| 2 | |
| 3 | // Radar 8396182 |
| 4 | // There are no lexical blocks, but we need two DILexicalBlockFiles to |
| 5 | // correctly represent file info. |
| 6 | |
| 7 | int foo() { |
| 8 | int i = 1; |
| 9 | # 4 "m.c" |
| 10 | # 1 "m.h" 1 |
| 11 | int j = 2; |
| 12 | # 2 "m.h" |
| 13 | # 5 "m.c" 2 |
| 14 | return i + j; |
| 15 | } |
| 16 | |
| 17 | // CHECK-NOT: !DILexicalBlock |
| 18 | // CHECK: !DILexicalBlockFile({{.*}}file: ![[MH:[0-9]+]] |
| 19 | // CHECK: !DIFile(filename: "m.h" |
| 20 | // CHECK: !DILexicalBlockFile({{.*}}file: ![[MC:[0-9]+]] |
| 21 | // CHECK: !DIFile(filename: "m.c" |
| 22 | // CHECK-NOT: !DILexicalBlock |
| 23 | |