From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27771 invoked by alias); 9 Dec 2003 18:05:14 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 27742 invoked from network); 9 Dec 2003 18:05:13 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 9 Dec 2003 18:05:13 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.11.6/8.11.6) with ESMTP id hB9I56229511; Tue, 9 Dec 2003 13:05:06 -0500 Received: from pobox.toronto.redhat.com (pobox.toronto.redhat.com [172.16.14.4]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id hB9I55201338; Tue, 9 Dec 2003 13:05:05 -0500 Received: from dnovillo.cipe.redhat.com (dnovillo.cipe.redhat.com [10.0.0.106]) by pobox.toronto.redhat.com (8.12.8/8.12.8) with ESMTP id hB9I51ns008399; Tue, 9 Dec 2003 13:05:02 -0500 Subject: [tree-ssa] New g++/libstdc++ regressions with checking disabled. From: Diego Novillo To: Steven Bosscher , Jeff Law , Jan Hubicka , Zdenek Dvorak , Richard Henderson Cc: "gcc@gcc.gnu.org" Content-Type: text/plain Organization: Red Hat Canada Message-Id: <1070993097.8617.10.camel@frodo.toronto.redhat.com> Mime-Version: 1.0 Date: Tue, 09 Dec 2003 18:09:00 -0000 Content-Transfer-Encoding: 7bit X-SW-Source: 2003-12/txt/msg00585.txt.bz2 Folks, One of these patches is exposing new regressions in the g++ and libstdc++ testsuites (at least not in x86-64, the others are still churning). I haven't been able to see which one. Could you help me out and see if it's not due to your patch? I'm not getting these failures in enabled-checking testers. Thanks. Diego. ------------------------------------------------------------------------------- Testsuite differences between 20031208/g++.sum.gz and 20031209/g++.sum.gz ------------------------------------------------------------------------------- New regressions in 20031209/g++.sum.gz: FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/debug/debug1.C (test for excess errors) FAIL: g++.dg/abi/mangle13.C (test for excess errors) FAIL: g++.dg/lookup/decl1.C (test for errors FAIL: g++.dg/lookup/decl1.C (test for errors FAIL: g++.dg/warn/noeffect4.C (test for warnings FAIL: g++.dg/warn/noeffect4.C (test for warnings FAIL: g++.dg/warn/noeffect4.C (test for excess errors) FAIL: g++.old-deja/g++.brendan/crash38.C (test for excess errors) FAIL: g++.old-deja/g++.mike/p784.C (test for excess errors) FAIL: g++.old-deja/g++.mike/p811.C (test for excess errors) FAIL: g++.old-deja/g++.other/inline12.C (test for excess errors) FAIL: g++.old-deja/g++.pt/auto_ptr.C (test for excess errors) Fixed regressions in 20031209/g++.sum.gz: ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Testsuite differences between 20031208/libstdc++.sum.gz and 20031209/libstdc++.sum.gz ------------------------------------------------------------------------------- New regressions in 20031209/libstdc++.sum.gz: FAIL: 20_util/auto_ptr.cc (test for excess errors) FAIL: 20_util/auto_ptr_neg.cc (test for excess errors) FAIL: 23_containers/deque/invalidation/1.cc (test for excess errors) FAIL: 23_containers/deque/invalidation/2.cc (test for excess errors) FAIL: 23_containers/deque/invalidation/3.cc (test for excess errors) FAIL: 23_containers/deque/invalidation/4.cc (test for excess errors) FAIL: 23_containers/list/invalidation/1.cc (test for excess errors) FAIL: 23_containers/list/invalidation/2.cc (test for excess errors) FAIL: 23_containers/list/invalidation/3.cc (test for excess errors) FAIL: 23_containers/list/invalidation/4.cc (test for excess errors) FAIL: 23_containers/map/invalidation/1.cc (test for excess errors) FAIL: 23_containers/map/invalidation/2.cc (test for excess errors) FAIL: 23_containers/multimap/invalidation/1.cc (test for excess errors) FAIL: 23_containers/multimap/invalidation/2.cc (test for excess errors) FAIL: 23_containers/multiset/invalidation/1.cc (test for excess errors) FAIL: 23_containers/multiset/invalidation/2.cc (test for excess errors) FAIL: 23_containers/set/invalidation/1.cc (test for excess errors) FAIL: 23_containers/set/invalidation/2.cc (test for excess errors) FAIL: 23_containers/vector/invalidation/1.cc (test for excess errors) FAIL: 23_containers/vector/invalidation/2.cc (test for excess errors) FAIL: 23_containers/vector/invalidation/3.cc (test for excess errors) FAIL: 23_containers/vector/invalidation/4.cc (test for excess errors) Fixed regressions in 20031209/libstdc++.sum.gz: FAIL: 23_containers/deque/invalidation/4.cc execution test FAIL: 23_containers/list/invalidation/3.cc execution test FAIL: 23_containers/list/invalidation/4.cc execution test ------------------------------------------------------------------------------- --- gcc.prev/gcc/ChangeLog.tree-ssa 2003-12-07 15:18:55.000000000 -0500 +++ gcc/gcc/ChangeLog.tree-ssa 2003-12-08 18:28:50.000000000 -0500 @@ -1,3 +1,94 @@ +2003-12-08 Steven Bosscher + + * tree-optimize.c (optimize_function_tree): Move verify_ssa calls + into conditionals. + +2003-12-08 Daniel Berlin + + * tree-alias-ander.c (andersen_same_points_to_set): Fix memory leak. + +2003-12-08 Jeff Law + + * tree-ssa-live.c (register_ssa_partition): Kill legacy code which + recursively called register_ssa_partition on PHI arguments when + SSA_VAR was defined by a PHI_NODE. + +2003-12-08 Jan Hubicka + + * tree-dump.c (dump_files): Fix ordering of tail call pass. + * tree.h (tree_dump_index): Likewise. + +2003-12-08 Zdenek Dvorak + + * Makefile.in (tree-cfg.o): Add gt-tree-cfg.h dependency. + (GTFILES): Add tree-cfg.c. + * tree-cfg.c: Include gt-tree-cfg.h. + (factored_computed_goto_label, factored_computed_goto): + Mark gc roots. + +2003-12-08 Steven Bosscher + Jan Hubicka + + * gengtype-lex.l (IWOrD): Add HOST_WIDEST_INT + * Makefile.in (function.o, reg-stack.o): Add missing dependency on + basic-block.h. + (GTFILES): Add basic-block.h and hwint.h. + * basic-block.h (struct edge_def): Add GTY markers, make garbage + collectable. Make `insns' field GC safe depending on the setting + of cfg_hooks. + (struct basic_block_def): Add GTY markers, make garbage collectable. + (tree_bb_root, tree_phi_root): Kill extern decls. + (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Change from macro to variable + (entry_exit_blocks): Kill. + * cfg.c: Include ggc.h + (bb_pool, edge_pool, entry_exit_blocks): Kill. + (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Define. + (init_flow): Do not create ppols; allocate entry/exit block. + (free_edge, alloc_block, expunge_block, unchecked_make_edge): Use GGC. + (compact_blocks): Don't update tree_bb_root and tree_phi_root. + * cfgrtl.c (rtl_merge_blocks): Clear head pointer. + * regs.h: Protect against multiple inclusion. + * tree-cfg.c (obstack_tree_ann_obstack, first_block_tree_and_obj, + tree_bb_root): Kill. + (build_tree_cfg, create_bb, remove_bb, delete_tree_cfg): Don't + touch tree_bb_root and tree_phi_root. + (create_block_annotations): Do not initialize obstack. + (free_block_annotations): Do not free obstack. + (create_block_annotation): Use GGC. + * tree-dfa.c (tree_phi_root): Kill. + * tree-flow.h (bb_ann, bb_ann_d): Declare. Add `phi_nodes' field. + * tree-phinodes.c (create_phi_node, add_phi_arg, remove_phi_node, + remove_all_phi_nodes_for): Use `phi_nodes' field in the bb + annotation instead of tree_phi_root. + * tree-flow-inline.h (phi_nodes, set_phi_nodes): Likewise. + (add_dom_child, clear_dom_children): Use GGC. + * tree-ssa-pre.c (code_motion): Use `phi_nodes' field in the bb + annotation instead of tree_phi_root. + * varray.h (union varray_data): Make basic_block_def and edge_def + varrays garbage collectable. + +2003-12-07 Richard Henderson + + * c-common.c (c_address_looks_like_offsetof): New. + * c-common.h (c_address_looks_like_offsetof): Declare. + * c-typeck.c (build_unary_op) : Use it. Don't lower + address references not destined for offsetof. + (c_expand_return): Only look inside ARRAY_REF and COMPONENT_REF + when looking for returning address of local variable. + * expr.c (expand_expr_1): Don't dereference size of unbounded arrays. + * gimplify.c (gimplify_addr_expr): Only fold address of variable size + array elements. + * tree-simple.c (is_gimple_min_invariant): Also check + is_gimple_variable before disallowing offset address for type. + * tree-ssa-ccp.c (maybe_fold_offset_to_aggregate_ref): New. + (maybe_fold_offset_to_component_ref): Use it. + (maybe_fold_stmt_indirect, maybe_fold_stmt_plus): Likewise. + (maybe_fold_offset_to_array_ref): Likewise. Don't fail for division + remainder non-zero. + * varasm.c (initializer_constant_valid_p) : Use + handled_component_p and look inside references. + : Always look past widening casts. + 2003-12-07 Zdenek Dvorak * tree-cfg.c (compute_dominance_frontiers): Don't assume that