Do not reset loc_directive_seen in dwarf2_emit_insn.
authorNick Clifton <nickc@redhat.com>
Mon, 13 May 2002 10:24:14 +0000 (10:24 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 13 May 2002 10:24:14 +0000 (10:24 +0000)
gas/ChangeLog
gas/dwarf2dbg.c

index 15d5575a6bedc0e7989b5182995e19db15dcc86e..7e20cf27c71df6d065a8ecb9441569a6c998bb3b 100644 (file)
@@ -1,5 +1,8 @@
 2002-05-13  Nick Clifton  <nickc@cambridge.redhat.com>
 
+       * dwarf2dbg.c (dwarf2_emit_insn): Do not reset
+       loc_directive_seen.
+
        * stabs.c (s_stab_generic): Fix grammatical error in warning
        message.
 
index 8b7005b2b5ca31903ef63c578e72eaf705d63aa5..115f6fa8bca0ef4a6dace4a2c49de3663877f06c 100644 (file)
@@ -286,16 +286,18 @@ dwarf2_emit_insn (size)
 {
   struct dwarf2_line_info loc;
 
-  if (debug_type != DEBUG_DWARF2 && ! loc_directive_seen)
+  if (loc_directive_seen)
+    /* Use the last location established by a .loc directive, not
+       the value returned by dwarf2_where().  That calls as_where()
+       which will return either the logical input file name (foo.c)
+       or the physical input file name (foo.s) and not the file name
+       specified in the most recent .loc directive (eg foo.h).  */
+    loc = current;
+  else if (debug_type != DEBUG_DWARF2)
     return;
-  loc_directive_seen = false;
-
-  /* Use the last location established by a .loc directive, not
-     the value returned by dwarf2_where().  That calls as_where()
-     which will return either the logical input file name (foo.c)
-     or the physical input file name (foo.s) and not the file name
-     specified in the most recent .loc directive (eg foo.h).  */
-  loc = current;
+  else
+    dwarf2_where (& loc);
+
   dwarf2_gen_line_info (frag_now_fix () - size, &loc);
 }