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_FILE_ID ASSERT_FILE_ID 34 #define FW_CASSERT_FILE_ID ((U32)0) 37 #define FW_CASSERT(cond) ((void)((cond) ? (0) : (CAssert0(FW_CASSERT_FILE_ID, __LINE__)))) 39 #define FW_CASSERT_1(cond, arg1) \ 40 ((void)((cond) ? (0) : (CAssert1(FW_CASSERT_FILE_ID, (FwAssertArgType)(arg1), __LINE__)))) 42 #define FW_CASSERT_2(cond, arg1, arg2) \ 43 ((void)((cond) ? (0) : (CAssert2(FW_CASSERT_FILE_ID, (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), __LINE__)))) 45 #define FW_CASSERT_3(cond, arg1, arg2, arg3) \ 46 ((void)((cond) ? (0) \ 47 : (CAssert3(FW_CASSERT_FILE_ID, (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), \ 48 (FwAssertArgType)(arg3), __LINE__)))) 50 #define FW_CASSERT_4(cond, arg1, arg2, arg3, arg4) \ 51 ((void)((cond) ? (0) \ 52 : (CAssert4(FW_CASSERT_FILE_ID, (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), \ 53 (FwAssertArgType)(arg3), (FwAssertArgType)(arg4), __LINE__)))) 55 #define FW_CASSERT_5(cond, arg1, arg2, arg3, arg4, arg5) \ 56 ((void)((cond) ? (0) \ 57 : (CAssert5(FW_CASSERT_FILE_ID, (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), \ 58 (FwAssertArgType)(arg3), (FwAssertArgType)(arg4), (FwAssertArgType)(arg5), __LINE__)))) 60 #define FW_CASSERT_6(cond, arg1, arg2, arg3, arg4, arg5, arg6) \ 61 ((void)((cond) ? (0) \ 62 : (CAssert6(FW_CASSERT_FILE_ID, (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), \ 63 (FwAssertArgType)(arg3), (FwAssertArgType)(arg4), (FwAssertArgType)(arg5), \ 64 (FwAssertArgType)(arg6), __LINE__)))) 66 #else // FW_ASSERT_LEVEL != FW_FILEID_ASSERT 67 #define FILE_NAME_ARG const CHAR* 69 #define FW_CASSERT(cond) ((void)((cond) ? (0) : (CAssert0((FILE_NAME_ARG)(__FILE__), __LINE__)))) 71 #define FW_CASSERT_1(cond, arg1) \ 72 ((void)((cond) ? (0) : (CAssert1((FILE_NAME_ARG)(__FILE__), (FwAssertArgType)(arg1), __LINE__)))) 74 #define FW_CASSERT_2(cond, arg1, arg2) \ 77 : (CAssert2((FILE_NAME_ARG)(__FILE__), (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), __LINE__)))) 79 #define FW_CASSERT_3(cond, arg1, arg2, arg3) \ 80 ((void)((cond) ? (0) \ 81 : (CAssert3((FILE_NAME_ARG)(__FILE__), (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), \ 82 (FwAssertArgType)(arg3), __LINE__)))) 84 #define FW_CASSERT_4(cond, arg1, arg2, arg3, arg4) \ 85 ((void)((cond) ? (0) \ 86 : (CAssert4((FILE_NAME_ARG)(__FILE__), (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), \ 87 (FwAssertArgType)(arg3), (FwAssertArgType)(arg4), __LINE__)))) 89 #define FW_CASSERT_5(cond, arg1, arg2, arg3, arg4, arg5) \ 90 ((void)((cond) ? (0) \ 91 : (CAssert5((FILE_NAME_ARG)(__FILE__), (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), \ 92 (FwAssertArgType)(arg3), (FwAssertArgType)(arg4), (FwAssertArgType)(arg5), __LINE__)))) 94 #define FW_CASSERT_6(cond, arg1, arg2, arg3, arg4, arg5, arg6) \ 95 ((void)((cond) ? (0) \ 96 : (CAssert6((FILE_NAME_ARG)(__FILE__), (FwAssertArgType)(arg1), (FwAssertArgType)(arg2), \ 97 (FwAssertArgType)(arg3), (FwAssertArgType)(arg4), (FwAssertArgType)(arg5), \ 98 (FwAssertArgType)(arg6), __LINE__)))) 100 #endif // FW_ASSERT_LEVEL == FW_FILEID_ASSERT 133 #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.