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.

...

CPRQA QACvPRQA QACv
ToolVersionCheckerDescription
Astrée
Include Page
Astrée_V
Astrée_V
multiple

include-guard-missing
include

Partially checked

-guard-pragma-once

Fully checked
Axivion Bauhaus Suite

Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V

CertC-PRE06

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

PRQA QA
PC-lint Plus

Include Page

PC-

lint Plus_

V

PC-

lint Plus_

V

0883

967

Fully supported

Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

CERT C: Rec. PRE06-CChecks 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

Related Vulnerabilities

...