From 43bc9bea0773cce280c4d4442a494fe24f8e92bd Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Mon, 27 Nov 2023 14:08:35 -0500 Subject: add framework for marking function call location in diagnostics --- src/stdlib/abort_handler_s.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/stdlib') diff --git a/src/stdlib/abort_handler_s.c b/src/stdlib/abort_handler_s.c index c35148a7..f6471151 100644 --- a/src/stdlib/abort_handler_s.c +++ b/src/stdlib/abort_handler_s.c @@ -4,6 +4,7 @@ //#include #include "errno/errno_t.h" #include "_stdlib.h" +#include "_assert.h" void abort_handler_s(const char * restrict msg, void * restrict ptr, errno_t error) { @@ -11,8 +12,15 @@ void abort_handler_s(const char * restrict msg, void * restrict ptr, errno_t err puts(msg); if (ci) { - printf("In call to %s\n", ci->func); - printf("value %x\n", ci->value); + printf("In call to %s()", ci->func); + if (__checked_call.file) { + printf(" ("); + if (__checked_call.func) { + printf("in %s(), ", __checked_call.func); + } + printf("at %s:%llu)", __checked_call.file, __checked_call.line); + } + printf(", value %x\n", ci->value); } if (error != 0) { printf("Provided error: %s (%d)\n", strerror(error), error); -- cgit v1.2.1