* dwarf2read.c (dwarf_decode_lines): Do not consider the current
authorJoel Brobecker <brobecker@gnat.com>
Mon, 2 Aug 2004 01:25:57 +0000 (01:25 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Mon, 2 Aug 2004 01:25:57 +0000 (01:25 +0000)
        file as included until we record the first line in the linetable.

gdb/ChangeLog
gdb/dwarf2read.c

index 9039dfc1af3c07696ca7ac08519dd66809dc44fd..8728ff45beca7d0c20e24fea9482f3062c17646a 100644 (file)
@@ -1,3 +1,8 @@
+2004-08-01  Joel Brobecker  <brobecker@gnat.com>
+
+       * dwarf2read.c (dwarf_decode_lines): Do not consider the current
+       file as included until we record the first line in the linetable.
+
 2004-08-01  Andrew Cagney  <cagney@gnu.org>
 
        * frame.h (deprecated_pop_dummy_frame)
index 7d1dafad00bd34de8479f69005d69dc1656a3902..fa11475a69117f6ed88abaaa13579ffe93374053 100644 (file)
@@ -5977,6 +5977,7 @@ dwarf_decode_lines (struct line_header *lh, char *comp_dir, bfd *abfd,
              address += (adj_opcode / lh->line_range)
                * lh->minimum_instruction_length;
              line += lh->line_base + (adj_opcode % lh->line_range);
+              lh->file_names[file - 1].included_p = 1;
               if (!decode_for_pst_p)
                 {
                  /* append row to matrix using current values */
@@ -5996,6 +5997,7 @@ dwarf_decode_lines (struct line_header *lh, char *comp_dir, bfd *abfd,
                {
                case DW_LNE_end_sequence:
                  end_sequence = 1;
+                  lh->file_names[file - 1].included_p = 1;
                   if (!decode_for_pst_p)
                    record_line (current_subfile, 0, address);
                  break;
@@ -6030,6 +6032,7 @@ dwarf_decode_lines (struct line_header *lh, char *comp_dir, bfd *abfd,
                }
              break;
            case DW_LNS_copy:
+              lh->file_names[file - 1].included_p = 1;
               if (!decode_for_pst_p)
                record_line (current_subfile, line, 
                             check_cu_functions (address, cu));
@@ -6054,7 +6057,6 @@ dwarf_decode_lines (struct line_header *lh, char *comp_dir, bfd *abfd,
                 file = read_unsigned_leb128 (abfd, line_ptr, &bytes_read);
                 line_ptr += bytes_read;
                 fe = &lh->file_names[file - 1];
-                fe->included_p = 1;
                 if (fe->dir_index)
                   dir = lh->include_dirs[fe->dir_index - 1];
                 else