Download Latest Version Version 1.0 of the Checked C specification source code.zip (3.1 MB)
Email in envelope

Get an email when there's a new version of Checked C

Home / v0.7-final
Name Modified Size InfoDownloads / Week
Parent folder
checkedc-v0.7.pdf 2018-02-15 1.3 MB
README.md 2018-02-15 1.2 kB
Version 0.7 of the Checked C specification.tar.gz 2018-02-15 351.8 kB
Version 0.7 of the Checked C specification.zip 2018-02-15 429.5 kB
Totals: 4 Items   2.1 MB 0

The main improvement in Version 0.7 is adding support for checked strings and checked pointers to null-terminated arrays.

The improvements and changes include: - Add types for checked null-terminated arrays (nt_checked) and checked pointers to null-terminated arrays (nt_array_ptr) - Extend typing rules to allow string and array literals to be used where expressions with checked pointer types are expected. - Require initializers for variables with checked pointer types or struct or array types that contain checked pointers. - Describe handling of initializer expressions involving checked pointers. - Revise rules for implicit conversions between checked pointer types. Allow conversions to/from void pointers for now. - Change syntax for bounds cast operators. - Remove span type. - Rename bounds(none) to bounds(unknown). - Describe static checking rules for return statements. - Disallow array_ptrs of function types. - Various wording clean ups.

Caveats: A non-null value at the upper bound an nt_array_ptr allows the bounds of the nt_array_ptr to be widened. The flow analysis for widening bounds still needs to be described in detail.

Source: README.md, updated 2018-02-15