diff options
Diffstat (limited to 'libddekit/include/ddekit/assert.h')
-rw-r--r-- | libddekit/include/ddekit/assert.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/libddekit/include/ddekit/assert.h b/libddekit/include/ddekit/assert.h new file mode 100644 index 00000000..5d572b49 --- /dev/null +++ b/libddekit/include/ddekit/assert.h @@ -0,0 +1,23 @@ +#ifndef _ddekit_assert_h +#define _ddekit_assert_h + +#include <l4/dde/ddekit/printf.h> +#include <l4/dde/ddekit/panic.h> + +/** \file ddekit/assert.h */ + +/** Assert that an expression is true and panic if not. + * \ingroup DDEKit_util + */ +#define Assert(expr) do \ + { \ + if (!(expr)) { \ + ddekit_print("\033[31;1mDDE: Assertion failed: "#expr"\033[0m\n"); \ + ddekit_printf(" File: %s:%d\n",__FILE__,__LINE__); \ + ddekit_printf(" Function: %s()\n", __FUNCTION__); \ + ddekit_panic("Assertion failed."); \ + }} while (0); + +#endif + +#define assert Assert |