[previous] 0609 [next] [L] More than 12 pointer, array or function declarators modifying a declaration - program does not conform strictly to ISO:C90.
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 0609 identifies a declaration which is constructed from more than 12 'derived type declarators', the minimum requirement of the ISO:C90 standard. The derived type declarators are: This message is not identifying incorrect code but does identify code which is described in the standard as not strictly conforming.

For example:


/*PRQA S 2017,3132,3205,3211,3408 ++*/

int *************x;                                        /* Message 0609 */

int a[2][1][2][1][2][1][2][1][2][1][2][1][2];              /* Message 0609 */

int ***b[2][1][2][1][2][1][2][1][2][1];                    /* Message 0609 */

typedef int (************FUNCPTR3) (int p);                /* Message 0609 */


MISRA C:2012 Rules applicable to message 0609:

Dir-1.1  (Required) Any implementation-defined behaviour on which the output of the program depends shall be documented and understood


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