#ifndef RUNTIME_ASSERT_H #define RUNTIME_ASSERT_H #include #include #include #include #include #define runtime_assert(x, ...) for (bool expression = x; !(expression); assert(expression && # x)) __VA_OPT__(fprintf(stderr, __VA_ARGS__), fprintf(stderr, " (errno : %s)", (errno == 0) ? "OK" : strerror(errno)), fprintf(stderr, "\n")) #endif //RUNTIME_ASSERT_H