![]() |
![]() |
0614 | ![]() |
||||
![]() | |||||||
| 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 0614 identifies a block containing more than 127 identifiers declared with block scope, 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,2211,3120,3205,3220,3408 ++*/
extern void foo(void)
{
{
int a001, a002, a003, a004, a005, a006, a007, a008, a009, a010;
int a011, a012, a013, a014, a015, a016, a017, a018, a019, a020;
int a021, a022, a023, a024, a025, a026, a027, a028, a029, a030;
int a031, a032, a033, a034, a035, a036, a037, a038, a039, a040;
int a041, a042, a043, a044, a045, a046, a047, a048, a049, a050;
int a051, a052, a053, a054, a055, a056, a057, a058, a059, a060;
int a061, a062, a063, a064, a065, a066, a067, a068, a069, a070;
int a071, a072, a073, a074, a075, a076, a077, a078, a079, a080;
int a081, a082, a083, a084, a085, a086, a087, a088, a089, a090;
int a091, a092, a093, a094, a095, a096, a097, a098, a099, a100;
int a101, a102, a103, a104, a105, a106, a107, a108, a109, a110;
int a111, a112, a113, a114, a115, a116, a117, a118, a119, a120;
int a121, a122, a123, a124, a125, a126, a127;
}
{
int b001, b002, b003, b004, b005, b006, b007, b008, b009, b010;
int b011, b012, b013, b014, b015, b016, b017, b018, b019, b020;
int b021, b022, b023, b024, b025, b026, b027, b028, b029, b030;
int b031, b032, b033, b034, b035, b036, b037, b038, b039, b040;
int b041, b042, b043, b044, b045, b046, b047, b048, b049, b050;
int b051, b052, b053, b054, b055, b056, b057, b058, b059, b060;
int b061, b062, b063, b064, b065, b066, b067, b068, b069, b070;
int b071, b072, b073, b074, b075, b076, b077, b078, b079, b080;
int b081, b082, b083, b084, b085, b086, b087, b088, b089, b090;
int b091, b092, b093, b094, b095, b096, b097, b098, b099, b100;
int b101, b102, b103, b104, b105, b106, b107, b108, b109, b110;
int b111, b112, b113, b114, b115, b116, b117, b118, b119, b120;
int b121, b122, b123, b124, b125, b126, b127, b128;
} /* Message 0614 */
}
MISRA-C:2004 Rules applicable to message 0614:
| Rule 1.1 (Required) | All code shall conform to ISO/IEC 9899:1990 C programming language, ISO 9899, amended and corrected by ISO/IEC 9899/COR1:1995, ISO/IEC 9899/AMD1:1995, and ISO/IEC 9899/COR2: 1996192 |
![]() | ||
| QA·C Source Code Analyser 8.1
MISRA-C:2004 Compliance Module 3.2 © 2012 Programming Research. www.programmingresearch.com | Personality Groups | Glossary | Message Index | MISRA-C:2004 Rule Index | Contents |