https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112716
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |alias --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I am 99% sure they are different types and have different aliasing sets which case this is undefined. That is struct foo inside foo and struct foo inside bar are 2 totally different types and therefor a store to one won't change a store to another.