JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.
If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.
If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.
| CodeSonar® 9.2p0 | CONFIDENTIAL | CodeSecure Inc |
This section describes the current state of CodeSonar support for the various C standards.
CodeSonar parses and generates internal representation for all features from these standards.
| C89 / C90 | ANSI X3.159-1989 / ISO/IEC 9899:1990 |
|---|---|
| C99 | ISO/IEC 9899:1999 |
| C11 | ISO/IEC 9899:2011 |
| C17/C18 | ISO/IEC 9899:2018 |
CodeSonar supports many features from C23.
| Parsed and internal representation (IR) generated | ||
|---|---|---|
| _Static_assert with no message | N2265 | |
| [[nodiscard]] | N2267 | |
| [[maybe_unused]] | N2270 | |
| [[deprecated]] | N2334 | |
| Attributes | N2335,N2554 | |
| u8 character constants | N2418 | |
| [[nodiscard]] with message | N2448 | |
| Unnamed parameters in function definitions | N2480 | |
| Labels before declarations and end of blocks | N2508 | |
| Binary integer constants | N2549 | |
| __has_c_attribute in preprocessor conditionals | N2553 | |
| Allow duplicate attributes | N2557 | |
| Digit separators | N2626 | |
| #elifdef and #elifndef | N2645 | |
| [[maybe_unused]] for labels | N2662 | |
| #warning | N2686 | |
| [[noreturn]] | N2764 | |
| __has_include in preprocessor conditionals | N2799 | |
| Identifier Syntax using Unicode Standard Annex 31 | N2836 | |
| typeof and typeof_unqual | N2927,N2930 | |
| New spelling of keywords | N2934 | |
| Relax requirements for variadic parameter list | N2975 | |
| __VA_OPT__ | N3033 | |
| Parsed only | ||
| [[fallthrough]] | N2408 | |
| Not yet supported | ||
| IEEE 754 decimal floating-point types | N2341 | |
| Removal of function definitions without prototype | N2432 | |
| IEEE 754 interchange and extended types | N2601 | |
| Type change of u8 string literals | N2653 | |
| Bit-precise integer types (_BitInt) | N2763 | |
| Suffixes for bit-precise integer constants | N2775 | |
| Removal of function declarations without prototype | N2841 | |
| Empty initializers | N2900 | |
| Predefined true and false | N2935 | |
| [[unsequenced]] and [[reproducible]] | N2956 | |
| Type inference in object definitions | N3007 | |
| #embed | N3017 | |
| constexpr objects | N3018 | |
| Improved Normal Enumerations | N3029 | |
| Enhancements to Enumerations | N3030 | |
| Storage-class specifiers for compound literals | N3038 | |
| nullptr | N3042 | |
To report problems with this documentation, please visit https://support.codesecure.com/.