/checkedc-llvm-project

This was a fork of Checked C clang used from 2021-2024. The changes have been merged into the original Checked C clang repo, which is now at https://github.com/checkedc/checkedc-clang.

Primary LanguageC++

Checked C clang repo (ARCHIVED)

This was a fork of Checked C clang used from 2021-2024. The changes have been merged into the original 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]

Checked C Clang CI [MacOS]

Checked C Clang CI [WINDOWS]

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.