summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog6
-rw-r--r--src/alloc.c2
-rw-r--r--src/lisp.h4
3 files changed, 9 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index c503da29732..82856eb91a8 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,11 @@
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>
diff --git a/src/alloc.c b/src/alloc.c
index 3eb7e982e0f..d277dd2419b 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -6515,7 +6515,7 @@ bool suppress_checking;
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);
}
diff --git a/src/lisp.h b/src/lisp.h
index 3a4819c763e..e2d091e98f1 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -130,9 +130,9 @@ extern _Noreturn void die (const char *, const char *, int);
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 */
/* Use the configure flag --enable-check-lisp-object-type to make