printf -> model_print
[model-checker.git] / common.cc
index b274989f48bc4d885f6976b596139b1e5bde42ed..d9915993c8535c0b9b99ee3ffe0f27ab9aa9ec80 100644 (file)
--- a/common.cc
+++ b/common.cc
@@ -2,6 +2,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#include <model-assert.h>
+
 #include "common.h"
 #include "model.h"
 #include "stacktrace.h"
@@ -22,10 +24,10 @@ void print_trace(void)
        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 */
@@ -38,5 +40,15 @@ void model_print_summary(void)
 
 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);
+       }
 }