This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug lto/41071] cycles with TYPE_CANONICAL and TYPE_MAIN_VARIANT



------- Comment #2 from rguenth at gcc dot gnu dot org  2009-08-19 19:40 -------
Subject: Bug 41071

Author: rguenth
Date: Wed Aug 19 19:40:28 2009
New Revision: 150943

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

        * lto-streamer.c (lto_get_common_nodes): Skip itk_char.
        * tree.c (free_lang_data): Merge char_type_node with the
        appropriately signed variant.

        lto/
        * lto-lang.c (lto_init): Merge char_type_node with the
        appropriately signed variant.

2009-08-19  Richard Guenther  <rguenther@suse.de>

        PR lto/41071
        * gimple.c (gimple_get_alias_set): Pointers to CV qualified variants
        have the same alias-set as unqualified variants.

2009-08-19  Richard Guenther  <rguenther@suse.de>

        PR lto/41071
        * gimple.c (gimple_register_type): Unlink a pointer from its
        pointer chain if we will use a different type for it.
        * lto-streamer-out.c (lto_output_ts_type_tree_pointers):
        Do not output TYPE_POINTER_TO, TYPE_REFERENCE_TO and
        TYPE_NEXT_PTR/REF_TO.
        * lto-streamer-in.c (lto_input_ts_type_tree_pointers):
        Do not input TYPE_POINTER_TO, TYPE_REFERENCE_TO and
        TYPE_NEXT_PTR/REF_TO.

        lto/
        * lto.c (lto_fixup_common): Re-build the pointer-to chain part one.
        (lto_fixup_type): Re-build the pointer-to chain part two.

2009-08-19  Richard Guenther  <rguenther@suse.de>

        PR lto/41071
        * gimple.c (gimple_register_type): Unlink a non-main-variant from its
        variant chain if we will use a different type for it.
        * tree.c (free_lang_data_in_type): Do not free the variant chains.
        * lto-streamer-out.c (lto_output_ts_type_tree_pointers): Do
        not output TYPE_NEXT_VARIANT.
        * lto-streamer-in.c (lto_input_ts_type_tree_pointers): Do not
        input TYPE_NEXT_VARIANT.

        lto/
        * lto.c (lto_fixup_type): Re-build the type variant chain.

2009-08-19  Richard Guenther  <rguenther@suse.de>

        PR lto/41071
        * gimple.c (compare_type_names_p): Do not look at the
        types main variant.
        * lto-streamer-out.c (output_type_ref): Remove hack for char_type_node.
        * lto-streamer.c (lto_streamer_cache_insert_1):
        Remove hack for char_type_node.
        (lto_record_common_node): Canonicalize types of nodes we record.
        (lto_get_common_nodes): Record integer and size types first.
        Defer to lto_record_common_node for registering and canonicalizing
        types.

        lto/
        * lto.c (lto_fixup_constructor): New function.
        (lto_fixup_tree): Replace all types.  Properly fixup
        constructors and constants.

Modified:
    branches/lto/gcc/ChangeLog.lto
    branches/lto/gcc/gimple.c
    branches/lto/gcc/lto-streamer-in.c
    branches/lto/gcc/lto-streamer-out.c
    branches/lto/gcc/lto-streamer.c
    branches/lto/gcc/lto/ChangeLog
    branches/lto/gcc/lto/lto-lang.c
    branches/lto/gcc/lto/lto.c
    branches/lto/gcc/tree.c


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]