re PR debug/45103 (DW_OP_reg* has too large valid range for noreturn funcs)
authorJakub Jelinek <jakub@redhat.com>
Wed, 28 Jul 2010 17:00:06 +0000 (19:00 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 28 Jul 2010 17:00:06 +0000 (19:00 +0200)
PR debug/45103
* dwarf2out.c (dwarf2out_var_location): Always consider
NOTE_DURING_CALL_P notes, even when not followed by real instructions.

From-SVN: r162646

gcc/ChangeLog
gcc/dwarf2out.c

index 5e8721d3602845738e18bd29c37c78d3f2146e4d..03c0db11f5c97ede37c15da1978c0f29dd587bb3 100644 (file)
@@ -1,3 +1,9 @@
+2010-07-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/45103
+       * dwarf2out.c (dwarf2out_var_location): Always consider
+       NOTE_DURING_CALL_P notes, even when not followed by real instructions.
+
 2010-07-28  Maxim Kuvyrkov  <maxim@codesourcery.com>
 
        PR rtl-optimization/45107
index d6751ac1dc2e8aa8e876d982a21cd3ef1f91fcc0..f9fc9976c76d2e8ccf8e7dacab6e8c4405add847 100644 (file)
@@ -21278,7 +21278,7 @@ dwarf2out_var_location (rtx loc_note)
   next_real = next_real_insn (loc_note);
   /* If there are no instructions which would be affected by this note,
      don't do anything.  */
-  if (next_real == NULL_RTX)
+  if (next_real == NULL_RTX && !NOTE_DURING_CALL_P (loc_note))
     return;
 
   /* If there were any real insns between note we processed last time