PR lto/89692
	* tree.c (fld_type_variant, fld_incomplete_type_of,
	fld_process_array_type): Call fld->pset.add and don't call
	add_tree_to_fld_list if it returns true.
	(free_lang_data_in_type): Similarly with self-recursive call.  Purge
	non-marked types from TYPE_NEXT_VARIANT list.
	(find_decls_types_r): Call fld_worklist_push for TYPE_CANONICAL (t).

	* g++.dg/other/pr89692.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269862 138bc75d-0d04-0410-961f-82ee72b054a4
4 files changed