Tech News
← Home  ·  All topics

C Compiler

4 GoKawiil briefs on this topic

Eurydice project compiles Rust code into readable C output

Eurydice is a new tool that converts Rust programs into C code while preserving the original code's structure, rather than optimizing or obscuring it. Started in 2023, it is part of the Aeneas formal-verification project maintained by researchers at Inria and Microsoft, and has already been used to translate post-quantum-cryptography routines from Rust into C.

Float and integer arithmetic follow distinct safety paradigms in programming

In programming, integer operations require explicit checks for overflow or failure, with languages like C and Rust providing tools to handle such cases. Conversely, floating-point calculations based on IEEE-754 standards produce NaN or infinity upon errors, which propagate silently without crashing the program. This fundamental difference influences how developers approach error handling in each domain.

EDG releases its C/C++ compiler front end as open source

Edison Design Group has published its EDG C/C++ compiler front end as an open source project on GitHub, including a C-generating back end, a C++-generating back end, a prelinker, a runtime support library, and related development tools. The project also ships documentation and guides covering building the compiler, contributing changes, and setting up a development environment.

Developer revives 1998 transputer C compiler for 64-bit macOS build

Oscar Toledo G. rediscovered a 1998-era transputer C compiler he wrote, originally built with DJGPP/G++ for 32-bit DOS systems, and attempted to compile it on a modern 64-bit Macbook Air M1. He found the old code mixed integers and pointers interchangeably, lacked function prototypes, and used int instead of FILE*, all of which broke under clang since pointers are now 64-bit while integers remain 32-bit. He traces these issues back to inherited Small-C conventions, such as storing structures in byte pools and packing words as two bytes, and concludes a design change is needed to make the compiler portable.