https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111849
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aoliva at gcc dot gnu.org --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Note that whoever uses a struct assignment to write to memory mapped interfaces is going to rely on vastly differing behavior of compilers. So I expect this to occur in almost zero cases out in the wild (not to mention the handling of padding). As to volatile structs or structs with volatile members, any special-handling needs to be ensured by the language frontends here. To avoid memcpy generation Alex posted some patches for this, volatile is not the best way to ensure this.