MISRA C++:2023 Rule 5.13.4
Description
Rule Definition
Unsigned integer literals shall be appropriately suffixed. 1
Rationale
The signedness of a constant is determined from:
Magnitude of the constant.
The Implementation sizes of the integer types.
Base of the constant: octal, decimal or hexadecimal.
Any suffixes used.
Unless unsigned integer are appropriately suffixed using u
or U
, you cannot easily identify whether a constant is signed or
unsigned.
To correctly check for violations of this rule, you must configure your static analysis tool using the same integer sizes as your compiler and target.
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 R2024b
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.