This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Improved abort(), rev 3



This is the third and hopefully final rev of my abort() patch.  To
review, the point of the patch is to make ICEs print

foobar.c:23: In function `quux':
foobar.c:23: Internal compiler error in `reload', at reload1.c:123

instead of

../../egcs/gcc/reload1.c:123: Internal compiler error in function reload

which is confusing (users might think they had somehow got gcc source
files mixed up with their code) and unhelpful in finding the input that
gcc crashed on.

This rev is substantially less invasive than the previous version,
although it touches roughly the same number of files.  (Most of the
files affected just need to make fatal() non-static.)  There's a
downside: aborts in a few files (rtl.c, bitmap.c, print-rtl.c) will
look slightly different from aborts in other files.  Also, fatal_insn
and fatal_insn_not_found do not report their caller in this patch.

The patch compiles successfully, passes the testsuite, and appears to
work when an abort is faked (by calling do_abort from gdb).  I am
having trouble finding code that makes gcc abort for real to do a
proper test.

zw

1999-04-15 11:56 -0400  Zack Weinberg  <zack@rabi.columbia.edu>

	* system.h: Always prototype abort.  Prototype fatal.  Define
	abort to call fatal, not fprintf/exit.  Define a stub macro
	for trim_filename.
	* toplev.c: Define DIR_SEPARATOR.  (trim_filename): New
	function.
	* toplev.h: Prototype trim_filename, and #undef system.h's stub.

	* gcc.c, genattr.c, genattrtab.c, gencodes.c, genconfig.c,
	genemit.c, genextract.c, genflags.c, genopinit.c, genoutput.c,
	genpeep.c, genrecog.c: Make fatal non-static.
	* gcov.c, gengenrtl.c, protoize.c: #undef abort after
	including system.h.

	* config/i386/dgux.h, config/m68k/xm-amix.h: Remove stale code
	relating to abort.

begin 664 errors3.diff.gz
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
,G\C]&QA-O4AY-P``
`
end


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]