Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: update parasoft

...

Using reserved identifiers can lead to incorrect program operation.

Rule

Severity

Likelihood

Remediation Cost

Priority

Level

DCL51-CPP

Low

Unlikely

Low

P3

L3

Automated Detection

Tool

Version

Checker

Description

Clang
Include Page
Clang_V
Clang_V
-Wreserved-id-macro
-Wuser-defined-literals 
The -Wreserved-id-macro flag is not enabled by default or with -Wall, but is enabled with -Weverything. This flag does not
catch all instances of this rule, such as redefining reserved names.
CodeSonar
Include Page
CodeSonar_V
CodeSonar_V

LANG.ID.NU.MK

LANG.STRUCT.DECL.RESERVED

Macro name is C keyword

Declaration of reserved name

LDRA tool suite
Include Page
LDRA_V
LDRA_V

86 S, 218 S, 219 S, 580 S

Fully implemented

Parasoft C/C++test
Include Page
cplusplus:
Parasoft_V
cplusplus:
Parasoft_V
MISRA2008-17_0_1_
{
a,
b}
MISRA2008-17_0_1_bImplemented
 
SonarQube C/C++ Plugin
Include Page
SonarQube C/C++ Plugin_V
SonarQube C/C++ Plugin_V
S978 
978
PRQA QA-C++
Include Page
PRQA QA-C++_V
PRQA QA-C++_V

5003

 


Related Vulnerabilities

Search for vulnerabilities resulting from the violation of this rule on the CERT website.

Related Guidelines

Bibliography

[ISO/IEC 14882-2014]

Subclause 17.6.4.3, "Reserved Names"

[ISO/IEC 9899:2011 ]Subclause 7.1.3, "Reserved Identifiers"

...


...