Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

Risk Assessment

Failure to include header files in an include guard can result in unexpected behavior.

...

ToolVersionCheckerDescription
Astrée
Include Page
Astrée_V
Astrée_V
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

Include Page
ECLAIR_V
ECLAIR_V

CC2.PRE06

Fully implemented
Helix QAC

Include Page
Helix QAC_V
Helix QAC_V

C0883
Klocwork
Include Page
Klocwork_V
Klocwork_V
MISRA.INCGUARD
LDRA tool suite
Include Page
LDRA_V
LDRA_V

243 S

Fully implemented
Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V

CERT_C-PRE06-a

Use multiple include guards

PC-lint Plus

Include Page
PC-lint Plus_V
PC-lint Plus_V

967

Fully supported

Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

MISRA CERT C: 2012 Dir 4.10

Precautions shall be taken in order to prevent the contents of a header file being included more than once

PRQA QA-C
Include Page
PRQA QA-C_vPRQA QA-C_vRec. PRE06-CChecks for content of header file not guarded from multiple inclusions (rec. fully covered)


0883Fully implementedRuleChecker
Include Page
RuleChecker_V
RuleChecker_V
multiple

include-guard-missing
include

-guard-pragma-once

Fully Partially checked

Related Vulnerabilities

...