C11 Language Elements Supported in Polyspace
This table provides a partial list of C language elements that have been introduced since C11 and the corresponding Polyspace® support. If your code contains non-supported constructions, Polyspace reports a compilation error.
C11 Language Element | Supported |
---|---|
alignas and alignof convenience
macros | Yes |
aligned_alloc function | Yes |
noreturn convenience macros | Yes |
Generic selection | Yes |
Thread support library (threads.h ) | Yes |
Atomic operations library (stdatomic.h ) | Yes |
Atomic types with _Atomic | Yes. If you use the Clang compiler, see limitations book for limitations on atomic data types. See Limitations of Polyspace Verification (Polyspace Code Prover). |
UTF-16 and UTF-32 character utilities | Yes |
Bound-checking interfaces or alternative versions of standard library functions that check for buffer overflows (Annex K of C11) For instance, | No. Polyspace checks for certain run-time errors in use of standard library functions. The checking does not extend to these alternatives. |
Anonymous structures and unions | Yes |
Static assert declaration | Yes |
Features related to error handling such as
| No. If you see compilation errors from use of these
|
quick_exit and
at_quick_exit | Yes. In Bug Finder, functions registered with
|
CMPLX , CMPLXF and
CMPLXL macros | Yes |
See Also
C standard version (-c-version)