Versions Compared

Key

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

...

Use of an identifier (within one translation unit) classified as both internally and externally linked causes undefined behavior. See also undefined behavior 8behavior 8 in Appendix J of the C Standard. A translation unit includes the source file together with its headers and all source files included via the preprocessing directive #include.

...

LDRA tool suiteLDRALDRA575 SFully implementedSplintSplintSplint 

Tool

Version

Checker

Description

GCC

Include Page
GCC_V
GCC_V

 

 

Klocwork

Include Page
Klocwork_V
Klocwork_V

IF_DEF_IN_HEADER_DECL IF_MULTI_DECL

 

GCCLDRA tool suite

Include Page
GCCLDRA_VGCC
LDRA_V

 575 S 

Fully implemented

KlocworkSplint

Include Page
KlocworkSplint_VKlocwork
Splint_V

IF_DEF_IN_HEADER_DECL IF_MULTI_DECL 

 

PRQA QA-C
Include Page
PRQA_V
PRQA_V
0625 (U)Fully implemented

...

CERT C++ Secure Coding StandardDCL36-CPP. Do not declare an identifier with conflicting linkage classifications
MISRA-CRule 8.1 (required): Functions shall have prototype declarations and the prototype shall be visible at both the function definition and call

Bibliography

...