projects
/
model-checker.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix snapshot code
[model-checker.git]
/
common.h
diff --git
a/common.h
b/common.h
index 50410ea7e0a1bce920a2bb3ce3b968d602f929de..7be72d72f8e0b56fc8f333ffe25489685b053f60 100644
(file)
--- a/
common.h
+++ b/
common.h
@@
-8,8
+8,13
@@
#include <stdio.h>
#include "config.h"
#include <stdio.h>
#include "config.h"
+extern int model_out;
+extern int switch_alloc;
+
+#define model_print(fmt, ...) do { switch_alloc = 1; dprintf(model_out, fmt, ##__VA_ARGS__); switch_alloc = 0; } while (0)
+
#ifdef CONFIG_DEBUG
#ifdef CONFIG_DEBUG
-#define DEBUG(fmt, ...) do {
printf("*** %25s(): line %-4d *** " fmt, __func__, __LINE
__, ##__VA_ARGS__); } while (0)
+#define DEBUG(fmt, ...) do {
model_print("*** %15s:%-4d %25s() *** " fmt, __FILE__, __LINE__, __func
__, ##__VA_ARGS__); } while (0)
#define DBG() DEBUG("\n")
#define DBG_ENABLED() (1)
#else
#define DBG() DEBUG("\n")
#define DBG_ENABLED() (1)
#else
@@
-20,19
+25,22
@@
void assert_hook(void);
void assert_hook(void);
+#ifdef CONFIG_ASSERT
#define ASSERT(expr) \
do { \
if (!(expr)) { \
fprintf(stderr, "Error: assertion failed in %s at line %d\n", __FILE__, __LINE__); \
#define ASSERT(expr) \
do { \
if (!(expr)) { \
fprintf(stderr, "Error: assertion failed in %s at line %d\n", __FILE__, __LINE__); \
- print_trace(); \
- model_print_summary(); \
+ /* print_trace(); // Trace printing may cause dynamic memory allocation */ \
assert_hook(); \
exit(EXIT_FAILURE); \
} \
} while (0)
assert_hook(); \
exit(EXIT_FAILURE); \
} \
} while (0)
+#else
+#define ASSERT(expr) \
+ do { } while (0)
+#endif /* CONFIG_ASSERT */
#define error_msg(...) fprintf(stderr, "Error: " __VA_ARGS__)
void print_trace(void);
#define error_msg(...) fprintf(stderr, "Error: " __VA_ARGS__)
void print_trace(void);
-void model_print_summary(void);
#endif /* __COMMON_H__ */
#endif /* __COMMON_H__ */