exponenta event banner

MISRA C:2012 Правило 6.1

Битовые поля должны объявляться только с соответствующим типом

Описание

Определение правила

Битовые поля должны объявляться только с соответствующим типом.

Объяснение

Используя int для типа битового поля определяется реализацией, поскольку битовые поля типа int может быть либо signed или unsigned.

Использование enum, short charили любой другой тип битового поля не разрешен в C90, поскольку поведение не определено.

В C99 реализация потенциально может определять другие целочисленные типы, разрешенные в объявлениях битовых полей.

Внедрение Polyspace

Средство проверки помечает типы данных для разрядных полей, отличных от этих допустимых типов:

  • C90: signed int или unsigned int (или typedef-s, разрешающие эти типы)

  • C99: signed int, unsigned int или _Bool (или typedef-s, разрешающие эти типы)

Результаты зависят от версии стандарта C, используемой в анализе. Посмотрите C standard version (-c-version).

Поиск неисправностей

Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.

Проверить информацию

Группа: Типы
Категория: Обязательно
Категория СМЖЛ: требуется
Представлен в R2014b