1. 31 May, 2008 7 commits
    • re PR libstdc++/36338 (heap_sort effectively hangs with -D_GLIBCXX_DEBUG) · f8af8c09
      2008-05-31  Paolo Carlini  <paolo.carlini@oracle.com>
      	    Chris Jefferson  <chris@bubblescope.net>
      
      	PR libstdc++/36338
      	* include/bits/stl_heap.h (sort_heap): Use __pop_heap directly.
      	(pop_heap): Slightly tweak.
      
      Co-Authored-By: Chris Jefferson <chris@bubblescope.net>
      
      From-SVN: r136242
      Paolo Carlini committed
    • arith.c (gfc_arith_init_1): Remove now unused r and c variables. · 7306494a
      2008-05-31  Steven G. Kargl  <kargls@comcast.net>
      
      	* arith.c (gfc_arith_init_1): Remove now unused r and c variables.
      	Cleanup numerical inquiry function initialization.
      	(gfc_arith_done_1): Replace multiple mpfr_clear() invocations with
      	a single mpfr_clears().
      	(gfc_check_real_range): Re-arrange logic to eliminate multiple
      	unnecessary branching and assignments.
      	(gfc_arith_times): Use mpfr_clears() in preference to multiple
      	mpfr_clear().
      	(gfc_arith_divide): Ditto.
      	(complex_reciprocal): Eliminate now unused variables a, re, im.
      	Cleanup the mpfr abuse.  Use mpfr_clears() in preference to
      	multiple mpfr_clear().
      	(complex_pow): Fix comment whitespace.  Use mpfr_clears() in
      	preference to multiple mpfr_clear().
      	* simplify.c (gfc_simplify_and): Remove blank line.
      	(gfc_simplify_atan2): Move error checking earlier to eliminate
      	a now unnecessay gfc_free_expr().
      	(gfc_simplify_bessel_j0): Remove unnecessary gfc_set_model_kind().
      	(gfc_simplify_bessel_j1): Ditto.
      	(gfc_simplify_bessel_jn): Ditto.
       	(gfc_simplify_bessel_y0): Ditto.
      	(gfc_simplify_bessel_y1): Ditto.
      	(gfc_simplify_bessel_yn): Ditto. 
      	(only_convert_cmplx_boz): Eliminate unnecessary duplicate code, and
      	combine nested if statement rational expressions.
      	(gfc_simplify_cos): Use mpfr_clears() in preference to multiple
      	mpfr_clear().
      	(gfc_simplify_exp): Ditto.
      	(gfc_simplify_fraction): Move gfc_set_model_kind() to after the
      	special case of 0.  Use mpfr_clears() in preference to multiple
      	mpfr_clear().
      	(gfc_simplify_gamma): Eliminate unnecessary gfc_set_model_kind().
       	(gfc_simplify_lgamma): Ditto.
      	(gfc_simplify_log10): Ditto.
      	(gfc_simplify_log): Move gfc_set_model_kind () inside switch
      	statement. Use mpfr_clears() in preference to multiple mpfr_clear().
      	(gfc_simplify_mod):  Eliminate now unused variables quot, iquot,
      	and term.  Simplify the mpfr magic.
      	(gfc_simplify_modulo): Ditto.
      	(gfc_simplify_nearest): Eliminate unnecessary gfc_set_model_kind().
      	(gfc_simplify_scale): Use mpfr_clears() in preference to multiple
      	mpfr_clear().
      	(gfc_simplify_sin): Ditto
      	(gfc_simplify_sqrt): Ditto
      	(gfc_simplify_set_exponent):  Move gfc_set_model_kind() to after the
      	special case of 0.  Use mpfr_clears() in preference to multiple
      	mpfr_clear().
      
      From-SVN: r136239
      Steven G. Kargl committed
    • avr.md (UNSPECV_WRITE_SP_IRQ_ON): New constants. · 794cb45e
      	* config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): New constants.
      	(UNSPECV_WRITE_SP_IRQ_OFF): (Ditto.).
      	(movhi_sp_r_irq_off, movhi_sp_r_irq_on): New insn.
      	* config/avr/avr.c (expand_prologue, expand_epilogue): Use 
      	movhi_sp_r_irq_off and movhi_sp_r_irq_on insns for writing to the 
      	stack pointer register.
      	(output_movhi): Remove code for interrupt specific writing to the 
      	stack pointer register.
      
      From-SVN: r136238
      Anatoly Sokolov committed
    • re PR tree-optimization/34244 (VRP/SCEV miscompiles Firefox) · 39f8a3b0
      2008-05-31  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/34244
      	* fold-const.c (tree_expr_nonnegative_warnv_p): Do not ask VRP.
      	(tree_expr_nonzero_warnv_p): Likewise.
      	* tree-vrp.c (vrp_expr_computes_nonnegative): Call
      	ssa_name_nonnegative_p.
      	(vrp_expr_computes_nonzero): Call ssa_name_nonzero_p.
      	(extract_range_from_unary_expr): Use vrp_expr_computes_nonzero,
      	not tree_expr_nonzero_warnv_p.
      
      	PR tree-optimization/36262
      	Revert
      	2007-11-29  Zdenek Dvorak  <ook@ucw.cz>
      
              PR tree-optimization/34244
              * tree-vrp.c (adjust_range_with_scev): Clear scev cache.
              (record_numbers_of_iterations): New function.
              (execute_vrp): Cache the numbers of iterations of loops.
              * tree-scalar-evolution.c (scev_reset_except_niters):
              New function.
              (scev_reset): Use scev_reset_except_niters.
              * tree-scalar-evolution.h (scev_reset_except_niters): Declare.
      
      From-SVN: r136237
      Richard Guenther committed
    • bfin.h (TARGET_CPU_CPP_BUILTINS): Define __WORKAROUND_RETS when appropriate. · 2643f14e
      gcc/
      	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
      	__WORKAROUND_RETS when appropriate.
      
      gcc/testsuite/
      	* gcc.target/bfin/mcpu-default.c: Adjust for recent changes: default
      	CPU has all workarounds, and no longer explicitly sets bf532 as CPU
      	type.
      
      	* gcc.target/bfin/mcpu-bf531.c: Adjust for WORKAROUND_RETS.
      	* gcc.target/bfin/mcpu-bf532.c: Likewise.
      	* gcc.target/bfin/mcpu-bf533.c: Likewise.
      	* gcc.target/bfin/mcpu-bf534.c: Likewise.
      	* gcc.target/bfin/mcpu-bf536.c: Likewise.
      	* gcc.target/bfin/mcpu-bf537.c: Likewise.
      	* gcc.target/bfin/mcpu-bf548.c: Likewise.
      	* gcc.target/bfin/mcpu-bf549.c: Likewise.
      	* gcc.target/bfin/mcpu-bf561.c: Likewise.
      	* gcc.target/bfin/mcpu-bf523.c: Likewise.
      	* gcc.target/bfin/mcpu-bf524.c: Likewise.
      	* gcc.target/bfin/mcpu-bf526.c: Likewise.
      	* gcc.target/bfin/mcpu-bf522.c: Likewise.
      	* gcc.target/bfin/mcpu-bf525.c: Likewise.
      	* gcc.target/bfin/mcpu-bf527.c: Likewise.
      	* gcc.target/bfin/mcpu-bf538.c: Likewise.
      	* gcc.target/bfin/mcpu-bf539.c: Likewise.
      	* gcc.target/bfin/mcpu-bf542.c: Likewise.
      	* gcc.target/bfin/mcpu-bf544.c: Likewise.
      	* gcc.target/bfin/mcpu-default.c: Likewise.
      	* gcc.target/bfin/workarounds-any.c: Likewise.
      	* gcc.target/bfin/workarounds-none.c: Likewise.
      	* gcc.target/bfin/workarounds-1.c: Likewise.
      	* gcc.target/bfin/workarounds-2.c: Likewise.
      	* gcc.target/bfin/workarounds-3.c: Likewise.
      	* gcc.target/bfin/workarounds-4.c: Likewise.
      
      From-SVN: r136236
      Bernd Schmidt committed
    • i386.md (*fop_<mode>_comm_mixed): Macroize from *fop_sf_comm_mixed and… · ca3a2165
      i386.md (*fop_<mode>_comm_mixed): Macroize from *fop_sf_comm_mixed and *fop_df_comm_mixed insn patterns using...
      
      	* config/i386/i386.md (*fop_<mode>_comm_mixed): Macroize from
      	*fop_sf_comm_mixed and *fop_df_comm_mixed insn patterns using MODEF
      	mode iterator.
      	(*fop_<mode>_comm_sse): Macroize from *fop_sf_comm_sse and
      	*fop_df_comm_sse insn patterns using MODEF mode iterator.
      	(*fop_<mode>_comm_i387): Macroize from *fop_sf_comm_i387 and
      	*fop_df_comm_i387 insn patterns using MODEF mode iterator.
      	(*fop_<mode>_1_mixed): Macroize from *fop_sf_1_mixed and
      	*fop_df_1_mixed insn patterns using MODEF mode iterator.
      	(*fop_<mode>_1_sse): Macroize from *fop_sf_1_sse and
      	*fop_df_1_sse insn patterns using MODEF mode iterator.
      	(*fop_<mode>_1_i387): Macroize from *fop_sf_1_i387 and
      	*fop_df_1_i387 insn patterns using MODEF mode iterator.
      	(*fop_<MODEF:mode>_2_i387): Macroize from *fop_sf_2<mode>_i387 and
      	*fop_df_2<mode>_i387 insn patterns using MODEF mode iterator.
      	(*fop_<MODEF:mode>_3_i387): Macroize from *fop_sf_3<mode>_i387 and
      	*fop_df_3<mode>_i387 insn patterns using MODEF mode iterator.
      	(*fop_xf_2_i387): Rename from *fop_xf_2<mode>_i387.
      	(*fop_xf_3_i387): Rename from *fop_xf_3<mode>_i387.
      	(*fop_xf_4_i387): Use <MODE> for mode attribute.
      	(*fop_xf_5_i387): Ditto.
      	(*fop_xf_6_i387): Ditto.
      
      From-SVN: r136235
      Uros Bizjak committed
    • Daily bump. · 7841ba59
      From-SVN: r136229
      GCC Administrator committed
  2. 30 May, 2008 9 commits
  3. 29 May, 2008 20 commits
  4. 28 May, 2008 4 commits
    • value-prof.c (tree_ic_transform): Use HOST_WIDEST_INT_PRINT_DEC for printing gcov_type. · 68bb68ca
      2008-05-28  Seongbae Park  <seongbae.park@gmail.com>
      	
      	* value-prof.c (tree_ic_transform): Use HOST_WIDEST_INT_PRINT_DEC
      	for printing gcov_type.
      
      From-SVN: r136131
      Seongbae Park committed
    • re PR fortran/36325 (specific or generic INTERFACE implies the EXTERNAL attribute) · e6895430
      2008-05-28  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/36325
      	PR fortran/35830
      	* interface.c (gfc_procedure_use): Enable argument checking for
      	external procedures with explicit interface.
      	* symbol.c (check_conflict): Fix conflict checking for externals.
      	(copy_formal_args): Fix handling of arrays.
      	* resolve.c (resolve_specific_f0, resolve_specific_s0): Fix handling
      	of intrinsics.
      	* parse.c (parse_interface): Non-abstract INTERFACE statement implies
      	EXTERNAL attribute.
      
      
      2008-05-28  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/36325
      	PR fortran/35830
      	* gfortran.dg/interface_23.f90: New.
      	* gfortran.dg/gomp/reduction3.f90: Fixed invalid code.
      	* gfortran.dg/proc_decl_12.f90: New:
      	* gfortran.dg/external_procedures_1.f90: Fixed error message.
      
      From-SVN: r136130
      Janus Weil committed
    • re PR fortran/36319 (Segfault with wide characters in DATA) · 691da334
      	PR fortran/36319
      
      	* intrinsic.c (gfc_convert_chartype): Don't mark conversion
      	function as pure.
      	* trans-array.c (gfc_trans_array_ctor_element): Divide element
      	size by the size of one character to obtain length.
      	* iresolve.c (gfc_resolve_cshift): Call the _char4 variant when
      	appropriate.
      	(gfc_resolve_eoshift): Likewise.
      	* trans-intrinsic.c (gfc_conv_intrinsic_ctime): Minor beautification.
      	(gfc_conv_intrinsic_fdate): Minor beautification.
      	(gfc_conv_intrinsic_ttynam): Minor beautification.
      	(gfc_conv_intrinsic_minmax_char): Allow all character kinds.
      	(size_of_string_in_bytes): New function.
      	(gfc_conv_intrinsic_size): Call size_of_string_in_bytes for
      	character expressions.
      	(gfc_conv_intrinsic_sizeof): Likewise.
      	(gfc_conv_intrinsic_array_transfer): Likewise.
      	(gfc_conv_intrinsic_trim): Allow all character kinds. Minor
      	beautification.
      	(gfc_conv_intrinsic_repeat): Fix comment typo.
      	* simplify.c (gfc_convert_char_constant): Take care of conversion
      	of array constructors.
      
      	* intrinsics/string_intrinsics_inc.c (string_index): Return
      	correct value for zero-length substring.
      	* intrinsics/cshift0.c: Add _char4 variant.
      	* intrinsics/eoshift0.c (eoshift0): Allow filler to be a pattern
      	wider than a single byte. Add _char4 variant and use above
      	functionality.
      	* intrinsics/eoshift2.c (eoshift2): Likewise.
      	* m4/eoshift1.m4: Likewise.
      	* m4/eoshift3.m4: Likewise.
      	* m4/cshift1.m4: Add _char4 variants.
      	* gfortran.map (GFORTRAN_1.1): Add _gfortran_cshift0_1_char4,
      	_gfortran_cshift0_2_char4, _gfortran_cshift0_4_char4,
      	_gfortran_cshift0_8_char4, _gfortran_cshift1_16_char4,
      	_gfortran_cshift1_4_char4, _gfortran_cshift1_8_char4,
      	_gfortran_eoshift0_1_char4, _gfortran_eoshift0_2_char4,
      	_gfortran_eoshift0_4_char4, _gfortran_eoshift0_8_char4,
      	_gfortran_eoshift1_16_char4, _gfortran_eoshift1_4_char4,
      	_gfortran_eoshift1_8_char4, _gfortran_eoshift2_1_char4,
      	_gfortran_eoshift2_2_char4, _gfortran_eoshift2_4_char4,
      	_gfortran_eoshift2_8_char4, _gfortran_eoshift3_16_char4,
      	_gfortran_eoshift3_4_char4 and _gfortran_eoshift3_8_char4.
      	* generated/eoshift3_4.c: Regenerate.
      	* generated/eoshift1_8.c: Regenerate.
      	* generated/eoshift1_16.c: Regenerate.
      	* generated/cshift1_4.c: Regenerate.
      	* generated/eoshift1_4.c: Regenerate.
      	* generated/eoshift3_8.c: Regenerate.
      	* generated/eoshift3_16.c: Regenerate.
      	* generated/cshift1_8.c: Regenerate.
      	* generated/cshift1_16.c: Regenerate.
      
      	* gfortran.dg/widechar_5.f90: New file.
      	* gfortran.dg/widechar_6.f90: New file.
      	* gfortran.dg/widechar_7.f90: New file.
      	* gfortran.dg/widechar_intrinsics_5.f90: Uncomment the lines
      	testing the SPREAD intrinsic.
      	* gfortran.dg/widechar_intrinsics_6.f90: New file.
      	* gfortran.dg/widechar_intrinsics_7.f90: New file.
      	* gfortran.dg/widechar_intrinsics_8.f90: New file.
      	* gfortran.dg/widechar_intrinsics_9.f90: New file.
      	* gfortran.dg/widechar_intrinsics_10.f90: New file.
      
      From-SVN: r136129
      Francois-Xavier Coudert committed
    • tree-ssa-propagate.c (set_rhs): Preserve the histogram and the eh region information. · b608a1bc
      2008-05-28  Seongbae Park  <seongbae.park@gmail.com>
      
      	* tree-ssa-propagate.c (set_rhs): Preserve the histogram
      	and the eh region information.
      	* value-prof.c (gimple_move_stmt_histograms): New function.
      	* value-prof.h (gimple_move_stmt_histograms): New function declaration.
      
      From-SVN: r136124
      Seongbae Park committed