Toolchain#
This module defines a toolchain abstraction layer through macros.
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#
#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)
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)
Suppress Unreachable code warning in specific toolchains.
#define
OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT (...)
#define
OT_FALL_THROUGH undefined
Suppress fall through warning in specific compiler.