------- Comment #8 from d dot g dot gorbachev at gmail dot com 2008-12-08
20:34 -------
(In reply to comment #7)
The patch causes segfault. This is how it happens:
tree-sra.c:1612
for (f = TYPE_FIELDS (elt->type);
f; f = TREE_CHAIN (f))
{
tree-sra.c:1700
if (size != TREE_INT_CST_LOW (TYPE_SIZE (TREE_TYPE (elt->element))))
return f; // NULL
tree-sra.c:1764
for (f = TYPE_FIELDS (type); f ; f = TREE_CHAIN (f))
if (TREE_CODE (f) == FIELD_DECL)
{
tree last = try_instantiate_multiple_fields (elt, f);
if (last != f)
{
f = last;
continue;
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38271