2009-09-10 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Sep 2009 08:52:36 +0000 (08:52 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Sep 2009 08:52:36 +0000 (08:52 +0000)
commit969443c44523194ff4a6759420190e16ff130563
tree1fe0e7a8182c821981f72fe98a9bb4fe78627690
parent1c1c14571766c8eaa97dc33c997d8f97d95fee6b
2009-09-10  Richard Guenther  <rguenther@suse.de>

PR middle-end/41254
* tree.c (struct free_lang_data_d): Add worklist member.
(find_decls_types_r): Push onto the worklist instead of recursing.
Handle TREE_BINFOs properly.
(find_decls_types): New function wrapped around find_decls_types_r
to process the worklist.
(find_decls_types_in_eh_region): Use it.
(find_decls_types_in_node): Likewise.
(find_decls_types_in_var): Likewise.
(free_lang_data_in_cgraph): Likewise.  Free the worklist.
* tree.h (RECORD_OR_UNION_TYPE_P): New.
(AGGREGATE_TYPE_P): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151590 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/tree.c
gcc/tree.h