1. 28 Jan, 2008 11 commits
  2. 27 Jan, 2008 9 commits
  3. 26 Jan, 2008 20 commits
    • re PR middle-end/34688 ([4.1/4.2] ICE: output_operand: invalid expression as operand) · c01e4479
      	PR middle-end/34688
      	* final.c (output_addr_const): Handle TRUNCATE.
      
      	* gcc.c-torture/compile/pr34688: New test.
      
      From-SVN: r131878
      Maxim Kuvyrkov committed
    • re PR target/34711 (g++.dg/tree-ssa/ivopts-1.C fails for power and arm) · 6e8c65f6
      	PR target/34711
      	* tree-ssa-loop-ivopts.c (comp_cost): New type.
      	(zero_cost, infinite_cost): New constants.
      	(struct cost_pair): Change type of cost to comp_cost.
      	(struct iv_ca): Change type of cand_use_cost and cost to comp_cost.
      	(new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p):
      	New functions.
      	(set_use_iv_cost, force_expr_to_var_cost, force_var_cost,
      	split_address_cost, ptr_difference_cost, difference_cost,
      	get_computation_cost_at, get_computation_cost,
      	determine_use_iv_cost_generic, determine_use_iv_cost_address,
      	determine_use_iv_cost_condition, determine_use_iv_costs,
      	cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
      	iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend,
      	iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set):
      	Change type of cost to comp_cost.
      	(determine_iv_cost): Increase cost of non-original ivs, instead
      	of decreasing the cost of original ones.
      	(get_address_cost): Indicate the complexity of the addressing mode 
      	in comp_cost.
      	(try_add_cand_for): Prefer using ivs not specific to some object.
      	* tree-flow.h (force_expr_to_var_cost): Declaration removed.
      
      From-SVN: r131877
      Zdenek Dvorak committed
    • re PR fortran/34848 (internal compiler error with optional argument of character… · 2c80cb0e
      re PR fortran/34848 (internal compiler error with optional argument of character type and array return type)
      
      2008-01-26  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/34848
              * trans-expr.c (gfc_conv_function_call): Don't call
              gfc_add_interface_mapping if the expression is NULL.
      
      2008-01-26  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/34848
              * gfortran.dg/missing_optional_dummy_5.f90: New.
      
      From-SVN: r131876
      Tobias Burnus committed
    • 20070302-1.c (baz): Mark with attribute noinline. · 987dbd1b
      	* gcc.dg/tree-ssa/20070302-1.c (baz): Mark with attribute
      	noinline.  XFAIL test.
      
      From-SVN: r131875
      Kaveh R. Ghazi committed
    • re PR fortran/31610 (ICE with transfer, merge in gfc_conv_expr_descriptor) · ce97da22
      2008-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/31610
      	* gfortran.dg/array_3.f90: New test.
      
      From-SVN: r131874
      Jerry DeLisle committed
    • re PR fortran/31610 (ICE with transfer, merge in gfc_conv_expr_descriptor) · bdfc46af
      2008-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/31610
      	* trans-array.c (gfc_trans_create_temp_array): Remove call to
      	gcc_assert (integer_zerop (loop->from[n])).
      
      From-SVN: r131873
      Jerry DeLisle committed
    • gcconfig.h (HBLKSIZE): Define for MIPS. · f0025d1d
      boehm-gc/
      	* include/private/gcconfig.h (HBLKSIZE): Define for MIPS.
      
      From-SVN: r131872
      Richard Sandiford committed
    • re PR target/34814 (SDmode function args not passed according to ABI specification) · e41b2a33
      	PR target/34814
      	* doc/tm.texi (TARGET_EXPAND_TO_RTL_HOOK): Document.
      	(TARGET_INSTANTIATE_DECLS): Likewise.
      	* target.h (expand_to_rtl_hook): New target hook.
      	(instantiate_decls): Likewise.
      	* function.c (instantiate_decl): Make non-static.  Rename to...
      	(instantiate_decl_rtl): ... this.
      	(instantiate_expr): Use instantiate_decl_rtl.
      	(instantiate_decls_1): Likewise.
      	(instantiate_decls): Likewise.
      	(instantiate_virtual_regs: Call new instantiate_decls taget hook.
      	* function.h (instantiate_decl_rtl): Add prototype.
      	* cfgexpand.c (target.h): New include.
      	(tree_expand_cfg): Call new expand_to_rtl_hook target hook.
      	* target-def.h (TARGET_EXPAND_TO_RTL_HOOK): New define.
      	(TARGET_INSTANTIATE_DECLS): Likewise.
      	(TARGET_INITIALIZER): New target hooks added.
      	* config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
      	New prototype.
      	* config/rs6000/rs6000.c (tree-flow.h): New include.
      	(machine_function): Add sdmode_stack_slot field.
      	(rs6000_alloc_sdmode_stack_slot): New function.
      	(rs6000_instantiate_decls): Likewise.
      	(rs6000_secondary_memory_needed_rtx): Likewise.
      	(rs6000_check_sdmode): Likewise.
      	(TARGET_EXPAND_TO_RTL_HOOK): Target macro defined.
      	(TARGET_INSTANTIATE_DECLS): Likewise.
      	(rs6000_hard_regno_mode_ok): Allow SDmode.
      	(num_insns_constant): Likewise.  Handle _Decimal32 constants.
      	(rs6000_emit_move): Handle SDmode.
      	(function_arg_advance): Likewise.
      	(function_arg): Likewise.
      	(rs6000_gimplify_va_arg): Likewise.  Add special handling of
      	SDmode var args for 32-bit compiles.
      	(rs6000_secondary_reload_class): Handle SDmode.
      	(rs6000_output_function_epilogue): Likewise.
      	(rs6000_function_value): Simplify if statement.
      	(rs6000_libcall_value): Likewise.
      	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Handle SDmode.
      	(SECONDARY_MEMORY_NEEDED_RTX): Add define.
      	* config/rs6000/dfp.md (movsd): New define_expand and splitter.
      	(movsd_hardfloat): New define_insn.
      	(movsd_softfloat): Likewise.
      	(movsd_store): Likewise.
      	(movsd_load): Likewise.
      	(extendsddd2): Likewise.
      	(extendsdtd2): Likewise.
      	(truncddsd2): Likewise.
      	(movdd_hardfloat64): Fixup comment.
      	(UNSPEC_MOVSD_LOAD): New constant.
      	(UNSPEC_MOVSD_STORE): Likewise.
      
      Co-Authored-By: Janis Johnson <janis187@us.ibm.com>
      
      From-SVN: r131869
      Peter Bergner committed
    • re PR c++/34965 (Broken diagnostic: 'truth_and_expr' not supported by dump_expr) · 6f536f74
      	PR c++/34965
      	* c-pretty-print.c (pp_c_exclusive_or_expression): Handle
      	TRUTH_XOR_EXPR.
      	(pp_c_logical_and_expression): Handle TRUTH_AND_EXPR.
      	(pp_c_logical_or_expression): Handle TRUTH_OR_EXPR.
      	(pp_c_expression): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR
      	and TRUTH_XOR_EXPR.
      
      	* error.c (dump_expr): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR
      	and TRUTH_XOR_EXPR.
      
      	* gcc.dg/pr34965.c: New test.
      	* g++.dg/other/error24.C: New test.
      
      From-SVN: r131868
      Jakub Jelinek committed
    • pr34966.c (atan): Only use asm on i?86/x86_64. · 680f02e4
      	* gcc.c-torture/compile/pr34966.c (atan): Only use asm
      	on i?86/x86_64.
      
      From-SVN: r131867
      Jakub Jelinek committed
    • re PR target/34794 (build of gcc 4.2.2 fails on AIX 6.1 / libstdc++-v3/libmath/stubs.c:47) · 62a37275
              PR target/34794
              * config/os/aix/os_defines.h: Define __COMPATMATH__.
      
      From-SVN: r131866
      David Edelsohn committed
    • re PR target/34794 (build of gcc 4.2.2 fails on AIX 6.1 / libstdc++-v3/libmath/stubs.c:47) · ba6a1b78
              PR target/34794
              * config.gcc: Separate AIX 5.3 from AIX 6.1.
              * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
              __LONGDOUBLE128 too.
              * config/rs6000/aix61.h: New file.
      
      From-SVN: r131865
      David Edelsohn committed
    • re PR libfortran/34887 (reverse tabbing before slash descriptor (regression vs. g77)) · 6cac3630
      2008-01-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfofortran/34887
      	* io/transfer.c (next_record_w): Always move to the farthest
      	position when completing the record (also when we are
      	processing a slash edit descriptor).
      
      2008-01-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libfofortran/34887
      	* gfortran.dg/x_slash_2.f:  New test.
      
      From-SVN: r131864
      Thomas Koenig committed
    • re PR rtl-optimization/34959 (23_containers/bitset/ext/15361.cc fails for MIPS n64) · 1230d7f8
      gcc/
      	PR rtl-optimization/34959
      	* optabs.c (expand_unop): In libcall notes, give ffs, clz, ctz,
      	popcount and parity rtxes the same mode as their operand.
      	Truncate or extend the result to the return value's mode
      	if necessary.
      
      From-SVN: r131863
      Richard Sandiford committed
    • re PR c++/34235 (short variable cast to unsigned int fails to right shift as unsigned) · 2f35df8c
      2008-01-26  Richard Guenther  <rguenther@suse.de>
      
      	PR c++/34235
      	* typeck.c (build_binary_op): Remove code to shorten compares.
      
      	* g++.dg/torture/pr34235.C: New testcase.
      
      From-SVN: r131862
      Richard Guenther committed
    • ivopts-1.C: XFAIL for MIPS too. · d3528075
      gcc/testsuite/
      	* g++.dg/tree-ssa/ivopts-1.C: XFAIL for MIPS too.
      
      From-SVN: r131861
      Richard Sandiford committed
    • re PR target/34981 (Lazily-bound function called twice) · dbc90b65
      gcc/
      	PR target/34981
      	* config/mips/mips-protos.h (mips_expand_call): Return an rtx.
      	* config/mips/mips.h (FIRST_PSEUDO_REGISTER): Rename FAKE_CALL_REGNO
      	to GOT_VERSION_REGNUM.
      	(CALL_REALLY_USED_REGISTERS): Set the GOT_VERSION_REGNUM entry to 0.
      	(EPILOGUE_USES): Include GOT_VERSION_REGNUM if TARGET_USE_GOT.
      	* config/mips/mips.c (mips_emit_call_insn): New function.
      	(mips_call_tls_get_addr): Call mips_expand_call directly.
      	(mips16_copy_fpr_return_value): Use mips_emit_call_insn rather than
      	emit_call_insn.
      	(mips16_build_call_stub): Likewise.  Return the call insn or null.
      	(mips_expand_call): Update the call to mips16_build_call_stub
      	accordingly and a remove redundant condition.  Assert that MIPS16
      	stubs do not use lazy binding.  Use mips_emit_call_insn and return
      	the call insn.
      	(mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if
      	TARGET_USE_GOT.
      	(mips_hard_regno_mode_ok_p): Allow SImode for GOT_VERSION_REGNUM.
      	(mips_avoid_hazard): Remove hazard_set handling.
      	* config/mips/mips.md (UNSPEC_EH_RECEIVER): Rename to...
      	(UNSPEC_RESTORE_GP): ...this.
      	(UNSPEC_SET_GOT_VERSION, UNSPEC_UPDATE_GOT_VERSION): New constants.
      	(FAKE_CALL_REGNO): Rename to...
      	(GOT_VERSION_REGNUM): ...this.
      	(type): Add "ghost" value.  Add an associated insn reservation.
      	(hazard_set): Remove.
      	(exception_receiver): Rename to...
      	(restore_gp): ...this and update the unspec identifier accordingly.
      	(exception_receiver, nonlocal_got_receiver): New expanders.
      	(load_call<mode>): Use GOT_VERSION_REGNUM.  Don't set
      	FAKE_CALL_REGNO.  Remove hazard_set attribute.
      	(set_got_version, update_got_version): New patterns.
      
      gcc/testsuite/
      	PR target/34981
      	* gcc.target/mips/lazy-binding-1.c: New test.
      	* gcc.target/mips/mips.exp (setup_mips_tests): Set
      	mips_forced_no_abicalls and mips_forced_no_shared.
      	(dg-mips-options): Avoid using -mabicalls with an implicit -mabi=eabi.
      	Avoid using small data with -mabicalls.  Don't make -G0 force
      	-mn-abicalls.  Skip -mabicalls and -mshared tests if the multilib
      	forces the opposite option.
      
      From-SVN: r131860
      Richard Sandiford committed
    • re PR target/34970 (name mangling broken for __attributte__((fastcall))) · 763a27ee
      PR target/34970
      
      gcc
      	* config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
      testsuite
      	* gcc.target/i386/fastcall-1.c: Scan for correct label.
      	Use -std=gnu89 switch.
      
      From-SVN: r131859
      Danny Smith committed
    • decl.c (components_to_record): Improve comment. · 8fa07a56
      	* decl.c (components_to_record): Improve comment.
      
      From-SVN: r131858
      Eric Botcazou committed
    • re PR c++/27177 (ICE in build_simple_base_path, at cp/class.c:474) · d79ca207
              PR c++/27177
              * class.c (build_base_path): Don't mess with virtual access if
              skip_evaluation.
              * call.c (standard_conversion): Don't check whether source type
              is complete.
      
      From-SVN: r131855
      Jason Merrill committed