------- 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