MISRA C:2012 Rule 2.4

Проект не должен содержать неиспользованных объявлений тегов

Описание

Эта проверка деактивирована в Polyspace по умолчанию® по мере анализа You Code. Смотрите Checkers Deactivated in Polyspace как You Code Default Analysis (Polyspace Bug Finder Access).

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

Проект не должен содержать неиспользованных объявлений тегов.

Объяснение

Если тег объявлен, но не используется, рецензент не знает, является ли тег избыточным или не используется по ошибке.

Дополнительное сообщение в отчете

Проект не должен содержать неиспользованных объявлений тегов: tag_name тегов не используется.

Поиск и устранение проблем

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

Примеры

расширить все

void unusedTag ( void )
{
    enum state1 { S_init, S_run, S_sleep };	/* Non-compliant  */			
}

void usedTag ( void )
{
    enum state2 { S_init, S_run, S_sleep };	/* Compliant  */			
    enum state2 my_State = S_init;
}

В этом примере в функции unusedTag, тег state1 определяется, но не используется. Поэтому правило нарушается.

typedef struct record_t		/* Non-compliant  */	
{
    unsigned short key;
    unsigned short val;
} record1_t;


typedef struct			   /* Compliant */						
{
    unsigned short key;
    unsigned short val;
} record2_t;

record1_t myRecord1_t;
record2_t myRecord2_t;

В этом примере тег record_t появляется только в typedef от record1_t. В остальной части модуля перевода введите record1_t используется. Поэтому правило нарушается.

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

Группа: Неиспользованный код
Категория: Консультационные
Категория AGC: Читаемость
Введенный в R2014b