Toolchain
This module defines a toolchain abstraction layer through macros.
Summary
Usage:
typedef OT_TOOL_PACKED_BEGIN struct { char mField1; union { char mField2; long mField3; } OT_TOOL_PACKED_FIELD; } OT_TOOL_PACKED_END packed_struct_t;
Macros |
|
---|---|
OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT __VA_ARGS__
|
|
OT_FALL_THROUGH do \
{ \
} while (false) /* fallthrough */
|
Suppress fall through warning in specific compiler.
|
OT_MUST_USE_RESULT
|
Compiler-specific indication that a class or enum must be used when it is the return value of a function.
|
OT_TOOL_PACKED_BEGIN
|
Compiler-specific indication that a class or struct must be byte packed.
|
OT_TOOL_PACKED_FIELD
|
Indicate to the compiler a nested struct or union to be packed within byte packed class or struct.
|
OT_TOOL_WEAK
|
Compiler-specific weak symbol modifier.
|
OT_UNREACHABLE_CODE CODE
|
Suppress Unreachable code warning in specific toolchains.
|
OT_UNUSED_VARIABLE do \
{ \
(void)(VARIABLE); \
} while (false)
|
Suppress unused variable warning in specific toolchains.
|
Macros
OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT
OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT __VA_ARGS__
OT_FALL_THROUGH
OT_FALL_THROUGH do \ { \ } while (false) /* fallthrough */
Suppress fall through warning in specific compiler.
OT_MUST_USE_RESULT
OT_MUST_USE_RESULT
Compiler-specific indication that a class or enum must be used when it is the return value of a function.
OT_TOOL_PACKED_BEGIN
OT_TOOL_PACKED_BEGIN
Compiler-specific indication that a class or struct must be byte packed.
OT_TOOL_PACKED_FIELD
OT_TOOL_PACKED_FIELD
Indicate to the compiler a nested struct or union to be packed within byte packed class or struct.
OT_TOOL_WEAK
OT_TOOL_WEAK
Compiler-specific weak symbol modifier.
OT_UNREACHABLE_CODE
OT_UNREACHABLE_CODE CODE
Suppress Unreachable code warning in specific toolchains.
OT_UNUSED_VARIABLE
OT_UNUSED_VARIABLE do \ { \ (void)(VARIABLE); \ } while (false)
Suppress unused variable warning in specific toolchains.
Resources
OpenThread API Reference topics originate from the source code, available on GitHub. For more information, or to contribute to our documentation, refer to Resources.