cproc - new compact compiler for C language

Michael Forney, developer of the Wayland-based swc composite server, is developing a new cproc compiler that supports the C11 standard and some GNU extensions. The compiler uses the QBE project as a backend to generate optimized executables. The compiler code is written in C and distributed under the free ISC license.

Development has not yet been completed, but at the current stage, support for most of the C11 specification has been implemented. Features currently unsupported include variable-length arrays, preprocessor, generation of PIE (position independent code) executables and shared libraries, inline assembler, long double type, _Thread_local specifier, volatile types, string literals prefixed with (L"..." ).

At the same time, the capabilities of cproc are already enough to build itself, mcpp, gcc 4.7, binutils and other basic applications. The key difference from other compilers is the focus on creating a compact and uncomplicated implementation. For example, the backend allows you to generate code that demonstrates 70% of the performance of advanced compilers, but the proposed functionality fits into 10% of large compilers. Supported building for x86_64 and aarch64 architectures on Linux and FreeBSD platforms with Glibc, bsd libc and Musl libraries.

Source: opennet.ru

Add a comment