On Thu, 17 Aug 2023 at 20:38, Frederick Virchanza Gotham via Std-Proposals <std-proposals@lists.isocpp.org> wrote:
On Thu, Aug 17, 2023 at 7:39 PM Tom Honermann <tom@honermann.net> wrote:
>
> I agree. Optimizers are not written to take advantage of UB. They are
> written in accordance with what the standard specifies as defined
> behavior. When code fails to adhere to what the standard specifies, then
> optimizers might behave in unexpected ways because a property they rely
> on (such as the existence of an object of a certain type) has been violated.


There is no invalid bit pattern for an array of int's. Maybe an array
of float's could have an invalid bit pattern.
I mean the 'existence of an object' will come down to 0's and 1's at
the end of it all.

No it won't, because the C++ language is defined by the rules of the abstract machine, not your CPU. If you want to write assembly code and deal only with 0s and 1s, do that, stop wasting our time with ideas for C++.