Skip to content
Sulekha Kulkarni edited this page Dec 19, 2020 · 27 revisions

Welcome

Welcome to the checkedc-clang wiki! Checked C is extending C with checking to detect or prevent common programming errors such as null pointer dereferences or out-of-bounds memory accesses. This repo contains a version of clang that is being modified to support Checked C.

This wiki contains information specific to the Checked C clang implementation. For information on the Checked C extension, see the Checked C wiki.

Compiler development status

We are implementing a subset of the Checked C extension that can be used to add bounds checking to real-world C programs. The implementation roadmap and status are here.

Build status

Configuration Testing Status
Debug X86 Windows Checked C and clang regression tests Debug X86 Windows status
Debug X64 Windows Checked C and clang regression tests Debug X64 Windows status
Debug X64 Linux Checked C and clang regression tests Debug X64 Linux status
Release X64 Linux Checked C, clang, and LLVM nightly tests Release X64 Linux status

Contributions

We welcome contributions to the checkedc-clang repository, and/or any of the supporting tools in the repository! Please follow the guidelines below while submitting PRs:

  • Please submit multiple small PRs rather than one massive PR because small PRs are easier to review than larger ones.
  • Before submitting a PR, please ensure that it passes all build and test requirements both both in Linux and Windows.
  • Suppose you have a PR that contains changes to the compiler and to a tool, please place the changes to the compiler and the changes to the tool in two separate PRs.

From our side, we assure you that we will not squash-merge your PRs in a way that erases your commit history.