aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1998-12-01 03:56:06 -0800
committerRichard Henderson <rth@gcc.gnu.org>1998-12-01 03:56:06 -0800
commitdf3ba30ac3667b0ff00d7ae8aa29ffad2d1c68d4 (patch)
treeeace6c2506aaf94d7b8c54c76ed4db4214cfd54a
parent78a2bc08568c524d51ef1ebd69e0fa0be4fcf216 (diff)
downloadgcc-df3ba30ac3667b0ff00d7ae8aa29ffad2d1c68d4.zip
gcc-df3ba30ac3667b0ff00d7ae8aa29ffad2d1c68d4.tar.gz
gcc-df3ba30ac3667b0ff00d7ae8aa29ffad2d1c68d4.tar.bz2
* final.c (final_scan_insn): Abort if block_depth falls below 0.
From-SVN: r24030
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/final.c12
2 files changed, 11 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1eb7c84..ac20dac 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Tue Dec 1 11:55:04 1998 Richard Henderson <rth@cygnus.com>
+
+ * final.c (final_scan_insn): Abort if block_depth falls below 0.
+
Tue Dec 1 10:23:16 1998 Nick Clifton <nickc@cygnus.com>
* config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc.
diff --git a/gcc/final.c b/gcc/final.c
index be6f331..5bcfd6b 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -2184,28 +2184,30 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
PENDING_BLOCKS and output debugging info based on that. */
--block_depth;
+ if (block_depth < 0)
+ abort ();
#ifdef XCOFF_DEBUGGING_INFO
- if (write_symbols == XCOFF_DEBUG && block_depth >= 0)
+ if (write_symbols == XCOFF_DEBUG)
xcoffout_end_block (file, high_block_linenum,
pending_blocks[block_depth]);
#endif
#ifdef DBX_DEBUGGING_INFO
- if (write_symbols == DBX_DEBUG && block_depth >= 0)
+ if (write_symbols == DBX_DEBUG)
ASM_OUTPUT_INTERNAL_LABEL (file, "LBE",
pending_blocks[block_depth]);
#endif
#ifdef SDB_DEBUGGING_INFO
- if (write_symbols == SDB_DEBUG && block_depth >= 0)
+ if (write_symbols == SDB_DEBUG)
sdbout_end_block (file, high_block_linenum,
pending_blocks[block_depth]);
#endif
#ifdef DWARF_DEBUGGING_INFO
- if (write_symbols == DWARF_DEBUG && block_depth >= 0)
+ if (write_symbols == DWARF_DEBUG)
dwarfout_end_block (pending_blocks[block_depth]);
#endif
#ifdef DWARF2_DEBUGGING_INFO
- if (write_symbols == DWARF2_DEBUG && block_depth >= 0)
+ if (write_symbols == DWARF2_DEBUG)
dwarf2out_end_block (pending_blocks[block_depth]);
#endif
}