MISRA C:2023 Rule 17.9
A function declared with a _Noreturn
function specifier shall
not return to its caller
Since R2024a
Description
Rule Definition
A function declared with a _Noreturn
function specifier
shall not return to its caller.
Rationale
A function declared with a _Noreturn
specifier is not supposed to return to its caller. If there is a return path from this function to its caller, it typically indicates an error in the program control flow, and results in undefined behavior.
Polyspace Implementation
The rule checker analyzes the body of a function and reports a violation if the function is declared _Noreturn
but has a return path to its caller.
This rule violation is reported only if you specify a C standard version of C11 or later for the Bug Finder analysis. For more information, see C standard version (-c-version)
.
Troubleshooting
If you expect a rule violation but do not see it, refer to Diagnose Why Coding Standard Violations Do Not Appear as Expected.
Examples
Check Information
Group: Functions |
Category: Mandatory |
AGC Category: Mandatory |
Version History
Introduced in R2024a