![]() |
![]() |
0410 | ![]() |
||||
![]() | |||||||
| ISO C90 Conformance limits | REFERENCE - ISO:C90-5.2.4.1 Translation Limits | ||||||
The translation limits specified in the ISO:C Standard define a minimum set of conditions which a compiler must support in order to be described as conforming. In practice, compilers will often tolerate code which exceeds these minimal requirements. However, in order to ensure portability, it is advisable to avoid writing code that assumes a level of compiler capability which may not always be supported. Message 0410 identifies an expression in which the depth of nesting of parentheses exceeds 32, the minimum requirement of the ISO:C90 standard. (Message 0375 identifies code which breaches the corresponding ISO:C99 limit, i.e. 63 levels.) Messages 0410 and 0375 do not identify incorrect code but code which is described in the respective standard as not strictly conforming. For example:
/*PRQA S 2017,3198,3199,3203,3227,3408 ++*/
extern void foo(int a, int b)
{
int r;
r = ((((((((((((((((((((((((((((((((( /* Message 0410 */
a == b
)))))))))))))))))))))))))))))))));
r = (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( /* Message 0410 and 0375 */
a == b
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
}
MISRA C:2012 Rules applicable to message 0410:
| Dir-1.1 (Required) | Any implementation-defined behaviour on which the output of the program depends shall be documented and understood |
See also:
![]() | ||
| QA·C Source Code Analyser 8.1
MISRA C:2012 Compliance Module 1.0 © 2012 Programming Research. www.programmingresearch.com | Personality Groups | Glossary | Message Index | MISRA C:2012 Rule Index | Contents |