[Bug middle-end/83215] C++: struct with char-array assumed to alias with everything
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Nov 16 14:03:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83215
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |alias, missed-optimization
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2018-11-16
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
So in the end it is
tree
component_uses_parent_alias_set_from (const_tree t)
{
...
if (get_alias_set (TREE_TYPE (TREE_OPERAND (t, 0))) == 0)
found = t;
that causes this. The above is required for may_alias annotated types
(so history tells me, but the testcase added for the change doesn't fail
when removing the above). Today we handle may_alias via
reference_alias_ptr_type_1 running into a dereference and checking the
pointer for a ref-all type.
More information about the Gcc-bugs
mailing list