The Checked C clang repo
This repo contains a version of the LLVM/Clang toolchain that has been modified to support Checked C.
Checked C extends C with bounds checking and improved type-safety.
The Checked C specification is available at the
Checked C repo release page.
Trying out Checked C
You can install the Checked C compiler and the 3C tool
from the Checked C LLVM Project releases page.
There are versions available for Ubuntu 22.04, Windows 10/11, and MacOS.
The compiler user
manual is here.
For more information on Checked C and pointers to example code, see the
Checked C wiki.
If you want to build your own copy of the compiler, see the directions on the
Checked C LLVM Project wiki.
You can use clangd built from this repository to get similar IDE support for
editing Checked C code as upstream clangd provides for C code. For example,
you can jump to definition/references and get a real-time display of errors and
warnings, etc. Here is more information about Checked C's
clangd.
3C: Semi-automated conversion of C code to Checked C
This repository includes a tool called 3C that partially automates the
conversion of C code to Checked C. Quick documentation links:
More information
For more information on the Checked C clang compiler, see the Checked C LLVM Project
wiki.
Automated testing status
![Checked C Clang CI [Linux]](https://github.com/checkedc/workflows/actions/workflows/check-clang-linux.yml/badge.svg)
![Checked C Clang CI [MacOS]](https://github.com/checkedc/workflows/actions/workflows/checkedc-clang-macos.yml/badge.svg)
![Checked C Clang CI [WINDOWS]](https://github.com/checkedc/workflows/actions/workflows/check-clang-windows.yml/badge.svg)
Contributing
We welcome contributions to the Checked C project. To get involved in the
project, see Contributing to Checked
C.
For code contributions, we follow the standard Github
workflow. See Contributing to
Checked C
for more detail.
Code of conduct
This project has adopted a
code of conduct.