Versions Compared

Key

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

...

Tool

Version

Checker

Description

Astrée
Include Page
Astrée_V
Astrée_V

type-specifier

function-return-type

implicit-function-declaration

undeclared-parameter

Fully checked
Axivion Bauhaus Suite

Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V

CertC-DCL31Fully implemented
Clang
Include Page
Clang_V
Clang_V
-Wimplicit-int
Compass/ROSE




Coverity
Include Page
Coverity_V
Coverity_V
MISRA C 2012 Rule 8.1Implemented

ECLAIR

Include Page
ECLAIR_V
ECLAIR_V

CC2.DCL31

Fully implemented

GCC
Include Page
GCC_V
GCC_V


Can detect violations of this rule when the -Wimplicit and -Wreturn-type flags are used

Klocwork
Include Page
Klocwork_V
Klocwork_V

CWARN.IMPLICITINT
FUNCRET.IMPLICIT
MISRA.DECL.NO_TYPE

MISRA.FUNC.NOPROT.CALL
RETVOID.IMPLICIT


LDRA tool suite
Include Page
LDRA_V
LDRA_V

24 D, 41 D, 20 S, 326 S, 496 S

Fully implemented

Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V
CERT_C-DCL31-a
All functions shall be declared before use
Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

MISRA CERT C: 2012 Rule 8.1 

MISRA C:2012 Rule 17.3

Rule DCL31-C


Checks for:

  • Types not
Types shall be
  • explicitly specified
A function shall not be declared implicitly
  • Implicit function declaration
PRQA QA-C
Include Page
PRQA QA-C_v
PRQA QA-C_v

0434 (C)
1302
2050
2051
3335

Fully implemented
SonarQube C/C++ Plugin
Include Page
SonarQube C/C++ Plugin_V
SonarQube C/C++ Plugin_V
S819, S820  Partially implemented; implicit return type not covered.
RuleChecker
Include Page
RuleChecker_V
RuleChecker_V

type-specifier

function-return-type

implicit-function-declaration

undeclared-parameter

Fully checked
TrustInSoft Analyzer

Include Page
TrustInSoft Analyzer_V
TrustInSoft Analyzer_V

type specifier missing

Partially verified (exhaustively detects undefined behavior).

...