diff --git a/Userland/LibC/assert.c b/Userland/LibC/assert.c index 6078d00..6ec592e 100644 --- a/Userland/LibC/assert.c +++ b/Userland/LibC/assert.c @@ -1,9 +1,6 @@ #include -#include -#include -void assert_failed(const char *condition, const char *filename, size_t line) +void breakpoint(const char *filename, size_t line) { - printf("assert(%s) failed\n%s:%zu\n", condition, filename, line); - abort(); + asm volatile("bkpt #0"); } diff --git a/Userland/LibC/assert.h b/Userland/LibC/assert.h index cd28177..99c5547 100644 --- a/Userland/LibC/assert.h +++ b/Userland/LibC/assert.h @@ -1,5 +1,8 @@ #pragma once -#include +#include -#define assert(...) ((__VA_ARGS__) ? (void)0 : abort()) +__attribute__((noinline)) +void breakpoint(const char *filename, size_t line); + +#define assert(condition) ((condition) ? (void)0 : breakpoint(__FILE__, __LINE__))