github microsoft/checkedc v0.7-final
Version 0.7 of the Checked C specification

latest releases: CheckedC-Clang-12.0.1-rel3, CheckedC-Clang-12.0.1-rel2, CheckedC-Clang-11.1.0-rel1...
6 years ago

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.

Don't miss a new checkedc release

NewReleases is sending notifications on new releases.