...
Recommendation | Severity | Likelihood | Detectable | RepairableRemediation Cost | Priority | Level |
|---|---|---|---|---|---|---|
PRE00-C | Medium | Unlikely | No | MediumNo | P4P2 | L3 |
Automated Detection
| Tool | Version | Checker | Description | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Astrée |
| macro-function-like | Fully checked | |||||||||||||
| Axivion Bauhaus Suite |
| CertC-PRE00 | ||||||||||||||
| CodeSonar |
| LANG.PREPROC.FUNCMACRO | Function-Like Macro | |||||||||||||
| Cppcheck Premium |
| premium-cert-pre00-c | ||||||||||||||
| CC2.PRE00 | Fully implemented | ||||||||||||||
| Helix QAC |
| C3453 | ||||||||||||||
| Klocwork |
| MISRA.DEFINE.FUNC | ||||||||||||||
| LDRA tool suite |
| 340 S | Enhanced enforcement | |||||||||||||
| Parasoft C/C++test |
| MISRA2004-19_7 | Fully implemented | PRQA QA-C | ||||||||||||
| Include Page | PRQA QA-C_v | PRQA QA-C_v | 3453 | Fully implementedCERT_C-PRE00-a | A function should be used in preference to a function-like macro | |||||||||||
| PC-lint Plus |
| 9026 | Assistance provided | |||||||||||||
| Polyspace Bug Finder |
| CERT C: Rec. PRE00-C | Checks for use of function-like macro instead of function (rec. fully covered) | |||||||||||||
| RuleChecker |
| macro-function-like function-like-macro-expansion | Fully checked | |||||||||||||
| SonarQube C/C++ Plugin |
| S960 |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
Related Guidelines
| SEI CERT C++ Coding Standard | VOID PRE00-CPP. Avoid defining macros |
| ISO/IEC TR 24772:2013 | Pre-processor Directives [NMP] |
| MISRA C:2012 | Directive 4.9 (advisory) |
...