Commit 22c4957e by Michael Meissner Committed by Michael Meissner

Redefine abort to report linenumber and filename of the error

From-SVN: r19423
parent 563c063f
...@@ -90,6 +90,11 @@ end ...@@ -90,6 +90,11 @@ end
# stdio stop working and therefore the `pr' command below as well. # stdio stop working and therefore the `pr' command below as well.
b abort b abort
# Put breakpoints at exit and fancy_abort in case abort is mapped
# to either fprintf/exit or fancy_abort.
b exit
b fancy_abort
# Make gdb complain about symbol reading errors. This is so that gcc # Make gdb complain about symbol reading errors. This is so that gcc
# developers can see and fix bugs in gcc debug output. # developers can see and fix bugs in gcc debug output.
set complaints 20 set complaints 20
Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com> Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
* system.h (abort): If abort is not defined, and neither is
USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
reporting the line and filename of the error.
* .gdbinit: Add breakpoints on exit and fancy_abort.
* final.c (split_double): Avoid a compiler warning if * final.c (split_double): Avoid a compiler warning if
BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT. BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
......
...@@ -188,4 +188,33 @@ extern void free (); ...@@ -188,4 +188,33 @@ extern void free ();
extern char *getenv (); extern char *getenv ();
#endif #endif
/* Redefine abort to report an internal error w/o coredump, and reporting the
location of the error in the source file. */
#ifndef abort
#ifndef __STDC__
#ifndef __GNUC__
#ifndef USE_SYSTEM_ABORT
#define USE_SYSTEM_ABORT
#endif /* !USE_SYSTEM_ABORT */
#endif /* !__GNUC__ */
#endif /* !__STDC__ */
#ifndef USE_SYSTEM_ABORT
#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
#define abort() \
(fprintf (stderr, \
"%s:%d: Internal compiler error\n", __FILE__, __LINE__), \
exit (FATAL_EXIT_CODE))
#else
#define abort() \
(fprintf (stderr, \
"%s:%d: Internal compiler error in function %s\n", \
__FILE__, __LINE__, __PRETTY_FUNCTION__), \
exit (FATAL_EXIT_CODE))
#endif /* recent gcc */
#endif /* !USE_SYSTEM_ABORT */
#endif /* !abort */
#endif /* __GCC_SYSTEM_H__ */ #endif /* __GCC_SYSTEM_H__ */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment