Hi,
12.4 prohibits side-effects on the right hand side of '&&' or '||'. What if, on the right hand side, I place a function with no side-effects, provided it returns, but which does contain side-effects if it does not return (e.g., an assertion which writes to a log file of some sort)? Is such a function allowed on the right hand side of the logical operators?
12.4 and Non-Returning Functions
Moderators: misra-c, david ward
-
- Posts: 572
- Joined: Thu Jan 05, 2006 1:11 pm
MISRA-C Steering Team - 7th November 2006
Non-returning is considered to be a side effect, because it changes the program control flow.
If a function has any conditional side effect, then it is considered to have a side effect. It would therefore not be allowed by this rule
Non-returning is considered to be a side effect, because it changes the program control flow.
If a function has any conditional side effect, then it is considered to have a side effect. It would therefore not be allowed by this rule
---
Posted by and on behalf of
the MISRA C Working Group
Posted by and on behalf of
the MISRA C Working Group