r150719 - in /branches/lto/gcc: ChangeLog.lto g...

rguenth@gcc.gnu.org rguenth@gcc.gnu.org
Thu Aug 13 15:44:00 GMT 2009


Author: rguenth
Date: Thu Aug 13 15:44:01 2009
New Revision: 150719

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=150719
Log:
2009-08-13  Richard Guenther  <rguenther@suse.de>

	PR lto/41032
	* tree.c (free_lang_data): NULL the types_compatible_p langhook.
	* gimple.c (gtc_visited): Global type compatibility hashtable.
	(compare_field_offset): New helper function.
	(gimple_compare_types): Fold into ...
	(gimple_types_compatible_p): ... here.  Types with differing
	hash values are not compatible.  Adjust function now that it
	is no longer used as types_compatible_p langhook.  Complete
	incomplete pointer targets.
	(iterative_hash_type_name): New helper function.
	(iterative_hash_gimple_type): Do not hash type sizes.  Do not
	recurse into aggregate pointer targets.  Properly hash
	complex and vector types.  Hash the name of record types.
	(print_gimple_types_stats): Print stats of gtc_visited.
	* lto-symtab.c (lto_merge_qualifiers): Remove.
	(lto_merge_types): Likewise.
	(merge_incomplete_and_complete_type): New helper function.
	(maybe_merge_incomplete_and_complete_type): Likewise.
	(lto_symtab_compatible): Remove do_warn arg.  Complete types
	during decl merging.  Forcefully merge more types than
	elsewhere.  Do not compare DECL_MODE.
	(lto_symtab_prevailing_decl): Use gimple_types_compatible_p, not
	lto_symtab_compatible for finding the decl we merged with.

        lto/
	* lto-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define to NULL.

	* gcc.dg/lto/20090812_0.c: New testcase.
	* gcc.dg/lto/20090812_1.c: Likewise.

Added:
    branches/lto/gcc/testsuite/gcc.dg/lto/20090812_0.c
    branches/lto/gcc/testsuite/gcc.dg/lto/20090812_1.c
Modified:
    branches/lto/gcc/ChangeLog.lto
    branches/lto/gcc/gimple.c
    branches/lto/gcc/lto-symtab.c
    branches/lto/gcc/lto/ChangeLog
    branches/lto/gcc/lto/lto-lang.c
    branches/lto/gcc/testsuite/ChangeLog.lto
    branches/lto/gcc/tree.c



More information about the Gcc-cvs mailing list