[gdb/symtab] Fix missing breakpoint location for inlined function
[deliverable/binutils-gdb.git] / gdb / dwarf2 / read.c
index e6566f9649f8da631be48decdcabd344dc45ec39..ac6c15e7b25014603e181d5ab70a01a8cdefef15 100644 (file)
@@ -8146,6 +8146,9 @@ scan_partial_symbols (struct partial_die_info *first_die, CORE_ADDR *lowpc,
            case DW_TAG_subprogram:
            case DW_TAG_inlined_subroutine:
              add_partial_subprogram (pdi, lowpc, highpc, set_addrmap, cu);
+             if (cu->language == language_cplus)
+               scan_partial_symbols (pdi->die_child, lowpc, highpc,
+                                     set_addrmap, cu);
              break;
            case DW_TAG_constant:
            case DW_TAG_variable:
@@ -18246,7 +18249,8 @@ load_partial_dies (const struct die_reader_specs *reader,
       if (!load_all
          && cu->language == language_cplus
          && parent_die != NULL
-         && parent_die->tag == DW_TAG_subprogram)
+         && parent_die->tag == DW_TAG_subprogram
+         && abbrev->tag != DW_TAG_inlined_subroutine)
        {
          info_ptr = skip_one_die (reader, info_ptr + bytes_read, abbrev);
          continue;
This page took 0.026557 seconds and 4 git commands to generate.