https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104359

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Will Usher from comment #0)
> However, b's "value" is 255, which should evaluate to "true".

No. The only valid values of bool are true and false. If you set its bits to
some other value representation which does not correspond to either the 'true'
value or the 'false' value, you do not have an object of type bool, you have
garbage.

It's possible that a C++ implementation would use 0x11111111 for one of true or
false, in which case your memcpy would be valid. But that's not the case for
GCC.

Reply via email to