12 #include <Sawyer/Assert.h>
18 # include "Diagnostics.h"
21 # ifndef ROSE_ASSERTION_BEHAVIOR
23 # ifndef ROSE_ASSERTION_EXIT
27 # define ROSE_ASSERTION_BEHAVIOR ROSE_ASSERTION_EXIT
62 #define ROSE_ASSERT assert
63 #elif defined(ROSE_ASSERTION_BEHAVIOR)
71 #define ROSE_ASSERT ASSERT_always_require
72 #elif !defined(NDEBUG)
74 #define ROSE_ASSERT assert
80 #define ROSE_ASSERT(exp) do {if (__builtin_constant_p(exp)) {if (exp) {} else (std::abort)();}} while (0)