4 ms·
This turns out not to be the case. Compilers have been known to remove exactly that sort of error checking code, as there was undefined behavior present. It's
by mpweiher 3y ago
This turns out not to be the case.
Compilers have been known to remove exactly that sort of error checking code, as there was undefined behavior present.
It's a mess.
- Xeamek 3y agoYes, I know it's not possible for a specific c++ dev to do such checks, as compilers can optimize them away. What I meant is “we (as in) the c/c++ community (or rather the specification committee)” could tomorrow decide that, lets say, all null pointer dereferences should lead to program exit. Existence of UB is a choice.
- bigcheesegs 3y agoUB is a choice in that we could require symbolic execution of of all code. This is incredibly slow, so we don't. There are many cases of UB that would be cheap to check, but there are many more that are incredibly expensive to check.