Main Content

AUTOSAR C++14 Rule M5-0-11

The plain char type shall only be used for the storage and use of character values

Description

Rule Definition

The plain char type shall only be used for the storage and use of character values.

Rationale

The signedness of plain char is implementation-defined. Because its sign is not well-defined, the plain char type is not suitable for use with numeric values. Use plain char for the storage and use of character values.

Polyspace Implementation

The checker raises a violation when a value of signed or unsigned integer type is implicitly converted to the plain char type.

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

#include<stdint.h>
typedef  char char_t;
void foo(){
char a = 'a'; // Compliant
char_t b = '\r'; // Compliant
char_t c = 10; // Noncompliant
char d = 'd'; // Compliant
}

In this example, Polyspace flags the use of plain char for numeric data.

Check Information

Group: Expressions
Category: Required, Automated

Version History

Introduced in R2019a