...
Syntactically ambiguous declarations can lead to unexpected program execution. However, it is likely that rudimentary testing would uncover violations of this rule.
Rule | Severity | Likelihood | Detectable | RepairableRemediation Cost | Priority | Level |
|---|---|---|---|---|---|---|
DCL53-CPP | Low | Unlikely | Yes | NoMedium | P2 | L3 |
Automated Detection
Tool | Version | Checker | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CodeSonar |
| LANG.STRUCT.DECL.FNEST | Nested Function Declaration | ||||||||||||
| Helix QAC |
| C++1109, C++2510 | |||||||||||||
| Klocwork |
| CERT.DCL.AMBIGUOUS_DECL | |||||||||||||
| LDRA tool suite |
| 296 S | Partially implemented | ||||||||||||
| Parasoft C/C++test |
| CERT_CPP-DCL53-a | Always declare functions at file scope | PRQA QA-C++ | |||||||||||
| Include Page | PRQA QA-C++_V | PRQA QA-C++_V | CERT_CPP-DCL53-c | Parameter names in function declarations should not be enclosed in parentheses | |||||||||||
| Polyspace Bug Finder |
| CERT C++: DCL53-CPP | Checks for declarations that can be confused between:
Rule fully covered. | 2502, 2510||||||||||||
| Clang |
| -Wvexing-parse | |||||||||||||
| SonarQube C/C++ Plugin |
| S3468 |
...