Skip to content
Tech News
← Back to articles

Kefir C17/C23 Compiler

read original more articles
Why This Matters

The Kefir C17/C23 compiler represents a significant advancement in open-source, standards-compliant compilation for the x86_64 architecture, supporting modern C standards with extensive validation on real-world projects. Its integration with system toolchains and focus on optimization and compatibility make it a valuable tool for developers seeking reliable and efficient compilation solutions. This development enhances the diversity and robustness of compiler options available to the tech industry and open-source community.

Key Takeaways

#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