Hi, as discussed in PR 55920, this patch prevents SRA from creating debug replacements and debug statements for aggregate variables which cannot be scalarized away. Jakub bootstrapped and tested the patch and I suppose he is OK with it too so I will commit is shortly.
Thanks, Martin 2013-01-11 Martin Jambor <mjam...@suse.cz> PR tree-optimization/55920 * tree-sra.c (analyze_access_subtree): Do not mark non-removable accesses as grp_to_be_debug_replaced. Index: src/gcc/tree-sra.c =================================================================== --- src.orig/gcc/tree-sra.c +++ src/gcc/tree-sra.c @@ -2199,7 +2199,9 @@ analyze_access_subtree (struct access *r { if (allow_replacements && scalar && !root->first_child - && (root->grp_scalar_write || root->grp_assignment_write)) + && (root->grp_scalar_write || root->grp_assignment_write) + && !bitmap_bit_p (cannot_scalarize_away_bitmap, + DECL_UID (root->base))) { gcc_checking_assert (!root->grp_scalar_read && !root->grp_assignment_read);