I think the biggest problem with undefined behavior in C is that it is taken to justify violation of C&#x27;s customary semantics[1] on platforms where it isn&#x27;t necessary.<p>Many types of undefined behavior in the C standard are essentially dispensations for Lisp machines or one&#x27;s complement CPUs.  It&#x27;s very surprising to see them invoked by the optimizer on more conventional platforms.  It might not satisfy djb, but a standard for these behaviors alone would be great progress.[2]<p>[1] <a href="http:&#x2F;&#x2F;arcanesentiment.blogspot.com&#x2F;2014&#x2F;12&#x2F;customary-semantics.html" rel="nofollow">http:&#x2F;&#x2F;arcanesentiment.blogspot.com&#x2F;2014&#x2F;12&#x2F;customary-semant...</a><p>[2] Posix doesn&#x27;t really address this, sadly.  The committee seems to have avoided standardizing byte size until an unforeseen interaction with a later C standard pushed it into a corner.