aboutsummaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorJason Merrill <merrill@gnu.org>1996-12-13 01:31:47 +0000
committerJason Merrill <merrill@gnu.org>1996-12-13 01:31:47 +0000
commit469ac9939bb1bec320f7b3814de1f62423ea219a (patch)
tree16aaf051fd2c4b487fff6c48e868df681f121018 /gcc/final.c
parent97adc6ed4cac5b3e857ea1d8166972021ceb772f (diff)
downloadgcc-469ac9939bb1bec320f7b3814de1f62423ea219a.zip
gcc-469ac9939bb1bec320f7b3814de1f62423ea219a.tar.gz
gcc-469ac9939bb1bec320f7b3814de1f62423ea219a.tar.bz2
x
From-SVN: r13305
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/gcc/final.c b/gcc/final.c
index 40a0911..cc5bedf 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -1208,6 +1208,10 @@ final (first, file, optimize, prescan)
last_ignored_compare = 0;
new_block = 1;
+#if defined (DWARF2_DEBUGGING_INFO) && defined (HAVE_prologue)
+ dwarf2out_frame_debug (NULL_RTX);
+#endif
+
check_exception_handler_labels ();
/* Make a map indicating which line numbers appear in this function.
@@ -1370,12 +1374,6 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
if (write_symbols == DWARF_DEBUG)
dwarfout_begin_function ();
#endif
-#ifdef DWARF2_DEBUGGING_INFO
- /* This outputs a marker where the function body starts, so it
- must be after the prologue. */
- if (write_symbols == DWARF2_DEBUG)
- dwarf2out_begin_function ();
-#endif
break;
}
if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_DELETED)
@@ -2104,6 +2102,13 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
output_asm_insn (template, recog_operand);
+#if defined (DWARF2_DEBUGGING_INFO) && defined (HAVE_prologue)
+ /* If this insn is part of the prologue, emit DWARF v2
+ call frame info. */
+ if (write_symbols == DWARF2_DEBUG && RTX_FRAME_RELATED_P (insn))
+ dwarf2out_frame_debug (insn);
+#endif
+
#if 0
/* It's not at all clear why we did this and doing so interferes
with tests we'd like to do to use REG_WAS_0 notes, so let's try