Michael Forney, sviluppatore del server composito swc basato sul protocollo Wayland, sta sviluppando un nuovo compilatore cproc che supporta lo standard C11 e alcune estensioni GNU. Per generare file eseguibili ottimizzati, il compilatore utilizza il progetto QBE come backend. Il codice del compilatore è scritto in C ed è distribuito sotto la licenza ISC gratuita.
Lo sviluppo non è ancora completo, ma allo stato attuale è stato implementato il supporto per la maggior parte delle specifiche C11. Tra le funzionalità attualmente non supportate ci sono array di lunghezza variabile, un preprocessore, generazione di file eseguibili PIE (codice indipendente dalla posizione) e librerie condivise, assemblatore in linea, il tipo "long double", lo specificatore _Thread_local, tipi volatili, stringhe letterali con un prefisso (L"..." ).
Allo stesso tempo, le capacità di cproc sono già sufficienti per compilare se stesso, mcpp, gcc 4.7, binutils e altre applicazioni di base. La sua principale differenza rispetto ad altri compilatori è l'attenzione alla creazione di un'implementazione compatta e semplice. Ad esempio, il backend genera codice che dimostra il 70% delle prestazioni dei compilatori avanzati, offrendo solo il 10% delle funzionalità dei compilatori più complessi. La compilazione è supportata per architetture x86_64 e aarch64 su diverse piattaforme. Linux e FreeBSD con le librerie Glibc, bsd libc e Musl.
Fonte: opennet.ru
