#include <stdio.h>
#include <stdlib.h>
+#include <model-assert.h>
+
#include "common.h"
#include "model.h"
#include "stacktrace.h"
size = backtrace(array, MAX_TRACE_LEN);
strings = backtrace_symbols(array, size);
- printf("\nDumping stack trace (%d frames):\n", size);
+ model_print("\nDumping stack trace (%d frames):\n", size);
for (i = 0; i < size; i++)
- printf("\t%s\n", strings[i]);
+ model_print("\t%s\n", strings[i]);
free(strings);
#endif /* CONFIG_STACKTRACE */
void assert_hook(void)
{
- printf("Add breakpoint to line %u in file %s.\n",__LINE__,__FILE__);
+ model_print("Add breakpoint to line %u in file %s.\n",__LINE__,__FILE__);
+}
+
+void model_assert(bool expr, const char *file, int line)
+{
+ if (!expr) {
+ char msg[100];
+ sprintf(msg, "Program has hit assertion in file %s at line %d\n",
+ file, line);
+ model->assert_user_bug(msg);
+ }
}