Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: axivion bauhaus

...

Defining an unnamed namespace within a header file can cause data integrity violations and performance problems but is unlikely to go unnoticed with sufficient testing. One-definition rule violations result in undefined behavior.

Rule

Severity

Likelihood

Remediation Cost

Priority

Level

DCL59-CPP

Medium

Unlikely

Medium

P4

L3

Automated Detection 

Tool

Version

Checker

Description

Axivion Bauhaus Suite

Include Page
c:Axivion Bauhaus Suite_V
c:Axivion Bauhaus Suite_V

CertC++-DCL59
Clang
Include Page
Clang_V
Clang_V
cert-dcl59-cpp
Checked by clang-tidy
LDRA tool suite
Include Page
LDRA_V
LDRA_V

286 S, 512 S

Fully implemented

Parasoft C/C++test
Include Page
cplusplus:
Parasoft_V
cplusplus:
Parasoft_V
CODSTA-74
 

SonarQube C/C++ Plugin
Include Page
SonarQube C/C++ Plugin_V
SonarQube C/C++ Plugin_V
UnnamedNamespaceInHeader
 

PRQA QA-C++
Include Page
PRQA QA-C++_V
PRQA QA-C++_V

2518

 


 PRQA QA-C 9.1 2518
 

Related Vulnerabilities

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

Related Guidelines

Bibliography

[ISO/IEC 14882-2014]

Subclause 3.2, "One Definition Rule"
Subclause 7.1.2, "Function Specifiers"
Subclause 7.3.1, "Namespace Definition"

...


...