gcc.git
17 years ago* genemit.c (gen_expand): Allocate enough memory.
Michael Matz [Mon, 13 Nov 2006 14:36:47 +0000 (14:36 +0000)]
* genemit.c (gen_expand): Allocate enough memory.

From-SVN: r118762

17 years agore PR fortran/26994 (Scalar TRANSFER - error: invalid operand to unary operator)
Andrew Pinski [Mon, 13 Nov 2006 14:36:09 +0000 (14:36 +0000)]
re PR fortran/26994 (Scalar TRANSFER - error: invalid operand to unary operator)

2006-11-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR fortran/26994
        * gfortran.fortran-torture/compile/transfer-1.f90:
        New testcase.

2006-11-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR fortran/26994
        * trans-expr.c (gfc_conv_expr_reference): Set TREE_STATIC on the
        new CONST_DECL.

From-SVN: r118761

17 years agoeh_globals.cc (__cxxabiv1::__cxa_get_globals): Initialize propagatingExceptions if...
Joseph Myers [Mon, 13 Nov 2006 13:28:28 +0000 (13:28 +0000)]
eh_globals.cc (__cxxabiv1::__cxa_get_globals): Initialize propagatingExceptions if __ARM_EABI_UNWINDER__.

* libsupc++/eh_globals.cc (__cxxabiv1::__cxa_get_globals):
Initialize propagatingExceptions if __ARM_EABI_UNWINDER__.
* libsupc++/eh_personality.cc (empty_exception_spec): Define
separately in __ARM_EABI_UNWINDER__ case.

From-SVN: r118757

17 years agobpapi.h (TARGET_BPABI_CPP_BUILTINS): Define __GXX_TYPEINFO_EQUALITY_INLINE but not...
Joseph Myers [Mon, 13 Nov 2006 13:10:17 +0000 (13:10 +0000)]
bpapi.h (TARGET_BPABI_CPP_BUILTINS): Define __GXX_TYPEINFO_EQUALITY_INLINE but not __GXX_MERGED_TYPEINFO_NAMES.

gcc:
* config/arm/bpapi.h (TARGET_BPABI_CPP_BUILTINS): Define
__GXX_TYPEINFO_EQUALITY_INLINE but not
__GXX_MERGED_TYPEINFO_NAMES.
* config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Define
__GXX_MERGED_TYPEINFO_NAMES.
* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
__GXX_TYPEINFO_EQUALITY_INLINE.

libstdc++-v3:
* libsupc++/typeinfo (__GXX_TYPEINFO_EQUALITY_INLINE): Define.
Use instead of __GXX_MERGED_TYPEINFO_NAMES to condition inline
definitions.
* libsupc++/tinfo.cc (operator==): Condition on
__GXX_TYPEINFO_EQUALITY_INLINE; check __GXX_MERGED_TYPEINFO_NAMES
to determine algorithm.
* libsupc++/tinfo2.cc (type_info::before): Likewise.

From-SVN: r118755

17 years agore PR tree-optimization/29680 (Misscompilation of spec2006 gcc)
H.J. Lu [Mon, 13 Nov 2006 12:37:29 +0000 (12:37 +0000)]
re PR tree-optimization/29680 (Misscompilation of spec2006 gcc)

PR tree-optimization/29680
* tree-ssa-operands.c (access_can_touch_variable): Revert fix for
PR 14784.

* gcc.dg/alias-11.c: New test.

Co-Authored-By: Zdenek Dvorak <dvorakz@suse.cz>
From-SVN: r118754

