Skip to content
← Prism
Prism
Overview
Features
defer orelse zeroinit raw bounds-check auto-unreachable auto-static check
C in practice
Overview goto skips init tag namespace struct padding strict aliasing char signedness signed overflow VLAs segfaults
Spec Draft Releases Blog
GitHub ↗

C in practice

Parts of C that compile quietly and go wrong later. Each page states the behaviour, shows it measured against a real compiler, cites the standard, and gives a fix that needs no tooling.

#Why these exist

Every entry started as a bug fixed in Prism, a C transpiler with 46,261 tests. Building one means running into the corners of the language on purpose, repeatedly, with test cases that pin down what compilers actually do rather than what the documentation implies.

The write-ups are about C. Prism gets one section at the end of each page where it is relevant, and the plain-C fix always comes first, because most readers landing here want to get a build working rather than adopt a new tool.