![]() |
![]() |
0859 | ![]() |
||||
![]() | |||||||
| 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 0859 identifies the situation where a function-like macro has been called with more than 31 arguments, the minimum requirement of the ISO:C90 Standard. 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,3205,3408,3429,3453 ++*/
#define MAC(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,bb,cc,dd,ee,ff) 1 /* Message 0858 */
extern void foo(void)
{
int i = MAC(1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1); /* Message 0859 */
}
See also:
![]() | ||
| QA·C Source Code Analyser 8.1.2
© 2013 Programming Research. www.programmingresearch.com | Personality Groups | Glossary | Message Index | Contents |