OSDN Git Service

PR debug/13231
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Jan 2004 21:12:02 +0000 (21:12 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Jan 2004 21:12:02 +0000 (21:12 +0000)
        * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
        instructions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75884 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/dwarf2out.c

index be309dd..5da9220 100644 (file)
@@ -1,5 +1,11 @@
 2004-01-14  Richard Henderson  <rth@redhat.com>
 
+       PR debug/13231
+       * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
+       instructions.
+
+2004-01-14  Richard Henderson  <rth@redhat.com>
+
        PR c++/12491
        * except.c (struct eh_region): Add u.fixup.resolved.
        (resolve_one_fixup_region): Split out from ...
index 5f75d29..f1f9771 100644 (file)
@@ -1057,6 +1057,13 @@ dwarf2out_stack_adjust (rtx insn)
   const char *label;
   int i;
 
+  /* Don't handle epilogues at all.  Certainly it would be wrong to do so
+     with this function.  Proper support would require all frame-related
+     insns to be marked, and to be able to handle saving state around
+     epilogues textually in the middle of the function.  */
+  if (prologue_epilogue_contains (insn) || sibcall_epilogue_contains (insn))
+    return;
+
   if (!flag_asynchronous_unwind_tables && GET_CODE (insn) == CALL_INSN)
     {
       /* Extract the size of the args from the CALL rtx itself.  */