Well, I rather choose to hate C here, and love what OpenBSD does. The less the code is indeterministic and explodes randomly in your face, the better. (Today’s compilers can warn about this behaviour, though.)
How much would would be involved in rewriting OpenBSD to not use the incorrect casts? Or am I misreading the post?
I’m confused to why that relates to openbsd. It seems like a gcc issue and not an openbsd issue, unless there’s some hidden link to openbsd.
These are local OpenBSD changes to gcc, not upstream behavior.
The gcc-local man page, which documents local changes to the compiler has this to say.