https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119476
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Last reconfirmed| |2025-03-26 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. In convert_for_assignment we have: ``` /* The Plan 9 compiler permits a pointer to a struct to be automatically converted into a pointer to an anonymous field within the struct. */ if (flag_plan9_extensions && RECORD_OR_UNION_TYPE_P (mvl) && RECORD_OR_UNION_TYPE_P (mvr) && mvl != mvr) { tree new_rhs = convert_to_anonymous_field (location, type, rhs); if (new_rhs != NULL_TREE) { rhs = new_rhs; rhstype = TREE_TYPE (rhs); coder = TREE_CODE (rhstype); ttr = TREE_TYPE (rhstype); mvr = TYPE_MAIN_VARIANT (ttr); } } ``` I suspect convert_to_anonymous_field is not doing the same thing as `&b->f` would do for the qualifiers.