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