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