Main Content

MISRA C:2023 Rule 7.3

The lowercase character “l” shall not be used in a literal suffix

Since R2024a

Description

Rule Definition

The lowercase character “l” shall not be used in a literal suffix.

Rationale

The lowercase character “l” can be confused with the digit “1”. Use the uppercase “L” instead.

Polyspace Implementation

Polyspace® reports a violation if you use the lowercase character "l" in a literal suffix. Violations of this rule are not reported on unused macros.

Troubleshooting

If you expect a rule violation but do not see it, refer to Diagnose Why Coding Standard Violations Do Not Appear as Expected.

Examples

expand all

#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);
}

In this example, Polyspace flags the literals that have a lowercase "l" in their suffix. Polyspace does not flag unused macros that have "l" in their suffix.

Check Information

Group: Literals and Constants
Category: Required
AGC Category: Readability

Version History

Introduced in R2024a