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_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__ |
Detailed Description
This module defines a toolchain abstraction layer through macros.
Usage:
typedef
struct
{
char
mField1;
union
{
char
mField2;
long
mField3;
}
OT_TOOL_PACKED_END
packed_struct_t;
Macro Definition Documentation
◆ 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_UNUSED_VARIABLE
#define OT_UNUSED_VARIABLE | ( |
VARIABLE
|
) |
Value:
do
\
{ \
(void)(VARIABLE); \
}
while
(
false
)
Suppress unused variable warning in specific toolchains.