Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
in MC mode, failed xbt_assert() are reported as MC_assert()s
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Mon, 17 Oct 2022 23:36:14 +0000 (01:36 +0200)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Fri, 21 Oct 2022 12:51:29 +0000 (14:51 +0200)
include/xbt/asserts.h

index f0d023f..314c5ec 100644 (file)
@@ -8,6 +8,7 @@
 #ifndef XBT_ASSERTS_H
 #define XBT_ASSERTS_H
 
+#include "simgrid/modelchecker.h"
 #include <stdlib.h>
 #include <xbt/base.h>
 #include <xbt/log.h>
@@ -60,7 +61,10 @@ XBT_ATTRIB_NORETURN XBT_PUBLIC void xbt_abort(void);
       XBT_CCRITICAL(root, __VA_ARGS__);                                                                                \
       if (!xbt_log_no_loc)                                                                                             \
         xbt_backtrace_display_current();                                                                               \
-      abort();                                                                                                         \
+      if (MC_is_active())                                                                                              \
+        MC_assert(0);                                                                                                  \
+      else                                                                                                             \
+        abort();                                                                                                       \
     }                                                                                                                  \
   } while (0)