https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124121
--- Comment #13 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to [email protected] from comment #6) > OK, but why would you need that asm() barrier there then? What's > the semantic of a started lifetime of something with undefined state? Exactly that: a started lifetime, so that for the purposes of the abstract machine you're not accessing an object outside its lifetime. > Wasn't std::start_lifetime_as supposed to view a defined bit pattern > as a differnet type? That's bit_cast. start_lifetime_as just tells the compiler that there is an object there within its lifetime, without accessing the bits or saying anything about their values.
