Идентификатор, объявленный во внутреннем осциллографе, не должен скрывать идентификатор, объявленный во внешнем осциллографе
Идентификатор, объявленный во внутреннем осциллографе, не должен скрывать идентификатор, объявленный во внешнем осциллографе.
Если два идентификатора имеют то же имя, но различный осциллограф, идентификатор во внутреннем осциллографе скрывает идентификатор во внешнем осциллографе. Все использование имени идентификатора относится к идентификатору во внутреннем осциллографе. Это поведение обеспечивает разработчика, чтобы отслеживать осциллограф и уменьшает удобочитаемость кода.
Polyspace® рассматривает два имени как отличные, если существует различие между их первыми 63 символами. В C90 различие должно находиться между первым 31 символом. Чтобы использовать проверку правил C90, используйте значение c90
для опции C standard version (-c-version)
. Можно изменить количество символов, сравненных с помощью опции -code-behavior-specifications
. Смотрите -code-behavior-specifications
.
Если идентификатор, который скрыт, объявляется в Стандартном заголовке Библиотеки, и вы не обеспечиваете заголовок для анализа, проблему не показывают. Чтобы видеть потенциальные конфликты с идентификаторами, объявленными в Стандартном заголовке Библиотеки, обеспечьте свою реализацию компилятора заголовков для анализа Polyspace. Смотрите Обеспечивают Стандартные Заголовки Библиотеки для Анализа Polyspace.
Переменная XX скрывает переменную XX (СТОЛБЕЦ столбца ЛИНИИ линии ФАЙЛА).
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: Идентификаторы |
Категория: необходимый |
Категория AGC: консультация |
Check MISRA C:2012 (-misra3)
| MISRA C:2012 Rule 5.2
| MISRA C:2012 Rule 5.8