http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51497
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | --- Comment #7 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-12-14 12:50:52 UTC --- Created attachment 26080 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26080 patch candidate Ok, so the reason is that we now stream the VLA types for, for example 'x', locally. Thus they do not go through the type merging machinery (no problem) - but they also do not get a TYPE_CANONICAL computed, which would not be bad either would it be itself, but it is NULL_TREE and thus references to such VLA arrays get alias-set zero. The function local LTO sections are not structured in a way we can arrange to call uniquify_nodes, but we should be able to fixup canonical types (and variant types).