Битовые поля должны только быть объявлены с соответствующим типом
Битовые поля должны только быть объявлены с соответствующим типом.
Используя int для битового поля тип задан реализацией потому что битовые поля типа int может быть любой signed или unsigned.
Использование enum, short char, или любой другой тип битового поля не разрешен в C90, потому что поведение не определено.
В C99 реализация может потенциально задать другие целочисленные типы, которые разрешены в объявлениях битового поля.
Средство проверки отмечает типы данных для битовых полей кроме этих позволенных типов:
C90: signed int или unsigned int (или typedef- s, что твердость к этим типам)
C99: signed int, unsigned int или _Bool (или typedef- s, что твердость к этим типам)
Результаты зависят от версии стандарта C, используемого в анализе. Смотрите C standard version (-c-version).
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
| Группа: типы |
| Категория: необходимый |
| Категория AGC: необходимый |