21 #define MCL_ERROR_RETURN_POINTER(return_value, ...) \ 22 MCL_ERROR(__VA_ARGS__); \ 23 MCL_DEBUG_LEAVE("retVal = <%p>", (return_value)); \ 24 return (return_value); 26 #define MCL_ERROR_RETURN(return_value, ...) \ 27 MCL_ERROR(__VA_ARGS__); \ 28 MCL_DEBUG_LEAVE("retVal = <%d>", (return_value)); \ 29 return (return_value); 31 #define MCL_ASSERT_OK(code) \ 34 MCL_ERROR("Expected: 0, actual: %d for " #code".", code); \ 35 goto MCL_FUNCTION_LEAVE_LABEL; \ 38 #define MCL_ASSERT_NOT_NULL(argument, return_variable) \ 39 if(MCL_NULL == argument) \ 41 MCL_ERROR_STRING("Null function argument (" #argument ")."); \ 42 return_variable = MCL_TRIGGERED_WITH_NULL; \ 43 goto MCL_FUNCTION_LEAVE_LABEL; \ 46 #define MCL_ASSERT(condition) \ 49 MCL_ERROR_STRING("Assertion failed for condition = <" #condition ">."); \ 50 MCL_DEBUG_LEAVE("retVal = <%p>", MCL_NULL); \ 54 #define MCL_ASSERT_MESSAGE(condition, ...) \ 57 MCL_ERROR_STRING("Assertion failed for condition = <" #condition ">."); \ 58 MCL_ERROR_RETURN_POINTER(MCL_NULL, __VA_ARGS__); \ 61 #define MCL_ASSERT_STATEMENT_MESSAGE(condition, statement, ...) \ 64 MCL_ERROR_STRING("Assertion failed for condition = <" #condition ">."); \ 66 MCL_ERROR_RETURN_POINTER(MCL_NULL, __VA_ARGS__); \ 69 #define MCL_ASSERT_CODE(condition, return_code) \ 72 MCL_ERROR_STRING("Assertion failed for condition = <" #condition ">."); \ 73 MCL_DEBUG_LEAVE("retVal = <%d>", (return_code)); \ 74 return (return_code); \ 77 #define MCL_ASSERT_CODE_MESSAGE(condition, return_code, ...) \ 80 MCL_ERROR_STRING("Assertion failed for condition = <" #condition ">."); \ 81 MCL_ERROR_RETURN(return_code, __VA_ARGS__); \ 84 #define MCL_ASSERT_STATEMENT_CODE(condition, statement, return_code) \ 87 MCL_ERROR_STRING("Assertion failed for condition = <" #condition ">."); \ 89 MCL_DEBUG_LEAVE("retVal = <%d>", (return_code)); \ 90 return (return_code); \ 93 #define MCL_ASSERT_STATEMENT_CODE_MESSAGE(condition, statement, return_code, ...) \ 96 MCL_ERROR_STRING("Assertion failed for condition = <" #condition ">."); \ 98 MCL_ERROR_RETURN(return_code, __VA_ARGS__); \ 105 #endif //MCL_ASSERT_H_ Log utility module interface header file.