#Kefir C17/C23 compiler
Kefir is an independent compiler for the C17/C23 programming language, developed by Jevgenij Protopopov. Kefir has been validated with a test suite of 100 software projects, among which are GNU core- and binutils, Curl, Nginx, OpenSSL, Perl, Postgresql, Tcl and many others. The compiler targets x86_64 architecture and System-V AMD64 ABI, supporting Linux, FreeBSD, NetBSD, OpenBSD and DragonflyBSD. The project intends to provide a well-rounded, compatible and compliant compiler, including SSA-based optimization pipeline, debug information generation, position-independent code support, and bit-identical bootstrap. Kefir integrates with the rest of system toolchain --- assembler, linker and shared library.
#At a glance
Kefir:
Supports the C17 standard -- including complex and imaginary numbers, atomics, variable-length arrays, etc. (see Implementation quirks).
Supports the C23 standard -- including bit-precise integers and _Decimal floating-point support (see Implementation quirks).
floating-point support (see Implementation quirks). Supports some of widespread GNU C built-ins, certain extensions, inline assembly, 128 bit integers.
Is written in C11 -- runtime dependencies are limited to the standard library, bits of POSIX and the shell.
Targets x86_64 and System-V ABI -- primarily Linux (both glibc and musl libc), secondarily FreeBSD, NetBSD, OpenBSD and DragonflyBSD (see Supported environments).
Is extensively validated on real-world open source software test suites -- including dozens of well-known projects (see Testing and validation).
... continue reading