MISRA C++:2023 Rule 5.13.2
Octal escape sequences, hexadecimal escape sequences and universal character names shall be terminated
Since R2024b
Description
Rule Definition
Octal escape sequences, hexadecimal escape sequences and universal character names shall be terminated.
Rationale
There is potential for confusion if an octal or hexadecimal escape sequence, or
universal character name is followed by other characters. For example, the character
constant '\x1f'
consists of a single character, whereas the character
constant '\x1g'
consists of the two characters '\x1'
and 'g'
. The manner in which multicharacter constants are represented as
integers is implementation-defined.
If every octal and hexadecimal escape sequence and universal character name in a character constant or string literal is terminated, you reduce potential confusion.
Polyspace Implementation
The rule checker reports violations when an escape sequence or universal character name is not terminated with the end-of-string literal or another escape sequence.
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
Check Information
Group: Lexical Conventions |
Category: Required |
Version History
Introduced in R2024b