Битовые поля должны объявляться только с соответствующим типом
Битовые поля должны объявляться только с соответствующим типом.
Используя 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).
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: Типы |
| Категория: Обязательно |
| Категория СМЖЛ: требуется |