> > + tree t = TREE_TYPE (field); > > + if (in_lto_p) > > + { > > + /* VECTOR_TYPE and ARRAY_TYPE share the alias set with their > > + element type and that type has to be normalized to void *, > > + too, in the case it is a pointer. */ > > + while ((TREE_CODE (t) == ARRAY_TYPE > > + && (!COMPLETE_TYPE_P (t) > > + || TYPE_NONALIASED_COMPONENT (t))) > > + || TREE_CODE (t) == VECTOR_TYPE) > > + t = TREE_TYPE (t); > > + if (POINTER_TYPE_P (t)) > > + t = ptr_type_node; > > + } > > + > > + record_alias_subset (superset, get_alias_set (t)); > > + } > > break; > > Are you sure that it's not !TYPE_NONALIASED_COMPONENT (t) here?
You are right, TYPE_NONALIASED_COMPONENT is the wrong way. I will fix it and try to come up with a testcase (TYPE_NONALIASED_COMPONENT is quite rarely used beast) Honza > > -- > Eric Botcazou