17 years agore PR middle-end/28915 (ICE: tree check: expected class 'constant', have 'declaration...
Jason Merrill [Mon, 13 Nov 2006 08:16:11 +0000 (03:16 -0500)]
re PR middle-end/28915 (ICE: tree check: expected class 'constant', have 'declaration' (var_decl) in build_vector, at tree.c:973)

        PR middle-end/28915
        * gimplify.c (gimplify_init_constructor): Don't reduce TREE_CONSTANT
        vector ctors.
        * tree-cfg.c (verify_expr): Don't look into TREE_CONSTANT
        vector ctors.
        * expmed.c (make_tree): Handle CONST, SYMBOL_REF.
        * tree.c (build_vector): Handle non-_CST elements.

Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>
From-SVN: r118747

17 years agogenemit.c (gen_insn): Call gen_exp with a non-null used when handling multiple insns.
Kaz Kojima [Mon, 13 Nov 2006 03:28:13 +0000 (03:28 +0000)]
genemit.c (gen_insn): Call gen_exp with a non-null used when handling multiple insns.

* genemit.c (gen_insn): Call gen_exp with a non-null used
when handling multiple insns.
(gen_expand): Likewise.
* reorg.c (emit_delay_sequence): Copy the delay slot insn.
* config/sh/sh.md (ashrsi2_31+1): Copy operands[0].
(movsi_const_16bit+1): Copy operands[1].
(call_pcrel): Copy the call_site pattern.
(call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.

From-SVN: r118746

17 years agoAdd PR number to ChangeLog from a previous commit.
Kaveh Ghazi [Mon, 13 Nov 2006 03:02:14 +0000 (03:02 +0000)]
Add PR number to ChangeLog from a previous commit.

From-SVN: r118745

17 years agofold-const.c (negate_expr_p): Correct/refine condition for transformations.
Roger Sayle [Mon, 13 Nov 2006 02:55:22 +0000 (02:55 +0000)]
fold-const.c (negate_expr_p): Correct/refine condition for transformations.

* fold-const.c (negate_expr_p) <PLUS_EXPR, MINUS_EXPR>: Correct/refine
condition for transformations.  Use !HONOR_SIGN_DEPENDENT_ROUNDING
&& !HONOR_SIGNED_ZEROS instead of flag_unsafe_math_optimizations.
(fold_negate_expr) <PLUS_EXPR, MINUS_EXPR>: Likewise.

From-SVN: r118744

17 years agore PR java/29587 (jc1: out of memory allocating 4072 bytes after a total of 708630224...
Daniel Berlin [Mon, 13 Nov 2006 02:18:07 +0000 (02:18 +0000)]
re PR java/29587 (jc1: out of memory allocating 4072 bytes after a total of 708630224 bytes)

2006-11-12  Daniel Berlin  <dberlin@dberlin.org>

Fix PR tree-optimization/29587
* tree-ssa-structalias.c (process_constraint): Don't
mark address taken due only to escaped vars constraint.

From-SVN: r118742

17 years agore PR rtl-optimization/29797 (Miscompiles bit test / set in OpenOffice)
Roger Sayle [Mon, 13 Nov 2006 00:41:53 +0000 (00:41 +0000)]
re PR rtl-optimization/29797 (Miscompiles bit test / set in OpenOffice)

2006-11-12  Michael Matz  <matz@suse.de>
    Roger Sayle  <roger@eyesopen.com>

PR rtl-optimization/29797
* ifcvt.c (noce_try_bitop): Correct calculation of bitnum on
BITS_BIG_ENDIAN targets.

* gcc.c-torture/execute/pr29797-1.c: New test case.

From-SVN: r118740

17 years agoDaily bump.
GCC Administrator [Mon, 13 Nov 2006 00:17:41 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r118738

17 years agobuiltins.c (fold_builtin_cosh): New.
Kaveh R. Ghazi [Sun, 12 Nov 2006 23:51:36 +0000 (23:51 +0000)]
builtins.c (fold_builtin_cosh): New.

* builtins.c (fold_builtin_cosh): New.
(fold_builtin_1): Use it.
* fold-const.c (negate_mathfn_p): Add llround, lround, round,
trunc to the list of "odd" functions.  Also add llrint, lrint,
rint and nearbyint when flag_rounding_math is false.

testsuite:
* gcc.dg/torture/builtin-symmetric-1.c: Add more cases.

From-SVN: r118733

17 years agotree-flow.h (name_mappings_registered_p): Declare.
Zdenek Dvorak [Sun, 12 Nov 2006 20:59:28 +0000 (21:59 +0100)]
tree-flow.h (name_mappings_registered_p): Declare.

* tree-flow.h (name_mappings_registered_p): Declare.
* tree-into-ssa.c (name_mappings_registered_p): New function.
* tree-cfg.c (tree_can_merge_blocks_p): Check
name_mappings_registered_p instead of need_ssa_update_p.

From-SVN: r118732

17 years agotree-ssa-loop.c (tree_vectorize): Return the result of vectorize_loops.
Zdenek Dvorak [Sun, 12 Nov 2006 20:11:53 +0000 (21:11 +0100)]
tree-ssa-loop.c (tree_vectorize): Return the result of vectorize_loops.

* tree-ssa-loop.c (tree_vectorize): Return the result of
vectorize_loops.
* tree-vectorizer.c (vectorize_loops): Return TODO_cleanup_cfg
if anything changed.
* tree-vectorizer.h (vectorize_loops): Declaration removed.
* tree-flow.h (vectorize_loops): Declaration changed.

From-SVN: r118731

17 years agotree-ssa-loop-prefetch.c (schedule_prefetches): Cleanup and improve comments.
Zdenek Dvorak [Sun, 12 Nov 2006 20:05:49 +0000 (21:05 +0100)]
tree-ssa-loop-prefetch.c (schedule_prefetches): Cleanup and improve comments.

* tree-ssa-loop-prefetch.c (schedule_prefetches): Cleanup and improve
comments.
(issue_prefetch_ref): Move assignment to write_p out of loop.
(determine_unroll_factor): Do not take PARAM_MAX_UNROLL_TIMES and
SIMULTANEOUS_PREFETCHES into account.
(loop_prefetch_arrays): Do not pass ahead to determine_unroll_factor.
* lambda-code.c (lcm): Renamed to ...
(least_common_multiple): ... and exported.
* tree-flow.h (least_common_multiple): Declare.

From-SVN: r118730

17 years agoMakefile.in (tree-data-ref.o): Add langhooks.h dependency.
Zdenek Dvorak [Sun, 12 Nov 2006 19:58:05 +0000 (20:58 +0100)]
Makefile.in (tree-data-ref.o): Add langhooks.h dependency.

* Makefile.in (tree-data-ref.o): Add langhooks.h dependency.
* tree-ssa-loop-niter.c (derive_constant_upper_bound):  Follow
ud-chains.  Handle AND_EXPR.
(record_estimate): Record whether the estimate is realistic
and whether it is derived from a loop exit.
(record_nonwrapping_iv, idx_infer_loop_bounds, infer_loop_bounds_from_ref,
infer_loop_bounds_from_array, infer_loop_bounds_from_signedness): New
functions.
(compute_estimated_nb_iterations): Take only realistic bounds into
account.  Set estimate_state.  Use double_ints.
(infer_loop_bounds_from_undefined): Call infer_loop_bounds_from_array
and infer_loop_bounds_from_signedness.  Do not consider basic blocks
that do not have to be always executed.
(estimate_numbers_of_iterations_loop): Set estimate_state, and use it
to determine whether to call infer_loop_bounds_from_undefined
and compute_estimated_nb_iterations.
(n_of_executions_at_most): Use double_ints.
(free_numbers_of_iterations_estimates_loop): Set estimate_state.
(substitute_in_loop_info): Do not replace in estimated_nb_iterations.
* double-int.c (double_int_to_tree): Improve comment.
(double_int_fits_to_tree_p): New function.
* double-int.h (double_int_fits_to_tree_p): Declare.
* tree-data-ref.c: Include langhooks.h.
(estimate_niter_from_size_of_data, estimate_iters_using_array): Removed.
(analyze_array_indexes): Do not call estimate_niter_from_size_of_data.
(analyze_array): Do not pass estimate_only argument to
analyze_array_indexes.
(get_number_of_iters_for_loop): Build tree from the stored double_int
value.
(get_references_in_stmt, find_data_references_in_stmt): New functions.
(find_data_references_in_loop): Use find_data_references_in_stmt.
* tree-data-ref.h (struct data_ref_loc_d): New.
(get_references_in_stmt): Declare.
(estimate_iters_using_array): Declaration removed.
* cfgloop.h (struct nb_iter_bound): Change type of bound to
double_int.  Improve comments.  Add is_exit and realistic
fields.
(struct loop): Changed type of estimated_nb_iterations to double_int.
Added estimate_state field.
(record_estimate): Declaration removed.

From-SVN: r118729

17 years agoparams.c (set_param_value): Initialize the "set" field.
Zdenek Dvorak [Sun, 12 Nov 2006 19:17:02 +0000 (20:17 +0100)]
params.c (set_param_value): Initialize the "set" field.

* params.c (set_param_value): Initialize the "set" field.
* params.h (struct param_info): Add "set" field.
(PARAM_SET_P): New macro.
(PREFETCH_LATENCY, SIMULTANEOUS_PREFETCHES, L1_CACHE_SIZE,
L1_CACHE_LINE_SIZE): New macros.
* toplev.c (DEFPARAM): Initialize the "set" field.
* tree-ssa-loop-prefetch.c (PREFETCH_LATENCY,
SIMULTANEOUS_PREFETCHES): Removed.
(PREFETCH_BLOCK): Use L1_CACHE_LINE_SIZE.
(tree_ssa_prefetch_arrays): Dump the values of the parameters.
* config/sparc/sparc.c: Include params.h.
(sparc_override_options): Set SIMULTANEOUS_PREFETCHES and
L1_CACHE_LINE_SIZE parameters.
* config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
Removed.
* config/i386/i386.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
Removed.
* config/i386/i386.c: Include params.h.
(k8_cost): Change default value for SIMULTANEOUS_PREFETCHES.
(override_options): Set SIMULTANEOUS_PREFETCHES and
L1_CACHE_LINE_SIZE parameters.
* config/sh/sh.h (SIMULTANEOUS_PREFETCHES): Removed.
(OPTIMIZATION_OPTIONS): Set SIMULTANEOUS_PREFETCHES and
L1_CACHE_LINE_SIZE parameters.
* config/ia64/ia64.c (ia64_optimization_options): Set
SIMULTANEOUS_PREFETCHES and L1_CACHE_LINE_SIZE parameters.
* config/ia64/ia64.h (SIMULTANEOUS_PREFETCHES, PREFETCH_BLOCK):
Removed.
* params.def (PARAM_PREFETCH_LATENCY, PARAM_SIMULTANEOUS_PREFETCHES,
PARAM_L1_CACHE_SIZE, PARAM_L1_CACHE_LINE_SIZE): New params.
* doc/invoke.texi: Document new params.

From-SVN: r118728

17 years agore PR tree-optimization/13827 ((a & b) != (c & b) should be transformed to ((a^c...
Roger Sayle [Sun, 12 Nov 2006 18:41:31 +0000 (18:41 +0000)]
re PR tree-optimization/13827 ((a & b) != (c & b) should be transformed to ((a^c) & b) !=0)

PR tree-optimization/13827
* fold-const.c (fold_binary) <EQ_EXPR, NE_EXPR>: Fold (X&C) op (Y&C)
as ((X^Y)&C) op 0.

* gcc.dg/fold-eqand-1.c: New test case.

From-SVN: r118727

17 years agocfgloopmanip.c (update_single_exit_for_duplicated_loop, [...]): New functions.
Zdenek Dvorak [Sun, 12 Nov 2006 18:20:03 +0000 (19:20 +0100)]
cfgloopmanip.c (update_single_exit_for_duplicated_loop, [...]): New functions.

* cfgloopmanip.c (update_single_exit_for_duplicated_loop,
update_single_exit_for_duplicated_loops): New functions.
(duplicate_loop_to_header_edge): Use
update_single_exit_for_duplicated_loops.
* tree-ssa-loop-manip.c (tree_unroll_loop): Call verification
functions only with ENABLE_CHECKING.

From-SVN: r118726

17 years agore PR java/29805 (Write past end of array in java/typeck.c)
David Daney [Sun, 12 Nov 2006 17:12:13 +0000 (17:12 +0000)]
re PR java/29805 (Write past end of array in java/typeck.c)

PR java/29805
* typeck.c (build_java_array_type): Increase buffer sizes.

From-SVN: r118724

17 years ago* except.c (sjlj_emit_function_enter): Remove unused variable.
Andreas Schwab [Sun, 12 Nov 2006 11:15:28 +0000 (11:15 +0000)]
* except.c (sjlj_emit_function_enter): Remove unused variable.

From-SVN: r118723

17 years agobitmap_allocator.h: Uglify some names.
Paolo Carlini [Sun, 12 Nov 2006 10:37:00 +0000 (10:37 +0000)]
bitmap_allocator.h: Uglify some names.

2006-11-12  Paolo Carlini  <pcarlini@suse.de>

* include/ext/bitmap_allocator.h: Uglify some names.
* include/ext/concurrence.h: Likewise.
* src/bitmap_allocator.cc: Likewise.

From-SVN: r118722

17 years agoCorrecting ChangeLog errors
Paul Thomas [Sun, 12 Nov 2006 10:15:04 +0000 (10:15 +0000)]
Correcting ChangeLog errors

From-SVN: r118721

17 years agofold-const.c (int_binop_types_match_p): New function.
Roger Sayle [Sun, 12 Nov 2006 02:57:10 +0000 (02:57 +0000)]
fold-const.c (int_binop_types_match_p): New function.

* fold-const.c (int_binop_types_match_p): New function.
(size_binop): Relax constraint that both arguments must both have
exactly the same sizetype type.  Instead use int_binop_types_match_p.
(size_diffop): Likewise.

(make_range): Use build_int_cst instead of fold_convert.
(fold_cond_expr_with_comparison): Use build_int_cst to construct
integer constants of the correct type.
(fold_div_compare): Likewise.
(fold_single_bit_test): Likewise.
(fold_binary): Likewise.
* stor-layout.c (layout_type) <VECTOR_TYPE>: Ensure that TYPE_SIZE
has type bitsizetype and TYPE_SIZE_UNIT has type sizetype.

From-SVN: r118718

17 years agore PR rtl-optimization/28812 (RTL aliasing vs may_alias and structs)
Andrew Pinski [Sun, 12 Nov 2006 01:10:56 +0000 (17:10 -0800)]
re PR rtl-optimization/28812 (RTL aliasing vs may_alias and structs)

2006-11-11  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR rtl-opt/28812
        * alias.c (fixed_scalar_and_varying_struct_p): Don't return a
        non null value if the struct memory access is in the 0th
        aliasing set.

2006-11-11  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR rtl-opt/28812
        * gcc.c-torture/execute/mayalias-3.c: New test.

From-SVN: r118716

17 years agorevert: bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__ and __BFIN__.
Jie Zhang [Sun, 12 Nov 2006 00:27:46 +0000 (00:27 +0000)]
revert: bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__ and __BFIN__.

Revert
2006-11-11  Jie Zhang  <jie.zhang@analog.com>
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__
and __BFIN__.

* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Use builtin_define_std
instead of builtin_define for bfin and BFIN.

From-SVN: r118713

17 years agobfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__ and __BFIN__.
Jie Zhang [Sun, 12 Nov 2006 00:21:30 +0000 (00:21 +0000)]
bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__ and __BFIN__.

* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __bfin__
and __BFIN__.

From-SVN: r118711

17 years agoDaily bump.
GCC Administrator [Sun, 12 Nov 2006 00:17:50 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r118709

17 years agoFix entry missing from previously committed ChangeLog
Tobias Schlüter [Sat, 11 Nov 2006 19:20:11 +0000 (20:20 +0100)]
Fix entry missing from previously committed ChangeLog

From-SVN: r118703

17 years agoFix typo in previous check-in
Tobias Schlüter [Sat, 11 Nov 2006 17:56:11 +0000 (18:56 +0100)]
Fix typo in previous check-in

From-SVN: r118702

17 years agore PR libstdc++/29496 (_M_invalidate function is not thread-safe in GLIBCXX_DEBUG...
Paolo Carlini [Sat, 11 Nov 2006 17:32:12 +0000 (17:32 +0000)]
re PR libstdc++/29496 (_M_invalidate function is not thread-safe in GLIBCXX_DEBUG mode)

2006-11-11  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/29496
* include/debug/safe_base.h (_Safe_sequence_base::_M_get_mutex,
_Safe_iterator_base::_M_get_mutex, _M_attach_single, _M_detach_single):
New.
* src/debug.cc: Define the latter.
(_Safe_sequence_base::_M_detach_all, _M_detach_singular,
_M_revalidate_singular, _M_swap): Use the mutex.
(_Safe_iterator_base::_M_attach, _M_detach): Adjust, forward to the
*_single version.
* include/debug/safe_iterator.h (_Safe_iterator<>::_M_attach_single,
_M_invalidate_single): New.
  * include/debug/safe_iterator.tcc: Define.
(_Safe_iterator<>::_M_invalidate): Adjust, forward to
_M_invalidate_single.
* include/debug/safe_sequence.h (_Safe_sequence<>::_M_invalidate_if,
_M_transfer_iter): Use the mutex, adjust, forward to the *_single
versions of _M_invalidate and _M_attach.
* config/abi/pre/gnu.ver (_Safe_sequence_base::_M_get_mutex,
_Safe_iterator_base::_M_get_mutex, _M_attach_single, _M_detach_single):
Add @GLIBCXX_3.4.10; adjust.
* configure.ac (libtool_VERSION): To 6:10:0.
* testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.10.
* configure: Regenerate.

From-SVN: r118701

17 years agodata.c: Add 2006 to copyright years.
Tobias Schlüter [Sat, 11 Nov 2006 17:10:24 +0000 (18:10 +0100)]
data.c: Add 2006 to copyright years.

* data.c: Add 2006 to copyright years.
* interface.c: Same.
* misc.c: Same.
* trans-io.c: Same.

From-SVN: r118700

17 years agoconfigure.in (have_gmp): Only error if the gcc directory exists.
Kaveh R. Ghazi [Sat, 11 Nov 2006 17:02:04 +0000 (17:02 +0000)]
configure.in (have_gmp): Only error if the gcc directory exists.

* configure.in (have_gmp): Only error if the gcc directory exists.

* configure: Regenerate.

From-SVN: r118699

17 years agoOops, commited wrong variant of patch in last commit, this is the diff
Jan Hubicka [Sat, 11 Nov 2006 16:57:13 +0000 (16:57 +0000)]
Oops, commited wrong variant of patch in last commit, this is the diff
to correct one.

From-SVN: r118698

17 years agoextended.texi (__builtin_expect): We no longer require second argument to be constant.
Jan Hubicka [Sat, 11 Nov 2006 16:55:48 +0000 (16:55 +0000)]
extended.texi (__builtin_expect): We no longer require second argument to be constant.

* extended.texi (__builtin_expect): We no longer require second argument
to be constant.
* gengtype.c (adjust_field_rtx_def): Drop NOTE_INSN_EXPECTED_VALUE.
* builtins.c (expand_builtin_expect): Simplify.
(expand_builtin_expect_jump): Kill.
* final.c (final_scan_insn): Do not skip the removed notes.
* insn-notes.def (LOOP_BEG, LOOP_END, REPEATED_LINE_NUMBER,
EXPECTED_VALUE): Remove.
* dojump.c (do_jump): Do not care about __builtin_expect.
* predict.c (expected_value_to_br_prob): Kill.
* function.c (expand_function_end): Do not expand
NOTE_INSN_REPEATED_LINE_NUMBER.
* print-rtl.c (print_rtx): Do not pretty print the removed notes.
* expect.c (sjlj_emit_function_enter): Emit directly branch probability.
* cfgexpand.c (add_reg_br_prob_note): Export.
* cfgcleanup.c (rest_of_handle_jump2): Do not call
expected_value_to_br_prob.
* cfglayout.c (duplicate_insn_chain): Do not deal with removed notes.
* rtl.h (add_reg_br_prob_note): Declare.

From-SVN: r118697

17 years agoextended.texi (__builtin_expect): We no longer require second argument to be constant.
Jan Hubicka [Sat, 11 Nov 2006 16:54:57 +0000 (17:54 +0100)]
extended.texi (__builtin_expect): We no longer require second argument to be constant.

* extended.texi (__builtin_expect): We no longer require second argument
to be constant.
* gengtype.c (adjust_field_rtx_def): Drop NOTE_INSN_EXPECTED_VALUE.
* builtins.c (expand_builtin_expect): Simplify.
(expand_builtin_expect_jump): Kill.
* final.c (final_scan_insn): Do not skip the removed notes.
* insn-notes.def (LOOP_BEG, LOOP_END, REPEATED_LINE_NUMBER,
EXPECTED_VALUE): Remove.
* dojump.c (do_jump): Do not care about __builtin_expect.
* predict.c (expected_value_to_br_prob): Kill.
* function.c (expand_function_end): Do not expand
NOTE_INSN_REPEATED_LINE_NUMBER.
* print-rtl.c (print_rtx): Do not pretty print the removed notes.
* expect.c (sjlj_emit_function_enter): Emit directly branch probability.
* cfgexpand.c (add_reg_br_prob_note): Export.
* cfgcleanup.c (rest_of_handle_jump2): Do not call
expected_value_to_br_prob.
* cfglayout.c (duplicate_insn_chain): Do not deal with removed notes.
* rtl.h (add_reg_br_prob_note): Declare.

From-SVN: r118696

17 years agotree-pretty-print.c (dump_generic_node): Print sign of Inf.
Kaveh R. Ghazi [Sat, 11 Nov 2006 16:51:17 +0000 (16:51 +0000)]
tree-pretty-print.c (dump_generic_node): Print sign of Inf.

* tree-pretty-print.c (dump_generic_node): Print sign of Inf.

From-SVN: r118695

17 years ago* predict.c (predict_loops): Kill RTL variant.
Jan Hubicka [Sat, 11 Nov 2006 16:13:09 +0000 (17:13 +0100)]
* predict.c (predict_loops): Kill RTL variant.

From-SVN: r118694

17 years agotree-pass.h (pass_purge_lineno_notes): Remove declaration.
Jan Hubicka [Sat, 11 Nov 2006 15:50:16 +0000 (16:50 +0100)]
tree-pass.h (pass_purge_lineno_notes): Remove declaration.

* tree-pass.h (pass_purge_lineno_notes): Remove declaration.
* modulo-sched.c (find_line_note): Remove.
(loop_canon_p): Do not worry about line number notes.
(sms_schedule): Likewise.
* cse.c (cse_main): Likewise.
* regmove.c (fixup_match_1): Likewise
* function.c (emit_return_info_block): Likewise.
(expand_function_end): Likewise.
(thread_prologue_an_epilogue_insns): Likewise.
* cfgrtl.c (try_redirect_by_replacing_jump, rtl_tidy_fallthru_edge):
Likewise.
* emit-rtl.c (find_line_note, emit_insn_after_with_line_notes,
emit_note_copy_after): Kill.
(emit_note_copy): Do not worry about line numbers.
* jump.c (purge_line_number_notes): Kill.
(pass_purge_lineno_notes): Kill.
* cfgcleanup.c (rest_of_handle_jump2): Kill purge_line_number_notes
call.
* rtl.h (emit_note_copy_after, emit_insn_after_with_line_notes): Kill.
* passes.c (init_optimization_passes): Don't purge_lineno_notes.
* sched-ebb.c (schedule_ebbs): Don't do rm_redundant_line_notes.
* tree-pass.h (pass_purge_lineno_notes): Kill.
* sched-ebb.c (schedule_ebb): Don't rm_line_notes,
rm_redundant_line_notes.
* sched-rgb.c (schedule_region): Don't rm_line_notes,
rm_redundant_line_notes.
* sched-int.h (rm_line_notes, rm_redundant_line_notes): Kill.
* haifa-sched.c: Update comment about handling notes.
  (unlink_line_notes): Kill.
(rm_line_notes): Kill.
(save_line_notes): Simplify.
(rm_redundant_line_notes): Kill.

From-SVN: r118693

17 years agotree.def (FIX_CEIL_EXPR, [...]): Remove unused tree codes.
Richard Guenther [Sat, 11 Nov 2006 12:05:16 +0000 (12:05 +0000)]
tree.def (FIX_CEIL_EXPR, [...]): Remove unused tree codes.

2006-11-11  Richard Guenther  <rguenther@suse.de>

* tree.def (FIX_CEIL_EXPR, FIX_FLOOR_EXPR, FIX_ROUND_EXPR):
Remove unused tree codes.
* tree-vrp.c (extract_range_from_unary_expr): Remove handling
of FIX_CEIL_EXPR, FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
* tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
* tree.c (stabilize_reference): Likewise.
* fold-const.c (fold_convert_const_int_from_real, operand_equal_p,
fold_unary): Likewise.
* tree-gimple.c (is_gimple_cast): Likewise.
* dwarf2out.c (loc_descriptor_from_tree_1): Likewise.
* expr.c (expand_expr_real_1): Likewise.
* tree-eh.c (tree_could_trap_p): Likewise.
* gimplify.c (gimplify_expr): Likewise.
* tree-inline.c (estimate_num_insns_1): Likewise.
* tree-cfg.c (verify_expr): Likewise.

cp/
* typeck.c (build_unary_op): Likewise.

java/
* check-init.c (check_init): Likewise.

ada/
* trans.c (maybe_stabilize_reference): Likewise.

fortran/
* trans-intrinsic.c (enum rounding_mode): New enum.
(build_fix_expr, gfc_conv_intrinsic_aint, gfc_conv_intrinsic_mod,
gfc_conv_intrinsic_function): Use it instead of FIX_CEIL_EXPR,
FIX_FLOOR_EXPR, FIX_ROUND_EXPR and FIX_TRUNC_EXPR.

From-SVN: r118692

17 years agotree-ssa-loop.c (pass_loop_prefetch): Change name to aprefetch.
Zdenek Dvorak [Sat, 11 Nov 2006 10:15:18 +0000 (11:15 +0100)]
tree-ssa-loop.c (pass_loop_prefetch): Change name to aprefetch.

* tree-ssa-loop.c (pass_loop_prefetch): Change name to aprefetch.
* tree-ssa-loop-prefetch.c (dump_mem_ref): Fix target file.
(tree_ssa_prefetch_arrays): Do not dump for removed loops.

From-SVN: r118691

17 years agore PR middle-end/27528 (compiling linux kernels 2.6.16.14/15 2.6.17-rc3 on powerpc...
Richard Sandiford [Sat, 11 Nov 2006 09:47:35 +0000 (09:47 +0000)]
re PR middle-end/27528 (compiling linux kernels 2.6.16.14/15 2.6.17-rc3 on powerpc (7450) get error on long exixting code)

gcc/
PR middle-end/27528
* stmt.c (expand_asm_operands): Use EXPAND_INITIALIZER if the
constraints accept neither registers or memories.

gcc/testsuite/
PR middle-end/27528
* gcc.c-torture/compile/pr27528.c: New test.
* gcc.dg/pr27528.c: Likewise.

From-SVN: r118689

17 years agobfin.h (FUNCTION_PROFILER): Don't use LABELNO.
Jie Zhang [Sat, 11 Nov 2006 07:48:33 +0000 (07:48 +0000)]
bfin.h (FUNCTION_PROFILER): Don't use LABELNO.

* config/bfin/bfin.h (FUNCTION_PROFILER): Don't use LABELNO.
(NO_PROFILE_COUNTERS): Define as 1.

From-SVN: r118686

17 years agofold-const.c (operand_equal_p): Don't check for TREE_CONSTANT_OVERFLOW when comparing...
Roger Sayle [Sat, 11 Nov 2006 05:00:10 +0000 (05:00 +0000)]
fold-const.c (operand_equal_p): Don't check for TREE_CONSTANT_OVERFLOW when comparing constants.

* fold-const.c (operand_equal_p) <INTEGER_CST, REAL_CST, VECTOR_CST>:
Don't check for TREE_CONSTANT_OVERFLOW when comparing constants.

From-SVN: r118685

17 years agortl.h (MEM_COPY_ATTRIBUTES): Copy MEM_POINTER.
Peter Bergner [Sat, 11 Nov 2006 04:20:37 +0000 (22:20 -0600)]
rtl.h (MEM_COPY_ATTRIBUTES): Copy MEM_POINTER.

* rtl.h (MEM_COPY_ATTRIBUTES): Copy MEM_POINTER.

From-SVN: r118684

17 years agobuiltins.c (fold_builtin_cos): Use fold_strip_sign_ops().
Kaveh R. Ghazi [Sat, 11 Nov 2006 04:05:14 +0000 (04:05 +0000)]
builtins.c (fold_builtin_cos): Use fold_strip_sign_ops().

* builtins.c (fold_builtin_cos): Use fold_strip_sign_ops().
(fold_builtin_hypot): Likewise.
* fold-const.c (fold_strip_sign_ops): Handle "odd" builtins.

testsuite:
* gcc.dg/builtins-20.c: Add more cases for stripping sign ops.

From-SVN: r118683

17 years agofold-const.c (negate_mathfn_p): Add BUILT_IN_ERF.
Kaveh R. Ghazi [Sat, 11 Nov 2006 04:01:42 +0000 (04:01 +0000)]
fold-const.c (negate_mathfn_p): Add BUILT_IN_ERF.

* fold-const.c (negate_mathfn_p): Add BUILT_IN_ERF.

testsuite:
* gcc.dg/torture/builtin-symmetric-1.c: New test.

From-SVN: r118682

17 years agotree.c (build_int_cst_wide): Add an assertion (gcc_unreachable) when attempting to...
Roger Sayle [Sat, 11 Nov 2006 01:47:18 +0000 (01:47 +0000)]
tree.c (build_int_cst_wide): Add an assertion (gcc_unreachable) when attempting to build INTEGER_CSTs of...

* tree.c (build_int_cst_wide): Add an assertion (gcc_unreachable)
when attempting to build INTEGER_CSTs of non-integral types.
* expmed.c (make_tree): Use the correct type, i.e. the inner
type, when constructing the individual elements of a CONST_VECTOR.

From-SVN: r118678

17 years agoDaily bump.
GCC Administrator [Sat, 11 Nov 2006 00:17:31 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r118676

17 years agoCorrected gfc_process_option to gfc_handle_option in my last
Brooks Moses [Fri, 10 Nov 2006 23:43:05 +0000 (15:43 -0800)]
Corrected gfc_process_option to gfc_handle_option in my last
ChangeLog entry.

From-SVN: r118670

17 years agolang.opt (-fmodule-private): Remove option.
Brooks Moses [Fri, 10 Nov 2006 22:34:26 +0000 (14:34 -0800)]
lang.opt (-fmodule-private): Remove option.

* lang.opt (-fmodule-private): Remove option.
* gfortran.h (gfc_option_t): Remove module_access_private flag.
* options.c (gfc_init_options): Remove initialization for it.
(gfc_process_option): Remove handling for -fmodule-private.
* module.c (gfc_check_access): Add comments, remove check for
gfc_option.flag_module_access_private.

(Also fixed tab-damage in preceeding changelog entry.)

From-SVN: r118668

17 years agocse.c (cse_process_notes): Copy the propagated value.
Jan Hubicka [Fri, 10 Nov 2006 21:42:04 +0000 (22:42 +0100)]
cse.c (cse_process_notes): Copy the propagated value.

* cse.c (cse_process_notes): Copy the propagated value.
* local-alloc.c (update_equiv_regs): Copy the memory RTX to be used
in REG_EQUIV notes.
* gcse.c (try_replace_reg): Copy the replacement.
* i386.c (emit_i387_cw_initialization): Copy stored_mode
(assign_386_stack_local): Always return copied memory expression
* function.c (instantiate_virtual_regs_in_insn): Copy the operand
duplicates.

From-SVN: r118665

17 years agore PR fortran/29758 (Runtime segfault in RESHAPE with insufficient elements in SOURCE)
Paul Thomas [Fri, 10 Nov 2006 21:06:42 +0000 (21:06 +0000)]
re PR fortran/29758 (Runtime segfault in RESHAPE with insufficient elements in SOURCE)

2006-11-10 Paul Thomas <pault@gcc.gnu.org>

   PR fortran/29758
   * check.c (gfc_check_reshape): Check that there are enough
   elements in the source array as to be able to fill an array
   defined by shape, when pad is absent.

2006-11-10 Paul Thomas <pault@gcc.gnu.org>

   PR fortran/29758
   * gfortran.dg/reshape_source_size_1.f90: New test.

From-SVN: r118664

17 years agore PR libmudflap/28578 (A most simple multithreaded program (practically any multithr...
Frank Ch. Eigler [Fri, 10 Nov 2006 18:42:28 +0000 (18:42 +0000)]
re PR libmudflap/28578 (A most simple multithreaded program (practically any multithreaded one) causes mudflap violation)

2006-11-10  Frank Ch. Eigler  <fche@redhat.com>

PR libmudflap/28578
* mf-hooks1.c (__mf_0fn_malloc): Make the bootstrap buffers
static but not function scope static.
(free): Skip deallocation attempts for objects placed into
bootstrap buffers.
* testsuite/libmudflap.cth/pass59-frag.c: New test.

M    libmudflap/mf-hooks1.c
M    libmudflap/ChangeLog
A    libmudflap/testsuite/libmudflap.cth/pass59-frag.c

From-SVN: r118662

17 years agore PR fortran/29454 (Slightly wrong error message for IF statement)
Tobias Burnus [Fri, 10 Nov 2006 18:15:39 +0000 (19:15 +0100)]
re PR fortran/29454 (Slightly wrong error message for IF statement)

2006-11-10  Tobias Burnus  <burnus@net-b.de>

       PR fortran/29454
       * resolve.c (gfc_resolve_blocks): Fix error message.

From-SVN: r118661

17 years agore PR fortran/29315 (error passing an array derived from type element)
Paul Thomas [Fri, 10 Nov 2006 17:21:57 +0000 (17:21 +0000)]
re PR fortran/29315 (error passing an array derived from type element)

2006-11-10 Paul Thomas <pault@gcc.gnu.org>

PR fortran/29315
* trans-expr.c (is_aliased_array): Treat correctly the case where the
component is itself and array or array reference.

2006-11-10 Paul Thomas <pault@gcc.gnu.org>

PR fortran/29315
* gfortran.dg/aliasing_dummy_4.f90: New test.

From-SVN: r118659

17 years agoc_locale.cc (__convert_to_v): Prefer strtold_l over __strtold_l if available.
Jakub Jelinek [Fri, 10 Nov 2006 15:50:39 +0000 (16:50 +0100)]
c_locale.cc (__convert_to_v): Prefer strtold_l over __strtold_l if available.

* config/locale/gnu/c_locale.cc (__convert_to_v): Prefer
strtold_l over __strtold_l if available.

From-SVN: r118654

17 years agofinal.c (final): Walk from first instruction.
Jan Hubicka [Fri, 10 Nov 2006 09:30:33 +0000 (10:30 +0100)]
final.c (final): Walk from first instruction.

* final.c (final): Walk from first instruction.
* cfglayout.c (insn_locators_initialize): Remove line number notes.

From-SVN: r118650

17 years agore PR tree-optimization/29777 (missed optimization: model missing widen_mult* idioms...
Uros Bizjak [Fri, 10 Nov 2006 08:45:47 +0000 (09:45 +0100)]
re PR tree-optimization/29777 (missed optimization: model missing widen_mult*  idioms for SSE)

PR target/29777
* config/i386/sse.md (smulv8hi3_highpart): Change from define_insn
to define_expand.
(umulv8hi3_highpart): Ditto.
(vec_widen_smult_hi_v8hi): New expander.
(vec_widen_smult_lo_v8hi): Ditto.

testsuite/ChangeLog:

PR target/29777
        * lib/target-supports.exp (vect_widen_mult_hi_to_si): Add i?86-*-*
and x86_64-*-* targets.

From-SVN: r118649

17 years agobuiltins.c (do_mpfr_arg3): New.
Kaveh R. Ghazi [Fri, 10 Nov 2006 04:26:31 +0000 (04:26 +0000)]
builtins.c (do_mpfr_arg3): New.

* builtins.c (do_mpfr_arg3): New.
(fold_builtin_1): Handle builtins fma, fmin and fmax.

testsuite:
* gcc.dg/torture/builtin-math-2.c: Test builtin fma.
* gcc.dg/torture/builtin-math-3.c (CKSGN_F, CKSGN, CKSGN_L):
New macros. Use them in exact tests.
(TESTIT3): New macro.
Add tests for fmin, fmax and fma.

From-SVN: r118648

17 years ago* check.c (same_type_check): Typo fix in comment.
Brooks Moses [Fri, 10 Nov 2006 03:38:43 +0000 (03:38 +0000)]
* check.c (same_type_check): Typo fix in comment.

From-SVN: r118647

17 years agoDaily bump.
GCC Administrator [Fri, 10 Nov 2006 00:17:39 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r118639

17 years agore PR bootstrap/26892 (Can't compile a 64-bit gcc)
Eric Christopher [Thu, 9 Nov 2006 23:56:57 +0000 (23:56 +0000)]
re PR bootstrap/26892 (Can't compile a 64-bit gcc)

2006-11-09  Eric Christopher  <echristo@apple.com>

        PR bootstrap/26892
        PR bootstrap/27814
        PR other/28994
        * configure.ac: Match powerpc*-*-darwin* for powerpc darwin checks.
        * config.gcc (powerpc64-*-darwin*): New target.
        * config.host: Ditto.
        * config/rs6000/darwin64.h: New file.
        * config/rs6000/x-darwin64: Ditto.
        * config/rs6000/host-ppc64-darwin.c: Ditto.

From-SVN: r118633

17 years agoia64.c (ia64_hpux_init_libfuncs): Use HP-UX millicode routines for integer division.
Steve Ellcey [Thu, 9 Nov 2006 23:48:55 +0000 (23:48 +0000)]
ia64.c (ia64_hpux_init_libfuncs): Use HP-UX millicode routines for integer division.

* config/ia64/ia64.c (ia64_hpux_init_libfuncs):  Use HP-UX millicode
routines for integer division.

From-SVN: r118632

17 years agore PR fortran/29431 (Not Implemented: complex character array constructors)
Paul Thomas [Thu, 9 Nov 2006 22:49:12 +0000 (22:49 +0000)]
re PR fortran/29431 (Not Implemented: complex character array constructors)

2006-11-09 Paul Thomas <pault@gcc.gnu.org>

PR fortran/29431
* trans-array.c    (get_array_ctor_strlen): If we fall through to
default, use a constant character length if it is available.

2006-11-09 Paul Thomas <pault@gcc.gnu.org>

PR fortran/29431
* gfortran.dg/array_constructor_13.f90: New test.

From-SVN: r118631

17 years ago* config/arm/t-linux (LIBGCC2_DEBUG_CFLAGS): Delete.
Daniel Jacobowitz [Thu, 9 Nov 2006 22:14:27 +0000 (22:14 +0000)]
* config/arm/t-linux (LIBGCC2_DEBUG_CFLAGS): Delete.

From-SVN: r118630

17 years agore PR fortran/29744 (Type renaming crashes gfortran with excessive memory usage)
Paul Thomas [Thu, 9 Nov 2006 20:22:19 +0000 (20:22 +0000)]
re PR fortran/29744 (Type renaming crashes gfortran with excessive memory usage)

2006-11-09 Paul Thomas <pault@gcc.gnu.org>

PR fortran/29744
* trans-types.c (gfc_get_derived_type): Ensure that the
proc_name namespace is not the same as the owner namespace and
that identical derived types in the same namespace share the
same backend_decl.

2006-11-09 Paul Thomas <pault@gcc.gnu.org>

PR fortran/29744
* gfortran.dg/used_types_12.f90: New test.

From-SVN: r118627

17 years agoenv.c (parse_schedule): Reject out of range values.
Uros Bizjak [Thu, 9 Nov 2006 19:41:36 +0000 (20:41 +0100)]
env.c (parse_schedule): Reject out of range values.

        * env.c (parse_schedule): Reject out of range values.
        (parse_unsigned_long): Reject out of range, negative or zero values.

From-SVN: r118626

17 years agore PR middle-end/29726 (invalid folding of ((X >> C1) & C2) != 0 or "M-x is undefined...
Serge Belyshev [Thu, 9 Nov 2006 19:24:32 +0000 (19:24 +0000)]
re PR middle-end/29726 (invalid folding of ((X >> C1) & C2) != 0 or "M-x is undefined" in emacs)

2006-11-09  Serge Belyshev  <belyshev@depni.sinp.msu.ru>

PR middle-end/29726
* fold-const.c (fold_binary) <EQ_EXPR>: Fix typo in variable name.

* gcc.dg/fold-eqandshift-1.c (test5): Uncomment function.
(test6): Ditto.
(dg-final): Add scan-tree-dump-times patterns for test5 and test6.
* gcc.dg/fold-eqandshift-3.c: New test case.

From-SVN: r118625

17 years agore PR fortran/29699 (ICE in trans-decl.c)
Paul Thomas [Thu, 9 Nov 2006 18:42:28 +0000 (18:42 +0000)]
re PR fortran/29699 (ICE in trans-decl.c)

2006-11-09 Paul Thomas <pault@gcc.gnu.org>

PR fortran/29699
* trans-array.c (structure_alloc_comps): Detect pointers to
arrays and use indirect reference to declaration.
* resolve.c (resolve_fl_variable): Tidy up condition.
(resolve_symbol): The same and only add initialization code if
the symbol is referenced.
* trans-decl.c (gfc_trans_deferred_vars): Call gfc_trans_
deferred_array before gfc_trans_auto_array_allocation.

PR fortran/21730
* symbol.c (check_done): Remove.
(gfc_add_attribute): Remove reference to check_done and remove
the argument attr_intent.
(gfc_add_allocatable, gfc_add_dimension, gfc_add_external,
gfc_add_intrinsic, gfc_add_optional, gfc_add_pointer,
gfc_add_cray_pointer, gfc_add_cray_pointee, gfc_add_result,
gfc_add_target, gfc_add_in_common, gfc_add_elemental,
gfc_add_pure, gfc_add_recursive, gfc_add_procedure,
gfc_add_type): Remove references to check_done.
* decl.c (attr_decl1): Eliminate third argument in call to
gfc_add_attribute.
* gfortran.h : Change prototype for gfc_add_attribute.

2006-11-09 Paul Thomas <pault@gcc.gnu.org>

PR fortran/29699
* gfortran.dg/alloc_comp_auto_array_1.f90: New test.

PR fortran/21730
* gfortran.dg/change_symbol_attributes_1.f90: New test.

From-SVN: r118624

17 years agosimplify-rtx.c (avoid_constant_pool_reference): Avoid calling simplify_subreg with...
Andreas Krebbel [Thu, 9 Nov 2006 17:56:04 +0000 (17:56 +0000)]
simplify-rtx.c (avoid_constant_pool_reference): Avoid calling simplify_subreg with BLKmode outer mode.

2006-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>

* simplify-rtx.c (avoid_constant_pool_reference): Avoid calling
simplify_subreg with BLKmode outer mode.

2006-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>

* gcc.dg/20061109-1.c: New testcase.

From-SVN: r118622

17 years agobuiltins-20.c: Use fabs, not __builtin_fabs.
Kaveh R. Ghazi [Thu, 9 Nov 2006 14:42:19 +0000 (14:42 +0000)]
builtins-20.c: Use fabs, not __builtin_fabs.

* gcc.dg/builtins-20.c: Use fabs, not __builtin_fabs.

From-SVN: r118621

17 years agoio_constraints_3.f90: Fixed by using -fmax-errors.
Tobias Burnus [Thu, 9 Nov 2006 10:26:10 +0000 (11:26 +0100)]
io_constraints_3.f90: Fixed by using -fmax-errors.

2006-11-09  Tobias Burnus  <burnus@net-b.de>

       * gfortran.dg/io_constraints_3.f90: Fixed by using -fmax-errors.
       * gfortran.dg/gomp/reduction1.f90: Fixed by using -fmax-errors.

From-SVN: r118619

17 years agoinvoke.texi: Minor formatting fixes in option lists.
Brooks Moses [Thu, 9 Nov 2006 08:25:12 +0000 (08:25 +0000)]
invoke.texi: Minor formatting fixes in option lists.

* doc/invoke.texi: Minor formatting fixes in option lists.

From-SVN: r118617

17 years agoinvoke.texi: Added documentation for -fmax-errors option.
Brooks Moses [Thu, 9 Nov 2006 08:23:21 +0000 (08:23 +0000)]
invoke.texi: Added documentation for -fmax-errors option.

* invoke.texi: Added documentation for -fmax-errors option.

From-SVN: r118616

17 years agolang.opt: Add -fmax-errors= option.
Brooks Moses [Thu, 9 Nov 2006 06:53:05 +0000 (06:53 +0000)]
lang.opt: Add -fmax-errors= option.

* lang.opt: Add -fmax-errors= option.
* gfortran.h (gfc_option_t): Add max_errors element.
* options.c (gfc_init_options): Set max_errors default value
to 25.
(gfc_handle_options): Assign -fmax_errors value to
gfc_option.max_errors.
* error.c (gfc_increment_error_count): New function, which
also checks whether the error count exceeds max_errors.
(gfc_warning): Use it.
(gfc_warning_now): Use it.
(gfc_notify_std): Use it.
(gfc_error): Use it.
(gfc_error_now): Use it.
(gfc_error_check): Use it.

From-SVN: r118615

17 years agolang.opt: Remove non-working -qkind= option.
Brooks Moses [Thu, 9 Nov 2006 06:41:55 +0000 (06:41 +0000)]
lang.opt: Remove non-working -qkind= option.

* lang.opt: Remove non-working -qkind= option.
* gfortran.h (gfc_option_t): Remove q_kind member.
* options.c (gfc_init_options): Remove q_kind initialization.
(gfc_handle_option): Remove -qkind= option handling.
* primary.c: (match_real_constant): Remove 'Q' exponent.

From-SVN: r118614

17 years ago2006-11-08 Steven G. Kargl <kargl@gcc.gnu.org>
Steven G. Kargl [Thu, 9 Nov 2006 03:57:44 +0000 (03:57 +0000)]
2006-11-08  Steven G. Kargl <kargl@gcc.gnu.org>

    * io/read. (max_value): Hide "int n" in an #ifdef.

From-SVN: r118613

17 years agore PR fortran/29752 (write(*,*,advance='NO'), READ(): Data not flushed)
Jerry DeLisle [Thu, 9 Nov 2006 03:03:40 +0000 (03:03 +0000)]
re PR fortran/29752 (write(*,*,advance='NO'), READ(): Data not flushed)

2006-11-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/29752
* io/transfer.c (finalize_transfer): Flush on ADVANCE_NO.

From-SVN: r118611

17 years agoDaily bump.
GCC Administrator [Thu, 9 Nov 2006 00:17:40 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r118607

17 years agore PR tree-optimization/29738 (Missed constant propagation into loops)
Zdenek Dvorak [Thu, 9 Nov 2006 00:09:43 +0000 (01:09 +0100)]
re PR tree-optimization/29738 (Missed constant propagation into loops)

PR tree-optimization/29738
* tree-ssa-ccp.c: Remove UNKNOWN_VAL from comments.
(ccp_lattice_t): Remove UNKNOWN_VAL.
(dump_lattice_value, ccp_lattice_meet, ccp_visit_phi_node):
Do not handle UNKNOWN_VAL.
(get_default_value): Set initial value of virtual operands to
VARYING.
(get_value): Always use get_default_value on uninitialized
operands.
(set_value_varying, surely_varying_stmt_p): New functions.
(set_lattice_value): Do not pass argument to get_value.
Do not handle UNKNOWN_VAL.
(likely_value): Follow the semantics described in the comment.
(ccp_initialize): Use surely_varying_stmt_p.  Do not mark
phi nodes DONT_SIMULATE_AGAIN.
(ccp_fold): Do not pass argument to get_value.
(fold_const_aggregate_ref, visit_assignment): Ditto.  Do not
handle UNKNOWN_VAL.

* gcc.dg/tree-ssa/ssa-ccp-14.c: New test.
* gcc.dg/tree-ssa/ssa-ccp-15.c: New test.

From-SVN: r118602

17 years agobuiltin-math-3.c: Add more sincos tests.
Kaveh R. Ghazi [Wed, 8 Nov 2006 21:53:02 +0000 (21:53 +0000)]
builtin-math-3.c: Add more sincos tests.

* gcc.dg/torture/builtin-math-3.c: Add more sincos tests.

From-SVN: r118600

17 years agotree-pretty-print.c (dump_generic_node): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX instead...
Andrew Pinski [Wed, 8 Nov 2006 19:50:49 +0000 (11:50 -0800)]
tree-pretty-print.c (dump_generic_node): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX instead of format buffer.

2006-11-08  Andrew Pinski  <Andrew_Pinski@playstation.sony.com>

        * tree-pretty-print.c (dump_generic_node) <INTEGER_CST>: Use
        HOST_WIDE_INT_PRINT_DOUBLE_HEX instead of format buffer.

From-SVN: r118597

17 years agopex-win32.c (no_suffixes): Remove.
Vladimir Prus [Wed, 8 Nov 2006 18:16:27 +0000 (18:16 +0000)]
pex-win32.c (no_suffixes): Remove.

2006-11-08  Vladimir Prus  <vladimir@codesourcery.com>

        * pex-win32.c (no_suffixes): Remove.
        (std_suffixes): Add "" as first element.
        (find_executable): Remove detection of already-present
        extension. Try all suffixes in std_suffixes.

From-SVN: r118595

17 years agotree-ssa-propagate.c (set_rhs): Restructure validity tests as a test for inclusion...
Roger Sayle [Wed, 8 Nov 2006 17:39:35 +0000 (17:39 +0000)]
tree-ssa-propagate.c (set_rhs): Restructure validity tests as a test for inclusion rather than as a test for...

* tree-ssa-propagate.c (set_rhs): Restructure validity tests as a
test for inclusion rather than as a test for exclusion.
* tree-ssa-ccp.c (fold_stmt_r) <COND_EXPR>: Use set_rhs to modify
the condition after calling fold_binary.
* fold-const.c (fold_inf_compare): Remove in_gimple_form check.
(fold_binary) <LT_EXPR, GT_EXPR, LE_EXPR, GE_EXPR>: Likewise.
* builtins.c (fold_builtin_isascii): Likewise.
(fold_builtin_isdigit): Likewise.

From-SVN: r118593

17 years agoconfigure.ac: Do not set PREFIX_INCLUDE_DIR if $prefix is NONE.
Carlos O'Donell [Wed, 8 Nov 2006 16:52:05 +0000 (16:52 +0000)]
configure.ac: Do not set PREFIX_INCLUDE_DIR if $prefix is NONE.

gcc/

2006-11-08  Carlos O'Donell  <carlos@codesourcery.com>

* configure.ac: Do not set PREFIX_INCLUDE_DIR if $prefix is NONE.
* configure: Regenerate.

From-SVN: r118588

17 years agogfortran.texi: Add volatile and internal-file namelist to Fortran 2003 status.
Tobias Burnus [Wed, 8 Nov 2006 09:23:53 +0000 (10:23 +0100)]
gfortran.texi: Add volatile and internal-file namelist to Fortran 2003 status.

2006-11-08  Tobias Burnus  <burnus@net-b.de>

       * gfortran.texi: Add volatile and internal-file
         namelist to Fortran 2003 status.
       * intrinsic.texi: Correct CHMOD entry.

From-SVN: r118578

17 years ago[multiple changes]
Dorit Nuzman [Wed, 8 Nov 2006 07:32:44 +0000 (07:32 +0000)]
[multiple changes]

2006-11-08  Dorit Nuzman  <dorit@il.ibm.com>

        * tree-vect-analyze.c (vect_mark_relevant, vect_stmt_relevant_p): Take
        enum argument instead of bool.
        (vect_analyze_operations): Call vectorizable_type_promotion.
        * tree-vectorizer.h (type_promotion_vec_info_type): New enum
        stmt_vec_info_type value.
        (supportable_widening_operation, vectorizable_type_promotion): New
        function declarations.
        * tree-vect-transform.c (vect_gen_widened_results_half): New function.
        (vectorizable_type_promotion): New function.
        (vect_transform_stmt): Call vectorizable_type_promotion.
        * tree-vect-analyze.c (supportable_widening_operation): New function.
        * tree-vect-patterns.c (vect_recog_dot_prod_pattern):
        Add implementation.
        * tree-vect-generic.c (expand_vector_operations_1): Consider correct
        mode.

        * tree.def (VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR):
        (VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO_EXPR): New tree-codes.
        * tree-inline.c (estimate_num_insns_1): Add cases for above new
        tree-codes.
        * tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
        * expr.c (expand_expr_real_1): Likewise.
        * optabs.c (optab_for_tree_code): Likewise.
        (init_optabs): Initialize new optabs.
        * genopinit.c (vec_widen_umult_hi_optab, vec_widen_smult_hi_optab,
        vec_widen_smult_hi_optab, vec_widen_smult_lo_optab,
        vec_unpacks_hi_optab, vec_unpacks_lo_optab, vec_unpacku_hi_optab,
        vec_unpacku_lo_optab): Initialize new optabs.
        * optabs.h (OTI_vec_widen_umult_hi, OTI_vec_widen_umult_lo):
        (OTI_vec_widen_smult_h, OTI_vec_widen_smult_lo, OTI_vec_unpacks_hi,
        OTI_vec_unpacks_lo, OTI_vec_unpacku_hi, OTI_vec_unpacku_lo): New
        optab indices.
        (vec_widen_umult_hi_optab, vec_widen_umult_lo_optab):
        (vec_widen_smult_hi_optab, vec_widen_smult_lo_optab):
        (vec_unpacks_hi_optab, vec_unpacku_hi_optab, vec_unpacks_lo_optab):
        (vec_unpacku_lo_optab): New optabs.
        * doc/md.texi (vec_unpacks_hi, vec_unpacks_lo, vec_unpacku_hi):
        (vec_unpacku_lo, vec_widen_umult_hi, vec_widen_umult_lo):
        (vec_widen_smult_hi, vec_widen_smult_lo): New.
        * doc/c-tree.texi (VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR):
        (VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR, VEC_UNPACK_HI_EXPR):
        (VEC_UNPACK_LO_EXPR, VEC_PACK_MOD_EXPR, VEC_PACK_SAT_EXPR): New.

        * config/rs6000/altivec.md (UNSPEC_VMULWHUB, UNSPEC_VMULWLUB):
        (UNSPEC_VMULWHSB, UNSPEC_VMULWLSB, UNSPEC_VMULWHUH, UNSPEC_VMULWLUH):
        (UNSPEC_VMULWHSH, UNSPEC_VMULWLSH): New.
        (UNSPEC_VPERMSI, UNSPEC_VPERMHI): New.
        (vec_vperm_v8hiv4si, vec_vperm_v16qiv8hi): New patterns used to
        implement the unsigned unpacking patterns.
        (vec_unpacks_hi_v16qi, vec_unpacks_hi_v8hi, vec_unpacks_lo_v16qi):
        (vec_unpacks_lo_v8hi): New signed unpacking patterns.
        (vec_unpacku_hi_v16qi, vec_unpacku_hi_v8hi, vec_unpacku_lo_v16qi):
        (vec_unpacku_lo_v8hi): New unsigned unpacking patterns.
        (vec_widen_umult_hi_v16qi, vec_widen_umult_lo_v16qi):
        (vec_widen_smult_hi_v16qi, vec_widen_smult_lo_v16qi):
        (vec_widen_umult_hi_v8hi, vec_widen_umult_lo_v8hi):
        (vec_widen_smult_hi_v8hi, vec_widen_smult_lo_v8hi): New widening
        multiplication patterns.

        * target.h (builtin_mul_widen_even, builtin_mul_widen_odd): New.
        * target-def.h (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN):
        (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New.
        * config/rs6000/rs6000.c (rs6000_builtin_mul_widen_even): New.
        (rs6000_builtin_mul_widen_odd): New.
        (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): Defined.
        (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): Defined.
        * tree-vectorizer.h (enum vect_relevant): New enum type.
        (_stmt_vec_info): Field relevant chaned from bool to enum
        vect_relevant.
        (STMT_VINFO_RELEVANT_P): Updated.
        (STMT_VINFO_RELEVANT): New.
        * tree-vectorizer.c (new_stmt_vec_info): Use STMT_VINFO_RELEVANT
        instead of STMT_VINFO_RELEVANT_P.
        * tree-vect-analyze.c (vect_mark_relevant, vect_stmt_relevant_p):
        Replace calls to STMT_VINFO_RELEVANT_P with STMT_VINFO_RELEVANT,
        and boolean variable with enum vect_relevant.
        (vect_mark_stmts_to_be_vectorized): Likewise + update documentation.
        * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): New.
        (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New.

        2006-11-08  Richard Henderson  <rth@redhat.com>

        * config/i386/sse.md (vec_widen_umult_hi_v8hi,
        vec_widen_umult_lo_v8hi): New.
        (vec_widen_smult_hi_v4si, vec_widen_smult_lo_v4si,
        vec_widen_umult_hi_v4si, vec_widen_umult_lo_v4si): New.

        * config/i386/i386.c (ix86_expand_sse_unpack): New.
        * config/i386/i386-protos.h (ix86_expand_sse_unpack): New.
        * config/i386/sse.md (vec_unpacku_hi_v16qi, vec_unpacks_hi_v16qi,
        vec_unpacku_lo_v16qi, vec_unpacks_lo_v16qi, vec_unpacku_hi_v8hi,
        vec_unpacks_hi_v8hi, vec_unpacku_lo_v8hi, vec_unpacks_lo_v8hi,
        vec_unpacku_hi_v4si, vec_unpacks_hi_v4si, vec_unpacku_lo_v4si,
        vec_unpacks_lo_v4si): New.

        2006-11-08  Dorit Nuzman  <dorit@il.ibm.com>

        * tree-vect-transform.c (vectorizable_type_demotion): New function.
        (vect_transform_stmt): Add case for type_demotion_vec_info_type.
        (vect_analyze_operations): Call vectorizable_type_demotion.
        * tree-vectorizer.h (type_demotion_vec_info_type): New enum
        stmt_vec_info_type value.
        (vectorizable_type_demotion): New function declaration.
        * tree-vect-generic.c (expand_vector_operations_1): Consider correct
        mode.

        * tree.def (VEC_PACK_MOD_EXPR, VEC_PACK_SAT_EXPR): New tree-codes.
        * expr.c (expand_expr_real_1): Add case for VEC_PACK_MOD_EXPR and
        VEC_PACK_SAT_EXPR.
        * tree-iniline.c (estimate_num_insns_1): Likewise.
        * tree-pretty-print.c (dump_generic_node, op_prio): Likewise.
        * optabs.c (optab_for_tree_code): Likewise.

        * optabs.c (expand_binop): In case of vec_pack_*_optabs the mode
        compared against the predicate of the result is not 'mode' (the input
        to the function) but a mode with half the size of 'mode'.
        (init_optab): Initialize new optabs.
        * optabs.h (OTI_vec_pack_mod, OTI_vec_pack_ssat, OTI_vec_pack_usat):
        New optab indices.
        (vec_pack_mod_optab, vec_pack_ssat_optab,  vec_pack_usat_optab): New
        optabs.
        * genopinit.c (vec_pack_mod_optab, vec_pack_ssat_optab):
        (vec_pack_usat_optab): Initialize new optabs.
        * doc/md.texi (vec_pack_mod, vec_pack_ssat, vec_pack_usat): New.
        * config/rs6000/altivec.md (vec_pack_mod_v8hi, vec_pack_mod_v4si): New.

        2006-11-08  Richard Henderson  <rth@redehat.com>

        * config/i386/sse.md (vec_pack_mod_v8hi, vec_pack_mod_v4si):
        (vec_pack_mod_v2di, vec_interleave_highv16qi, vec_interleave_lowv16qi):
        (vec_interleave_highv8hi, vec_interleave_lowv8hi):
        (vec_interleave_highv4si, vec_interleave_lowv4si):
        (vec_interleave_highv2di, vec_interleave_lowv2di): New.

        2006-11-08  Dorit Nuzman  <dorit@il.ibm.com>

        * tree-vect-transform.c (vectorizable_reduction): Support multiple
        datatypes.
        (vect_transform_stmt): Removed redundant code.

        2006-11-08  Dorit Nuzman  <dorit@il.ibm.com>

        * tree-vect-transform.c (vectorizable_operation): Support multiple
        datatypes.

        2006-11-08  Dorit Nuzman  <dorit@il.ibm.com>

        * tree-vect-transform.c (vect_align_data_ref): Removed.
        (vect_create_data_ref_ptr): Added additional argument - ptr_incr.
        Updated function documentation. Return the increment stmt in ptr_incr.
        (bump_vector_ptr): New function.
        (vect_get_vec_def_for_stmt_copy): New function.
        (vect_finish_stmt_generation): Create a stmt_info to newly created
        vector stmts.
        (vect_setup_realignment): Call vect_create_data_ref_ptr with additional
        argument.
        (vectorizable_reduction, vectorizable_assignment): Not supported yet if
        VF is greater than the number of elements that can fit in one vector
        word.
        (vectorizable_operation, vectorizable_condition): Likewise.
        (vectorizable_store, vectorizable_load): Support the case that the VF
        is greater than the number of elements that can fit in one vector word.
        (vect_transform_loop): Don't fail in case of multiple data-types.
        * tree-vect-analyze.c (vect_determine_vectorization_factor): Don't fail
        in case of multiple data-types; the smallest type determines the VF.
        (vect_analyze_data_ref_dependence): Don't record datarefs as same_align
        if they are of different sizes.
        (vect_update_misalignment_for_peel): Compare misalignments in terms of
        number of elements rather than number of bytes.
        (vect_enhance_data_refs_alignment): Fix/Add dump printouts.
        (vect_can_advance_ivs_p): Fix a dump printout

From-SVN: r118577

17 years agolibgcc2.c (__bswapdi2): Rename from bswapDI2.
Eric Christopher [Wed, 8 Nov 2006 02:24:26 +0000 (02:24 +0000)]
libgcc2.c (__bswapdi2): Rename from bswapDI2.

2006-11-07  Eric Christopher  <echristo@apple.com>

        * libgcc2.c (__bswapdi2): Rename from bswapDI2.
        (__bswapsi2): Ditto.
        * libgcc2.h: Remove transformation of bswap routines.
        * config/i386/i386.md (bswapsi2): New.
        (bswapdi2): Ditto.

2006-11-07  Eric Christopher  <echristo@apple.com>

        * gcc.target/i386/builtin-bswap-1.c: Rewrite for 64-bit.
        Test using scan-assembler-not.

From-SVN: r118576

17 years agoDaily bump.
GCC Administrator [Wed, 8 Nov 2006 00:17:57 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r118573

17 years agoconfigure.in: Robustify error message for missing GMP/MPFR.
Kaveh R. Ghazi [Tue, 7 Nov 2006 23:40:54 +0000 (23:40 +0000)]
configure.in: Robustify error message for missing GMP/MPFR.

* configure.in: Robustify error message for missing GMP/MPFR.

* configure: Regenerate.

From-SVN: r118568

17 years agoc-common.c (c_common_attributes): Add gnu_inline attribyte.
Jakub Jelinek [Tue, 7 Nov 2006 23:01:23 +0000 (00:01 +0100)]
c-common.c (c_common_attributes): Add gnu_inline attribyte.

* c-common.c (c_common_attributes): Add gnu_inline attribyte.
(handle_gnu_inline_attribute): New function.
* c-decl.c (diagnose_mismatched_decls): Handle gnu_inline attribute.
(merge_decls, start_decl, start_function): Likewise.
* doc/extend.texi: Document gnu_inline attribute.

* gcc.dg/inline-17.c: New test.

From-SVN: r118567

17 years agore PR other/25028 (TImode-to-floating conversions broken)
Steve Ellcey [Tue, 7 Nov 2006 19:14:27 +0000 (19:14 +0000)]
re PR other/25028 (TImode-to-floating conversions broken)

PR other/25028
* config/ia64/t-hpux (LIB1ASMFUNCS):  Filter out _fixtfdi,
_fixunstfdi, and  _floatditf
* gcc.dg/torture/fp-int-convert-float128-timode.c:  Do not XFAIL
on HP-UX.

From-SVN: r118565

17 years agore PR libstdc++/29722 (Linking with libsupc++.a creates link time undefined references)
Benjamin Kosnik [Tue, 7 Nov 2006 18:36:32 +0000 (18:36 +0000)]
re PR libstdc++/29722 (Linking with libsupc++.a creates link time undefined references)

2006-11-07  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/29722
* include/ext/concurrence.h (concurrence_lock_error): New.
(concurrence_unlock_error): New.
(__throw_concurrence_lock_error): New.
(__throw_concurrence_unlock_error): New.
(__mutex): Use functions.
(__recursive_mutex): Same.
* testsuite/abi/cxx_runtime_only_linkage.cc: New.

* include/ext/pb_ds/exception.hpp: Keep exception classes defined
even when -fno-exceptions is passed, consistent with other usage.

From-SVN: r118564

17 years agoavr-protos.h (mask_one_bit_p, [...]): Remove prototype.
Anatoly Sokolov [Tue, 7 Nov 2006 18:33:57 +0000 (21:33 +0300)]
avr-protos.h (mask_one_bit_p, [...]): Remove prototype.

* config/avr/avr-protos.h (mask_one_bit_p, const_int_pow2_p): Remove
prototype.
* config/avr/avr.c (mask_one_bit_p, const_int_pow2_p): Remove.
(output_movhi, ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out,
lshrhi3_out, lshrsi3_out): Remove unnecessary code for handling value
which start in an odd register.

From-SVN: r118563

17 years agomips.h (ISA_HAS_PREFETCHX): Fix typo.
Richard Sandiford [Tue, 7 Nov 2006 18:05:52 +0000 (18:05 +0000)]
mips.h (ISA_HAS_PREFETCHX): Fix typo.

gcc/
* config/mips/mips.h (ISA_HAS_PREFETCHX): Fix typo.

From-SVN: r118562

17 years agoinvoke.texi (fstrict-aliasing): Move implementation details...
Josh Conner [Tue, 7 Nov 2006 17:40:13 +0000 (17:40 +0000)]
invoke.texi (fstrict-aliasing): Move implementation details...

2006-11-07  Josh Conner  <jconner@apple.com>

* doc/invoke.texi (fstrict-aliasing): Move implementation
details...
* doc/tree-ssa.texi (Alias analysis): ...here.

From-SVN: r118559

17 years agoinclhack.def (glibc_c99_inline_2): Adjust for glibc 2.3 systems.
Richard Guenther [Tue, 7 Nov 2006 17:34:40 +0000 (17:34 +0000)]
inclhack.def (glibc_c99_inline_2): Adjust for glibc 2.3 systems.

2006-11-07  Richard Guenther  <rguenther@suse.de>

        * inclhack.def (glibc_c99_inline_2): Adjust for glibc 2.3
        systems.
        * fixincl.x: Regenerate.

From-SVN: r118558

17 years agore PR middle-end/29610 (ICE when compiling c++ code with -O2 -funswitch-loops)
Richard Guenther [Tue, 7 Nov 2006 17:29:34 +0000 (17:29 +0000)]
re PR middle-end/29610 (ICE when compiling c++ code with -O2 -funswitch-loops)

2006-11-07  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/29610
* tree-cfgcleanup.c (cleanup_control_flow): Honor return value
of tree_purge_dead_eh_edges as it may free dominators.

* g++.dg/other/pr29610.C: New testcase.

From-SVN: r118555