xref: /llvm-project/lldb/test/Shell/SymbolFile/DWARF/inlined-file0-line0-col0.test (revision 98c3dc3fa748072fc42054fb90b295c2d5190bfe)
1# RUN: yaml2obj %S/Inputs/inlined-file0-line0-col0.yaml -o %t
2# RUN: %lldb %t -s %s -o exit | FileCheck %s
3
4#  1 void abort(void);
5#  2 int g1 = 4, g2 = 6;
6#  3
7#  4 inline __attribute__((always_inline)) void bar(int q) {
8#  5   if (q > 5)
9#  6     abort();
10#  7 }
11#  8
12#  9 inline __attribute__((always_inline)) void foo(int q) {
13# 10   bar(q);
14# 11 }
15# 12
16# 13 int main() {
17# 14   foo(g1);
18# 15   foo(g2);
19# 16   return 0;
20# 17 }
21
22# The input object file contains a single abort invocation for the two inlined
23# instances of foo() in main() at line 0. As the file, line and column numbers
24# are all 0, file and line number information would be missing for foo and main
25# in the lookup information.
26#
27# A line number 0 is not printed for main in this case, but the same holds
28# for a non-inlined location with line number 0.
29
30# CHECK: Summary: inlined-file0-line0-col0.test.tmp`main + 30 [inlined] bar + 4 at inlined-file0-line0-col0.c:6:5
31# CHECK-NEXT:     inlined-file0-line0-col0.test.tmp`main + 26 [inlined] foo at inlined-file0-line0-col0.c:10:3
32# CHECK-NEXT:     inlined-file0-line0-col0.test.tmp`main + 26 at inlined-file0-line0-col0.c
33
34image lookup -a 0x1e
35