Skip to content

This repo contains a version of clang that is being modified to support Checked C. Checked C is an extension to C that lets programmers write C code that is guaranteed by the compiler to be type-safe.

Notifications You must be signed in to change notification settings

checkedc/checkedc-clang

Folders and files

NameName
Last commit message
Last commit date
May 6, 2023
Feb 27, 2024
Sep 15, 2024
Jan 25, 2021
Jan 19, 2021
Jan 26, 2021
Jan 21, 2021
Oct 1, 2020
Jan 27, 2021
Jan 25, 2021
Jan 19, 2021
Jan 26, 2021
Jan 26, 2021
Sep 15, 2024
Jan 26, 2021
Jan 27, 2021
Jul 23, 2020
Jan 23, 2021
Nov 2, 2020
Jan 15, 2021
Oct 11, 2020
Dec 7, 2020
Aug 5, 2020
Jan 29, 2019
Jan 31, 2020
Sep 22, 2020
Jun 15, 2021
Dec 2, 2019
Dec 20, 2023
Sep 8, 2022

Repository files navigation

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]

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.

About

This repo contains a version of clang that is being modified to support Checked C. Checked C is an extension to C that lets programmers write C code that is guaranteed by the compiler to be type-safe.

Topics

Resources

Security policy

Stars

Watchers

Forks

Packages

No packages published