[gdb/symtab] Don't complain about inlined functions
authorTom de Vries <tdevries@suse.de>
Tue, 4 Oct 2022 14:51:03 +0000 (16:51 +0200)
committerTom de Vries <tdevries@suse.de>
Tue, 4 Oct 2022 14:51:03 +0000 (16:51 +0200)
commit3aeba5cd1c7a2eac0d8a0efd051beaa77522f614
tree6aa1022be5561b5fa83bd5996aabfcb4411d5b38
parent436a7b5ef27e6d866a631d6020e904321cbee7e8
[gdb/symtab] Don't complain about inlined functions

With the test-case included in this patch, we get:
...
(gdb) ptype main^M
During symbol reading: cannot get low and high bounds for subprogram DIE \
  at 0x113^M
During symbol reading: cannot get low and high bounds for subprogram DIE \
  at 0x11f^M
type = int (void)^M
(gdb) FAIL: gdb.dwarf2/inline.exp: ptype main
...

The complaints are about foo, with DW_AT_inline == DW_INL_inlined:
...
 <1><11f>: Abbrev Number: 6 (DW_TAG_subprogram)
    <120>   DW_AT_name        : foo
    <126>   DW_AT_prototyped  : 1
    <126>   DW_AT_type        : <0x10c>
    <12a>   DW_AT_inline      : 1       (inlined)
...
and foo2, with DW_AT_inline == DW_INL_declared_inlined:
...
 <1><113>: Abbrev Number: 5 (DW_TAG_subprogram)
    <114>   DW_AT_name        : foo2
    <11a>   DW_AT_prototyped  : 1
    <11a>   DW_AT_type        : <0x10c>
    <11e>   DW_AT_inline      : 3       (declared as inline and inlined)
...

Fix this by not complaining about inlined functions.

Tested on x86_64-linux.
gdb/dwarf2/read.c
gdb/testsuite/gdb.dwarf2/inline.c [new file with mode: 0644]
gdb/testsuite/gdb.dwarf2/inline.exp [new file with mode: 0644]