Toolchain
This module defines a toolchain abstraction layer through macros.
Macros | |
#define | OT_MUST_USE_RESULT |
Compiler-specific indication that a class or enum must be used when it is the return value of a function. | |
#define | OT_TOOL_PACKED_BEGIN |
Compiler-specific indication that a class or struct must be byte packed. | |
#define | OT_TOOL_PACKED_FIELD |
Indicate to the compiler a nested struct or union to be packed within byte packed class or struct. | |
#define | OT_TOOL_WEAK |
Compiler-specific weak symbol modifier. | |
#define | OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK(aFmtIndex, aStartIndex) |
This macro specifies that a function or method takes printf style arguments and should be type-checked against a format string. | |
#define | OT_UNUSED_VARIABLE(VARIABLE) |
Suppress unused variable warning in specific toolchains. | |
#define | OT_UNREACHABLE_CODE(CODE) CODE |
Suppress Unreachable code warning in specific toolchains. | |
#define | OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT(...) __VA_ARGS__ |
#define | OT_FALL_THROUGH |
Suppress fall through warning in specific compiler. |
Detailed Description
This module defines a toolchain abstraction layer through macros.
Usage:
Macro Definition Documentation
◆ OT_FALL_THROUGH
#define OT_FALL_THROUGH |
Suppress fall through warning in specific compiler.
◆ OT_MUST_USE_RESULT
#define OT_MUST_USE_RESULT |
Compiler-specific indication that a class or enum must be used when it is the return value of a function.
- Note
- This is currently only available with clang (C++17 implements it as attribute [[nodiscard]]).
- To suppress the 'unused-result' warning/error, please use the '-Wno-unused-result' compiler option.
◆ OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK
#define OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK | ( | aFmtIndex, |
|
aStartIndex |
|||
) |
This macro specifies that a function or method takes printf
style arguments and should be type-checked against a format string.
This macro must be added after the function/method declaration. For example:
void MyPrintf(void *aObject, const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK(2, 3);
The two argument index values indicate format string and first argument to check against it. They start at index 1 for the first parameter in a function and at index 2 for the first parameter in a method.
- Parameters
-
[in] aFmtIndex
The argument index of the format string. [in] aStartIndex
The argument index of the first argument to check against the format string.
◆ OT_UNUSED_VARIABLE
#define OT_UNUSED_VARIABLE | ( | VARIABLE | ) |
Suppress unused variable warning in specific toolchains.