MISRA C++:2008 Rule 2-13-3
A "U" suffix shall be applied to all octal or hexadecimal integer literals of unsigned type
Description
Rule Definition
A "U" suffix shall be applied to all octal or hexadecimal integer literals of unsigned type.1
Rationale
The signedness of a constant is determined from:
Value of the constant.
Base of the constant: octal, decimal or hexadecimal.
Size of the various types.
Any suffixes used.
Unless you use a suffix u or U,
another developer looking at your code cannot determine easily whether a constant is
signed or unsigned.
Polyspace Implementation
Polyspace® reports a violation of this rule if an unsigned octal or hexadecimal constant
does not have the suffix U.
To check for violations of this rule correctly, specify your compiler and target. See:
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 R2013b
1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.