?RCS: $Id$ ?RCS: ?RCS: Copyright (c) 1992, Raphael Manfredi ?RCS: ?RCS: This software belongs to the public domain. You may redistribute ?RCS: freely and/or use parts of this software in any other application, ?RCS: as explained in the README file which comes with dist. ?RCS: ?RCS: $Log$ ?RCS: Revision 1.3 1997/10/06 19:13:04 paulv ?RCS: Renaming of all Eiffel include files (foo.h -> eif_foo.h) ?RCS: ?MAKE:d_maypanic: cat Myread Oldconfig Setvar ?MAKE: -pick add $@ %< ?S:d_maypanic: ?S: Conditionally defines MAY_PANIC, which enables extra run-time checks. ?S:. ?C:MAY_PANIC: ?C: This symbol is defined if the run-time is to be compiled with extra ?C: consistency checks. Those checks make sure some "impossible" conditions ?C: never occur, and they raise a panic if they do. Typical checks include ?C: free-list consistency check, stack overflow or underflow, etc... ?C:. ?H:#$d_maypanic MAY_PANIC /* Extra run-time consistency checks */ ?H:. ?LINT:set d_maypanic : see if we want to allow run-time panics case "$d_maypanic" in "$define") dflt=y ;; *) dflt=n ;; esac $cat <<'EOM' I can set up the run-time to do extra sanity checks which will incur a slight execution overhead but provide better error tracking in case an inconsitency appears. Typical checks include free-list consistency checks, stack overflow or underflow, etc... Detecting the inconsistency when it appears simply avoids cascade effects which may produce an inextricable mess in memory. This is only an insurance against unexpected problems: in a perfect world, it would not make things any different. EOM rp='Do you want to enable run-time extra checks?' . myread case "$ans" in y*) val="$define" ;; *) val="$undef" ;; esac set d_maypanic eval $setvar