d1160ca5d1
The self-hosted compiler crashed with SIGSEGV when processing files that generated >=256 parser diagnostics (e.g. truncated source files). The parser allocated a fixed-size diag buffer of 256 entries, but parserExpect, parserExpectIdentOrKeyword, and parserEmitDiag wrote into it without checking bounds. Once diagCount exceeded 256, writes overflowed into adjacent heap objects (Decl structs), corrupting their kind/childDecl2 fields and causing crashes during AST traversal. This fix adds bounds checks to all three sites so excess diagnostics are silently dropped rather than corrupting memory. The file size threshold (7037 vs 7062 bytes) was a red herring — it determined how many parser errors were generated before EOF. Closes: selfhost segfault on 250+ line files