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 tree-optimization/46302] [4.6 Regression] Program with virtual public inheritance crashes at O3


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

--- Comment #7 from Martin Jambor <jamborm at gcc dot gnu.org> 2010-12-22 12:57:00 UTC ---
Author: jamborm
Date: Wed Dec 22 12:56:54 2010
New Revision: 168168

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168168
Log:
2010-12-22  Martin Jambor  <mjambor@suse.cz>

    PR tree-optimization/45934
    PR tree-optimization/46302
    PR tree-optimization/46987
    * gimple-fold.c (get_base_binfo_for_type): Removed.
    (gimple_get_relevant_ref_binfo): Likewise.
    (gimple_fold_obj_type_ref_call): Dumb down to 4.5 functionality,
    removed parameter inplace, updated the caller.
    * gimple.h (gimple_get_relevant_ref_binfo): Remove declaration.
    * ipa-cp.c (ipcp_propagate_types): Do not derive types from constants.
    (ipcp_discover_new_direct_edges): Do not do devirtualization based on
    constants.
    * ipa-prop.c (compute_known_type_jump_func): Use
    get_ref_base_and_extent and get_binfo_at_offset instead of
    gimple_get_relevant_ref_binfo.
    (compute_known_type_jump_func): Likewise.
    (update_jump_functions_after_inlining): Do not derive types from
    constants.
    (try_make_edge_direct_virtual_call): Likewise.
    * tree.c (get_binfo_at_offset): Get type from non-artificial fields.

    * testsuite/g++.dg/ipa/ipcp-ivi-1.C: Removed.
    * testsuite/g++.dg/ipa/ivinline-6.C: Likewise.
    * testsuite/g++.dg/otr-fold-1.C: Likewise.
    * testsuite/g++.dg/otr-fold-2.C: Likewise.
    * testsuite/g++.dg/tree-ssa/pr43411.C: Xfail dump scan.
    * testsuite/g++.dg/tree-ssa/pr45605.C: Likewise.
    * testsuite/g++.dg/tree-ssa/pr46987.C: New test.


Added:
    trunk/gcc/testsuite/g++.dg/tree-ssa/pr46987.C
Removed:
    trunk/gcc/testsuite/g++.dg/ipa/ipcp-ivi-1.C
    trunk/gcc/testsuite/g++.dg/ipa/ivinline-6.C
    trunk/gcc/testsuite/g++.dg/otr-fold-1.C
    trunk/gcc/testsuite/g++.dg/otr-fold-2.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/gimple-fold.c
    trunk/gcc/gimple.h
    trunk/gcc/ipa-cp.c
    trunk/gcc/ipa-prop.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/tree-ssa/pr43411.C
    trunk/gcc/testsuite/g++.dg/tree-ssa/pr45605.C
    trunk/gcc/tree.c


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