Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added Axivion Bauhaus entry to Automated Detection table

...

The following tables list these macros and indicate in which version of the C Standard they were introduced. The following macros are required:

Macro NameC90C99C11

__STDC__

__STDC_HOSTED__

 


__STDC_VERSION__1

 


__DATE__

__FILE__

__LINE__

__TIME__

  1) __STDC_VERSION__ was introduced by an Amendment to C90, this version of the C Standard is commonly call C94 

 The following are optional environment macros:

Macro NameC90C99C11

__STDC_ISO_10646__

 


__STDC_MB_MIGHT_NEQ_WC__

 


__STDC_UTF_16__

 

 



__STDC_UTF_32__

 

 



  The following are optional feature macros:

Macro NameC90C99C11

__STDC_ANALYZABLE__

 

 



__STDC_IEC_559__

 


__STDC_IEC_559_COMPLEX__

 


__STDC_LIB_EXT1__

 

 

 



__STDC_NO_ATOMICS__

 

 



__STDC_NO_COMPLEX__

 

 



__STDC_NO_THREADS__

 

 



__STDC_NO_VLA__ 

 

 



 The following is optional and is defined by the user:

Macro NameC90C99C11
__STDC_WANT_LIB_EXT1__
  
 

 

Noncompliant Code Example (Checking Value of Predefined Macro)

...

Not testing for language features or the version of the implementation being used can lead to unexpected or undefined program behavior.

Rule

Severity

Likelihood

Remediation Cost

Priority

Level

PRE13-C

Low

Probable

Low

P6

L2

 

Automated Detection

 

Tool

Version

Checker

Description

Axivion Bauhaus Suite

Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V

CertC-PRE13
LDRA tool suite
Include Page
LDRA_V
LDRA_V


Partially implemented

Related Vulnerabilities

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

Related Guidelines

ISO/IEC TR 24772:2013Pre-processor Directives [NMP]
ISO/IEC 9899:2011

6.10.8, "Predefined macro names"

K.3.7.1, "Copying functions"

...


...