> Yes, so is > > struct foo {struct bar a;}; > > a.a = ... > ... = a; > > and > > a = ... > ... = a.a; > > this is why conflict is symmetrization of the subset relation.
OK the statement above is true, but subsets alone are not quite right for use in aliasing_component_refs_p void *a; char **ptr=&a; *ptr = .... is defined for us, but the structure-substructure equivalent is not. I will implement the variant with extra flag after teaching and send updated patch. Thanks, Honza