Versions Compared

Key

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

...

CERT C: Rule DCL37-C

C: 0602, 0603, 4600, 4601, 4602, 4603, 4604, 4605, 4606, 4607,

4608, 4620, 4621, 4622, 4623,

4624, 4640, 4641, 4642, 4643,

4644, 4645

Tool

Version

Checker

Description

Astrée
Include Page
Astrée_V
Astrée_V

future-library-use

language-override

language-override-c99

reserved-declaration

reserved-declaration-c99

reserved-identifier

Partially checked
Axivion Bauhaus Suite

Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V

CertC-DCL37Fully implemented. Reserved identifiers, as in DCL37-C-EX3, are configurable.
CodeSonar
Include Page
CodeSonar_V
CodeSonar_V

LANG.STRUCT.DECL.RESERVED

Declaration of reserved name
Compass/ROSE




Coverity
Include Page
Coverity_V
Coverity_V

MISRA C 2004 Rule 20.1

MISRA C 2004 Rule 20.2

MISRA C 2012 Rule 21.1

MISRA C 2012 Rule 21.2

Implemented
ECLAIR
Include Page
ECLAIR_V
ECLAIR_V
CC2.DCL37Fully implemented
KlocworkHelix QAC

Include Page

Klocwork

Helix QAC_V

Klocwork

Helix QAC_V

MISRA.DEFINE.WRONGNAME.UNDERSCORE
MISRA.STDLIB.WRONGNAME.UNDERSCORE
MISRA.STDLIB.WRONGNAME
LDRA tool suite
Include Page
LDRA_VLDRA_V

86 S, 218 S, 219 S, 580 S, 626 S

Fully Implemented

C: 0602, 0603, 4600, 4601, 4602, 4603, 4604, 4605, 4606, 4607, 4608, 4620, 4621, 4622, 4623, 4624, 4640, 4641, 4642, 4643, 4644, 4645


Klocwork
Include Page
Klocwork_V
Klocwork_V
MISRA.DEFINE.WRONGNAME.UNDERSCORE
MISRA.STDLIB.WRONGNAME.UNDERSCORE
MISRA.STDLIB.WRONGNAME

LDRA tool suite
Include Page
LDRA_V
LDRA_V

86 S, 218 S, 219 S, 580 S, 626 S

Fully Implemented

Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V

CERT_C-DCL37-a

Do not #define or #undef identifiers with names which start with underscore
PC-lint Plus

Include Page
PC-lint Plus_V
PC-lint Plus_V

978, 9071, 9093

Partially supported

Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

CERT C: Rule DCL37-C


Checks for:

  • Defining and undefining reserved identifiers or macros
  • Declaring a reserved identifier or macro name

Rule partially covered

PRQA QA-C
Include Page
PRQA QA-C_v
PRQA QA-C_v

0602, 0603, 4600, 4601, 4602,

Parasoft C/C++test
Include Page
Parasoft_VParasoft_V

CERT_C-DCL37-a

Do not #define or #undef identifiers with names which start with underscorePC-lint Plus
Include Page
PC-lint Plus_VPC-lint Plus_V

978, 9071, 9093

Partially supported

Polyspace Bug Finder
Include Page
Polyspace Bug Finder_VPolyspace Bug Finder_V

Checks for:

  • Defining and undefining reserved identifiers or macros
  • Declaring a reserved identifier or macro name

Rule partially covered

PRQA QA-C
Include Page
PRQA QA-C_vPRQA QA-C_v

0602, 0603, 4600, 4601, 4602,

4603, 4604, 4605, 4606, 4607,

4608, 4620, 4621, 4622, 4623,

4624, 4640, 4641, 4642, 4643,

4644, 4645

SonarQube C/C++ Plugin
Include Page
SonarQube C/C++ Plugin_VSonarQube C/C++ Plugin_VS978RuleChecker
Include Page
RuleChecker_VRuleChecker_V

future-library-use

language-override

language-override-c99

reserved-declaration

reserved-declaration-c99

reserved-identifier

Partially checkedHelix QAC
Include Page
Helix QAC_VHelix QAC_V
SonarQube C/C++ Plugin
Include Page
SonarQube C/C++ Plugin_V
SonarQube C/C++ Plugin_V
S978
RuleChecker
Include Page
RuleChecker_V
RuleChecker_V

future-library-use

language-override

language-override-c99

reserved-declaration

reserved-declaration-c99

reserved-identifier

Partially checked

Related Guidelines

Key here (explains table format and definitions)

...