------- Comment #2 from rguenth at gcc dot gnu dot org  2009-08-13 15:44 -------
Subject: Bug 41032

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  <rguent...@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


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41032

Reply via email to