won't say I'm totally proud of myself here, but once I saw that the Claude C compiler was super buggy according to YARPGen and Csmith, I had a hard time preventing myself from doing something about it

https://john.regehr.org/writing/claude_c_compiler.html

claude_c_compiler

@regehr My first reaction when seeing the Claude C Compiler was “John Regehr is going to be able to milk this so hard”.
@zwarich @regehr i just keep trying to find a backup of the classic "state of an 80s C compiler" tweet
@joe @regehr Someone should prank Claude Code by giving it an ancient C compiler where struct field labels needed to be globally unique.
@zwarich @regehr or the one where `x <<= n` takes O(`n`) time
@joe @zwarich ha--I know that one. let me dig it up.
@regehr @joe You’ll also need an emulation environment for running the result. Might be easier to just hack up TCC to have the archaic behavior.
@zwarich @joe this time one of you post it and I'll reboost
Joe Groff󠄱󠄾󠅄󠄸󠅂󠄿󠅀󠄹󠄳󠅏 (@[email protected])

Attached: 1 image state of a typical C compiler, 1998

Durian Software
@regehr @zwarich @joe Heh, speaking of 0.0f/0.0f crashing the tested compiler (one of the table 1 examples), you can still crash tcc today (last I checked) with INT_MIN/-1 on x86. I like to test any program that has a built-in expression evaluator with that and it's scary (but many not surprising) how many you can crash with it.
@pervognsen @zwarich @joe it's like shooting fish in a barrel with a nuclear bomb
@joe @zwarich @regehr PDP-11 asr/asrb/asl/aslb shifts were by 1 bit. With the Extended Instruction Set, it added ash which shifts by some constant and ashc which does the same, but on a pair of registers treated as a single 32-bit integer. Since there's no logical shift, an idiom was to use ashc with a zeroed high register to get a logical shift.

@zwarich @joe @regehr Alan Snyder's portable C compiler in 1976 (not the better known pcc by Steve Johnson descended from it) was, I believe, the first to have local struct names.

https://archive.org/details/snyder_c_differences_1978-04-04/page/n1/mode/1up

C Compiler Differences : Alan Snyder : Free Download, Borrow, and Streaming : Internet Archive

C Compiler Differences by Alan Snyder, revised 4 April 1978, compares Snyder's portable C compiler and the UNIX C compiler (February 1977 version). Printed...

Internet Archive