Цепочка инструментов
Этот модуль определяет уровень абстракции инструментальной цепочки с помощью макросов.
Резюме
Применение:
typedef OT_TOOL_PACKED_BEGIN struct { char mField1; union { char mField2; long mField3; } OT_TOOL_PACKED_FIELD; } OT_TOOL_PACKED_END packed_struct_t;
Макросы
OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT
OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT __VA_ARGS__
OT_FALL_THROUGH
OT_FALL_THROUGH do \ { \ } while (false) /* fallthrough */
Подавить предупреждение о провале в конкретном компиляторе.
OT_MUST_USE_RESULT
OT_MUST_USE_RESULT
Специфичное для компилятора указание на то, что необходимо использовать класс или перечисление, когда оно является возвращаемым значением функции.
OT_TOOL_PACKED_BEGIN
OT_TOOL_PACKED_BEGIN
Специфичное для компилятора указание на то, что класс или структура должны быть упакованы байтами.
OT_TOOL_PACKED_FIELD
OT_TOOL_PACKED_FIELD
Укажите компилятору вложенную структуру или объединение для упаковки в байтовый класс или структуру.
OT_TOOL_WEAK
OT_TOOL_WEAK
Специфический для компилятора модификатор слабых символов.
OT_UNREACHABLE_CODE
OT_UNREACHABLE_CODE CODE
Подавить предупреждение о недоступности кода в определенных наборах инструментов.
OT_UNUSED_VARIABLE
OT_UNUSED_VARIABLE do \ { \ (void)(VARIABLE); \ } while (false)
Подавить предупреждение о неиспользуемой переменной в определенных инструментах.