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.