17 #if FW_ASSERT_LEVEL == FW_NO_ASSERT 19 #define FW_CASSERT(...) 20 #define FW_CASSERT_1(cond, arg1) 21 #define FW_CASSERT_2(cond, arg1, arg2) 22 #define FW_CASSERT_3(cond, arg1, arg2, arg3) 23 #define FW_CASSERT_4(cond, arg1, arg2, arg3, arg4) 24 #define FW_CASSERT_5(cond, arg1, arg2, arg3, arg4, arg5) 25 #define FW_CASSERT_6(cond, arg1, arg2, arg3, arg4, arg5, arg6) 27 #else // ASSERT is defined 29 #if FW_ASSERT_LEVEL == FW_FILEID_ASSERT 30 #define FILE_NAME_ARG U32 32 #define FW_CASSERT(cond) ((void)((cond) ? (0) : (CAssert0(ASSERT_FILE_ID, __LINE__)))) 34 #define FW_CASSERT_1(cond, arg1) ((void)((cond) ? (0) : (CAssert1(ASSERT_FILE_ID, (FwAssertArgType)(arg1), __LINE__)))) 36 #define FW_CASSERT_2(cond, arg1, arg2) \ 37 ((void)((cond) ? (0) : (CAssert2(ASSERT_FILE_ID, (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), __LINE__)))) 39 #define FW_CASSERT_3(cond, arg1, arg2, arg3) \ 40 ((void)((cond) ? (0) \ 41 : (CAssert3(ASSERT_FILE_ID, (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), \ 42 (FwAssertArgType)(arg3), __LINE__)))) 44 #define FW_CASSERT_4(cond, arg1, arg2, arg3, arg4) \ 45 ((void)((cond) ? (0) \ 46 : (CAssert4(ASSERT_FILE_ID, (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), \ 47 (FwAssertArgType)(arg3), (FwAssertArgType)(arg4), __LINE__)))) 49 #define FW_CASSERT_5(cond, arg1, arg2, arg3, arg4, arg5) \ 50 ((void)((cond) ? (0) \ 51 : (CAssert5(ASSERT_FILE_ID, (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), \ 52 (FwAssertArgType)(arg3), (FwAssertArgType)(arg4), (FwAssertArgType)(arg5), __LINE__)))) 54 #define FW_CASSERT_6(cond, arg1, arg2, arg3, arg4, arg5, arg6) \ 57 : (CAssert6(ASSERT_FILE_ID, (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), (FwAssertArgType)(arg3), \ 58 (FwAssertArgType)(arg4), (FwAssertArgType)(arg5), (FwAssertArgType)(arg6), __LINE__)))) 60 #else // FW_ASSERT_LEVEL != FW_FILEID_ASSERT 61 #define FILE_NAME_ARG const CHAR* 63 #define FW_CASSERT(cond) ((void)((cond) ? (0) : (CAssert0((FILE_NAME_ARG)(__FILE__), __LINE__)))) 65 #define FW_CASSERT_1(cond, arg1) \ 66 ((void)((cond) ? (0) : (CAssert1((FILE_NAME_ARG)(__FILE__), (FwAssertArgType)(arg1), __LINE__)))) 68 #define FW_CASSERT_2(cond, arg1, arg2) \ 71 : (CAssert2((FILE_NAME_ARG)(__FILE__), (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), __LINE__)))) 73 #define FW_CASSERT_3(cond, arg1, arg2, arg3) \ 74 ((void)((cond) ? (0) \ 75 : (CAssert3((FILE_NAME_ARG)(__FILE__), (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), \ 76 (FwAssertArgType)(arg3), __LINE__)))) 78 #define FW_CASSERT_4(cond, arg1, arg2, arg3, arg4) \ 79 ((void)((cond) ? (0) \ 80 : (CAssert4((FILE_NAME_ARG)(__FILE__), (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), \ 81 (FwAssertArgType)(arg3), (FwAssertArgType)(arg4), __LINE__)))) 83 #define FW_CASSERT_5(cond, arg1, arg2, arg3, arg4, arg5) \ 84 ((void)((cond) ? (0) \ 85 : (CAssert5((FILE_NAME_ARG)(__FILE__), (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), \ 86 (FwAssertArgType)(arg3), (FwAssertArgType)(arg4), (FwAssertArgType)(arg5), __LINE__)))) 88 #define FW_CASSERT_6(cond, arg1, arg2, arg3, arg4, arg5, arg6) \ 89 ((void)((cond) ? (0) \ 90 : (CAssert6((FILE_NAME_ARG)(__FILE__), (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), \ 91 (FwAssertArgType)(arg3), (FwAssertArgType)(arg4), (FwAssertArgType)(arg5), \ 92 (FwAssertArgType)(arg6), __LINE__)))) 94 #endif // FW_ASSERT_LEVEL == FW_FILEID_ASSERT 127 #endif // ASSERT is defined I8 CAssert1(FILE_NAME_ARG file, FwAssertArgType arg1, FwSizeType lineNo)
PlatformSizeType FwSizeType
I8 CAssert2(FILE_NAME_ARG file, FwAssertArgType arg1, FwAssertArgType arg2, FwSizeType lineNo)
int8_t I8
8-bit signed integer
I8 CAssert3(FILE_NAME_ARG file, FwAssertArgType arg1, FwAssertArgType arg2, FwAssertArgType arg3, FwSizeType lineNo)
I8 CAssert6(FILE_NAME_ARG file, FwAssertArgType arg1, FwAssertArgType arg2, FwAssertArgType arg3, FwAssertArgType arg4, FwAssertArgType arg5, FwAssertArgType arg6, FwSizeType lineNo)
I8 CAssert0(FILE_NAME_ARG file, FwSizeType lineNo)
I8 CAssert5(FILE_NAME_ARG file, FwAssertArgType arg1, FwAssertArgType arg2, FwAssertArgType arg3, FwAssertArgType arg4, FwAssertArgType arg5, FwSizeType lineNo)
I8 CAssert4(FILE_NAME_ARG file, FwAssertArgType arg1, FwAssertArgType arg2, FwAssertArgType arg3, FwAssertArgType arg4, FwSizeType lineNo)
PlatformAssertArgType FwAssertArgType
The type of arguments to assert functions.