(Not an April Fool's, but reality in this case...)
Some of the better error messages from Apple's MPW compiler, from a posting by Bruce Hoult on comp.sys.mac.programmer:
"String literal too long (I let you have 512 characters, that's 3 more than ANSI said I should)"
"...And the lord said, `lo, there shall only be case or default labels inside a switch statement'"
"a typedef name was a complete surprise to me at this point in your program"
"`Volatile' and `Register' are not miscible"
"This struct already has a perfectly good definition"
"Only one parameter per register please "
"type in (cast) must be scalar; ANSI 3.3.4; page 39, lines 10-11 (I know you don't care, I'm just trying to annoy you)"
"This array has no size, and that's bad"
"can't go mucking with a `void *'"
"we already did this function"
"The target of this goto is a label in a block that has an automatic variable with an initializer"
"This label is the target of a goto from outside of the block containing this label AND this block has an automatic variable with an initializer AND your window wasn't wide enough to read this whole error message"
"Call me paranoid but finding `/*' inside this comment makes me suspicious"
"This function has an explicit return type and deserves a return value"
"You are comparing two structures that have holes in them"
"Too many errors on one line (make fewer)"
"Symbol table full - fatal heap error; please go buy a RAM upgrade from your local Apple dealer"
"Trailing comma not permitted in enum definition. (This time I'm letting you off with a warning)"