MISRA C:2012 Rule 7.3

Символ нижнего регистра "l" не должен использоваться в литеральном суффиксе

Описание

Управляйте определением

Символ нижнего регистра "l" не должен использоваться в литеральном суффиксе.

Объяснение

Символ нижнего регистра "l" может быть перепутан с цифрой “1”. Используйте верхний регистр “L” вместо этого.

Реализация Polyspace

Polyspace® сообщает нарушение, если вы используете символ нижнего регистра "l" в литеральном суффиксе. О нарушениях этого правила не сообщают относительно неиспользованных макросов.

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

Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.

Примеры

развернуть все

#define PI 3.14159l// Compliant- Not flagged because
                    // the macro is unused
#define EULERNUM 2.71828l//Noncompliant- Flagged because
                         // macro is used
void func(long);
void foo(void){
	long a = 10l;//Noncompliant
	long b = 10L;//Compliant
	long c = 10lL;//Noncompliant
	func(EULERNUM);
}

В этом примере Polyspace отмечает литералы, которые имеют нижний регистр "l" в их суффиксе. Polyspace не отмечает неиспользованные макросы, которые имеют "l" в их суффиксе.

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

Группа: литералы и константы
Категория: необходимый
Категория AGC: удобочитаемость
Введенный в R2014b