The curious case of the switch statement / fuzzy notepad

The history of "switch" in Algol/BCPL languages. Ignores pattern-matching in functional languages, so the inclusion of Rust here is a bit incongruous.

to c language-design retrocomputing switch ... on 23 September 2016

Checked C - Microsoft Research

C with bounds checking. Very C++-ish; I was hoping they'd done something smarter.

to bounds-checking c language-design safety security ... on 28 August 2016

vsedach/Vacietis: C to Common Lisp compiler

Argh! They end up with a fairly weird, but definitely standards-compliant, machine model -- this would be a good compliance-testing tool.

to c compiler lisp ... on 21 June 2016

pcc - pcc portable c compiler

Updated version of the classic compiler. I'm not sure this is very actively maintained now, but it did get quite a lot of effort put into it a few years ago.

to c compiler pcc software ... on 16 March 2016

include-what-you-use - A tool for use with clang to analyze #includes in C and C++ source files

This is a tool I've wanted for a while (owing to C/C++'s lack of a 1970s-standard module system): check that C/C++ files have the correct set of #includes.

to c c++ clang include language-design software ... on 28 February 2016

Writing Bug-Free C Code

The title oversells this (spectacularly!), but it's a good explanation of how to set up conventions to do OO in C in a reasonably safe way.

to c oo software-design ... on 22 January 2016

Clang Hardening Cheat Sheet

clang's equivalents of the GCC hardening options. Mostly the same.

to c c++ clang compiler gcc hardening security ... on 16 January 2016

rui314/8cc

Another small C compiler.

to c compiler ... on 14 March 2015

EarlGray/c4

c4 extended to be a JIT compiler. This is now moving into tcc territory...

to c compiler cute-code jit ... on 18 January 2015

rswier/c4

A little self-hosting C subset interpreter. Very neat! Compare this with Diomidis Spinellis' little self-hosting C bytecode compiler in the IOCCC a while back...

to c compiler cute-code interpreter ... on 18 January 2015