Main Content

MISRA C++:2023 Rule 5.13.5

The lowercase form of L shall not be used as the first character in a literal suffix

Since R2024b

Description

Rule Definition

The lowercase form of L shall not be used as the first character in a literal suffix.

Rationale

The lowercase character "l" (letter "el") can be confused with the digit 1. Use the uppercase "L" instead.

Polyspace Implementation

The rule checker 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 Polyspace® does not report it, see Diagnose Why Coding Standard Violations Do Not Appear as Expected.

Examples

expand all

In this example, the rule checkers flags the literals that have a lowercase "l" in their suffix.

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

Check Information

Group: Lexical Conventions
Category: Required

Version History

Introduced in R2024b