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] aFmtIndexThe argument index of the format string. [in] aStartIndexThe 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.