2013-06-20 Paul Eggert <eggert@cs.ucla.edu>
+ * alloc.c (die): Move "assertion failed" string here ...
+ * lisp.h (eassert): ... from here. Also, suppress evaluation of
+ COND when SUPPRESS_CHECKING. This shrinks the executable text
+ size by 0.8% to 2.2% when configured with --enable-checking,
+ depending on optimization flags (GCC 4.8.1 x86-64).
+
* floatfns.c (Flog10): Move to Lisp (marked obsolete there).
2013-06-20 RĂ¼diger Sonderfeld <ruediger@c-plusplus.de>
void
die (const char *msg, const char *file, int line)
{
- fprintf (stderr, "\r\n%s:%d: Emacs fatal error: %s\r\n",
+ fprintf (stderr, "\r\n%s:%d: Emacs fatal error: assertion failed: %s\r\n",
file, line, msg);
terminate_due_to_signal (SIGABRT, INT_MAX);
}
extern bool suppress_checking EXTERNALLY_VISIBLE;
# define eassert(cond) \
- ((cond) || suppress_checking \
+ (suppress_checking || (cond) \
? (void) 0 \
- : die ("assertion failed: " # cond, __FILE__, __LINE__))
+ : die (# cond, __FILE__, __LINE__))
#endif /* ENABLE_CHECKING */
\f
/* Use the configure flag --enable-check-lisp-object-type to make