6#if FW_ASSERT_LEVEL == FW_NO_ASSERT
11#if FW_ASSERT_LEVEL == FW_FILEID_ASSERT
12 #define FILE_NAME_ARG U32
13 #define FW_ASSERT(cond, ...) \
14 ((void) ((cond) ? (0) : \
15 (Fw::SwAssert(ASSERT_FILE_ID, __LINE__, ##__VA_ARGS__))))
16#elif FW_ASSERT_LEVEL == FW_RELATIVE_PATH_ASSERT
17 #define FILE_NAME_ARG const CHAR*
18 #define FW_ASSERT(cond, ...) \
19 ((void) ((cond) ? (0) : \
20 (Fw::SwAssert(ASSERT_RELATIVE_PATH, __LINE__, ##__VA_ARGS__))))
22 #define FILE_NAME_ARG const CHAR*
23 #define FW_ASSERT(cond, ...) \
24 ((void) ((cond) ? (0) : \
25 (Fw::SwAssert(__FILE__, __LINE__, ##__VA_ARGS__))))
31#ifndef CLANG_ANALYZER_NORETURN
33 #define __has_feature(x) 0
35#if __has_feature(attribute_analyzer_noreturn)
36#define CLANG_ANALYZER_NORETURN __attribute__((analyzer_noreturn))
38#define CLANG_ANALYZER_NORETURN
60 AssertHook() : previousHook(nullptr) {};
61 virtual ~AssertHook() {};
63 virtual void reportAssert(
76 virtual void printAssert(
const CHAR* msg);
79 virtual void doAssert();
83 void deregisterHook();
88 AssertHook *previousHook;
PlatformIntType NATIVE_INT_TYPE
PlatformUIntType NATIVE_UINT_TYPE
PlatformAssertArgType FwAssertArgType
C++-compatible configuration header for fprime configuration.