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.
Перейти к файлу
David Tarditi b047fd8bda
Merge pull request #1210 from checkedc/fix-test-errors-round3
Fix 3 bad source code merges.
2024-10-05 09:34:39 -07:00
.github
bolt
clang
clang-tools-extra
cmake
compiler-rt
cross-project-tests
flang
libc
libclc
libcxx
libcxxabi
libunwind
lld
lldb
llvm
llvm-libgcc
mlir
openmp
polly
pstl
runtimes
third-party
utils
.arcconfig
.arclint
.clang-format
.clang-tidy
.git-blame-ignore-revs
.gitignore
.mailmap
17-init-conflicts-raw.txt
17-init-conflicts.txt
17-init-progress.txt
CONTRIBUTING.md
LICENSE.TXT
README.md
SECURITY.md

README.md

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.