* dwarf2read.c (dwarf_decode_lines): Ignore rows where is_stmt is 0.
authorCary Coutant <ccoutant@google.com>
Tue, 23 Jun 2009 19:09:54 +0000 (19:09 +0000)
committerCary Coutant <ccoutant@google.com>
Tue, 23 Jun 2009 19:09:54 +0000 (19:09 +0000)
Set basic_block to 0 after a special opcode.

gdb/ChangeLog
gdb/dwarf2read.c

index b02d5ae01b3cb04a0c8069c33573cc7e8e6dd2b0..93b71ac709443af4dbc4c5c44c4decb5547bdda1 100644 (file)
@@ -1,3 +1,8 @@
+2009-06-23  Cary Coutant  <ccoutant@google.com>
+
+       * dwarf2read.c (dwarf_decode_lines): Ignore rows where is_stmt is 0.
+       Set basic_block to 0 after a special opcode.
+
 2009-06-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        Fix a regression by the mmap patch from 2009-06-16.
index 9c24f8ebdd02c67608f1b30d7fb9b79731d6f6c2..f5901c74baa348a64ed1a7577199669ea5a58685 100644 (file)
@@ -7353,7 +7353,7 @@ dwarf_decode_lines (struct line_header *lh, char *comp_dir, bfd *abfd,
              else
                {
                  lh->file_names[file - 1].included_p = 1;
-                 if (!decode_for_pst_p)
+                 if (!decode_for_pst_p && is_stmt)
                    {
                      if (last_subfile != current_subfile)
                        {
@@ -7368,7 +7368,7 @@ dwarf_decode_lines (struct line_header *lh, char *comp_dir, bfd *abfd,
                      record_line (current_subfile, line, addr);
                    }
                }
-             basic_block = 1;
+             basic_block = 0;
            }
          else switch (op_code)
            {
@@ -7433,7 +7433,7 @@ dwarf_decode_lines (struct line_header *lh, char *comp_dir, bfd *abfd,
              else
                {
                  lh->file_names[file - 1].included_p = 1;
-                 if (!decode_for_pst_p)
+                 if (!decode_for_pst_p && is_stmt)
                    {
                      if (last_subfile != current_subfile)
                        {