1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-27 07:30:59 -08:00

Add my own assertion handler for mps

within easy-tramp

Copied from Perforce
 Change: 19088
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Richard Tucker 1997-12-09 15:05:14 +00:00
parent 61dbd13f4a
commit b22480aac5

View file

@ -154,7 +154,7 @@ void error(const char *format, ...)
}
static void myabort(void) {
abort();
exit(EXIT_FAILURE);
}
void verror(const char *format, va_list args)
@ -190,6 +190,20 @@ void asserts(int expr, const char *format, ...)
/* routines for easy use of the MPS */
/* my own assertion handler, insalled by easy_tramp
*/
void my_assert_handler(const char *cond, const char *id,
const char *file, unsigned line) {
comment("MPS ASSERTION FAILURE");
report("assert", "true");
report("assertid", id);
report("assertfile", file);
report("assertline", "%u", line);
report("assertcond", cond);
myabort();
}
/* easy_tramp
simplified trampoline, for those who don't want to
pass anything into or out of it -- it takes
@ -200,6 +214,8 @@ static void *call_f(void *p, size_t s)
{
void (**f)(void) = p;
mps_assert_install(my_assert_handler);
(**f)();
return NULL;
}