...
Note that it is a common mistake to choose a reserved name (such as _HEADER_H_
or __HEADER_H__
) for the name of the macro used in the include guard. See DCL37-C. Do not declare or define a reserved identifier for more information.
Failure to include header files in an include guard can result in unexpected behavior.
...
Tool | Version | Checker | Description |
---|
Astrée | | multiple include-guard-missing include -guard-pragma-once | Fully checked |
Axivion Bauhaus Suite | Include Page |
---|
| Axivion Bauhaus Suite_V |
---|
| Axivion Bauhaus Suite_V |
---|
|
| CertC-PRE06Partially checked |
|
ECLAIR | | CC2.PRE06
| Fully implemented |
Helix QAC | | C0883 |
|
Klocwork | | MISRA.INCGUARD |
|
LDRA tool suite | | 243 S | Fully implemented |
Parasoft C/C++test | | PFO-02 | Fully implemented | PRQA QA-CCERT_C-PRE06-a | Use multiple include guards |
PC-lint Plus | | PRQA QA | C | v | PRQA QA | C | v | 0883 | 967 | Fully supported |
Polyspace Bug Finder | Include Page |
---|
| Polyspace Bug Finder_V |
---|
| Polyspace Bug Finder_V |
---|
|
| CERT C: Rec. PRE06-C | Checks for content of header file not guarded from multiple inclusions (rec. fully covered)Fully implemented
|
RuleChecker | Include Page |
---|
| RuleChecker_V |
---|
| RuleChecker_V |
---|
|
| multiple include-guard-missing include -guard-pragma-once | Fully Partially checked |
...