http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51198
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |pinskia at gcc dot gnu.org |gnu.org | --- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> 2011-11-29 22:31:20 UTC --- A better patch which I am testing: Index: tree.c =================================================================== --- tree.c (revision 181815) +++ tree.c (working copy) @@ -4651,7 +4651,8 @@ free_lang_data_in_decl (tree decl) || (decl_function_context (decl) && !TREE_STATIC (decl))) DECL_INITIAL (decl) = NULL_TREE; } - else if (TREE_CODE (decl) == TYPE_DECL) + else if (TREE_CODE (decl) == TYPE_DECL + || TREE_CODE (decl) == FIELD_DECL) DECL_INITIAL (decl) = NULL_TREE; else if (TREE_CODE (decl) == TRANSLATION_UNIT_DECL && DECL_INITIAL (decl) --- CUT --- This also should reduce peak memory usage when using the non-static data member initialization feature.