http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47409
--- Comment #6 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-01-25 11:03:10 UTC --- We should at least make sure to use memcpy for the array part in struct { volatile int i; int a[100000]; } a, b; a = b; do we really want to blow up code-size (and compile-time) for struct { volatile int a[1000000]; } a, b; a = b; ? And what's the difference of the above to volatile struct { int a[1000000]; } a, b; a = b; ? What do other compilers do for the above? Is there a DR?