* dwarf2.c (decode_line_info): Revert last change. Instead set
authorAlan Modra <amodra@gmail.com>
Fri, 10 Jun 2005 10:14:23 +0000 (10:14 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 10 Jun 2005 10:14:23 +0000 (10:14 +0000)
initial low_pc to -1 to avoid need to test whether loc_pc has
been set.

bfd/ChangeLog
bfd/dwarf2.c

index 0fab521198ae598261756e70796f9419f03b9d1d..407820ae6431aaeb1df74c0827de7a0ff5602d09 100644 (file)
@@ -1,3 +1,9 @@
+2005-06-10  Alan Modra  <amodra@bigpond.net.au>
+
+       * dwarf2.c (decode_line_info): Revert last change.  Instead set
+       initial low_pc to -1 to avoid need to test whether loc_pc has
+       been set.
+
 2005-06-09  Christopher Faylor  <cgf@timesys.com>
 
        * coffcode.h (sec_to_styp_flags): Set appropriate section flags when
index 8d21e5ae11b0d81a5a3af9388c191d21b65f7cc9..9f654139d20c9cedb2ddabaf137318d237440437 100644 (file)
@@ -1090,9 +1090,8 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash)
         order using DW_LNE_set_address (e.g. Intel C++ 6.0 compiler
         for ia64-Linux).  Thus, to determine the low and high
         address, we must compare on every DW_LNS_copy, etc.  */
-      bfd_vma low_pc  = 0;
+      bfd_vma low_pc  = (bfd_vma) -1;
       bfd_vma high_pc = 0;
-      bfd_boolean low_pc_set = FALSE;
 
       /* Decode the table.  */
       while (! end_sequence)
@@ -1110,11 +1109,8 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash)
              /* Append row to matrix using current values.  */
              add_line_info (table, address, filename, line, column, 0);
              basic_block = 1;
-             if (!low_pc_set || address < low_pc)
-               {
-                 low_pc_set = TRUE;
-                 low_pc = address;
-               }
+             if (address < low_pc)
+               low_pc = address;
              if (address > high_pc)
                high_pc = address;
            }
@@ -1132,11 +1128,8 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash)
                  end_sequence = 1;
                  add_line_info (table, address, filename, line, column,
                                 end_sequence);
-                 if (!low_pc_set || address < low_pc)
-                   {
-                     low_pc_set = TRUE;
-                     low_pc = address;
-                   }
+                 if (address < low_pc)
+                   low_pc = address;
                  if (address > high_pc)
                    high_pc = address;
                  arange_add (unit->abfd, &unit->arange, low_pc, high_pc);
@@ -1188,11 +1181,8 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash)
            case DW_LNS_copy:
              add_line_info (table, address, filename, line, column, 0);
              basic_block = 0;
-             if (!low_pc_set || address < low_pc)
-               {
-                 low_pc_set = TRUE;
-                 low_pc = address;
-               }
+             if (address < low_pc)
+               low_pc = address;
              if (address > high_pc)
                high_pc = address;
              break;