Conversation

Shower thoughts: Since virtually every C/C++ program relies on undefined behavior somewhere (e.g. dlsym casts between void */void (*)(), BSD sockets), there have basically never been miscompilation bugs in the wild, technically speaking.
19
246
Replying to
this is funny but the actual situation is also funny: all real C and C++ applications are written in a non-standardized, undocumented programming language that closely resembles standard C and C++ but has less undefined behavior
6
139
Replying to and
It's mostly that, but it happens the other way around to some extent too. Compilers sometimes decide they should be able to do something and the standard is overly permissive. Then, eventually, maybe the standard gets aligned to what compilers actually felt like doing.
1
1
I think it's quite rare for anything significant / prominent but I don't think it's rare for subtle things. They often add text saying something is undefined, when previously it was glossed over, poorly defined or implementations just screwed it up and did broken things.
1
2