1. 12 Aug, 2008 19 commits
    • 2008-08-12 Johannes Singler <singler@ira.uka.de> · d0259b01
              * include/paralle/losertree.h
              (LoserTreePointerBase<>::~LoserTreePointerBase):
              Replace delete by appropriate delete[].
      
      From-SVN: r139026
      Johannes Singler committed
    • Fix final.c. · 3a694d86
      From-SVN: r139025
      Anatoly Sokolov committed
    • re PR bootstrap/37097 (Revision 139014 failed to bootstrap) · 905cd1b9
      	PR bootstrap/37097
      	* builtins.c (do_mpfr_bessel_n): Fix copy-and-paste bug introduced
      	by last change.
      -This line, and those below, will be ignored--
      
      M    gcc/builtins.c
      M    gcc/ChangeLog
      
      From-SVN: r139019
      Ulrich Weigand committed
    • defaults.h (TARGET_FLOAT_FORMAT): Remove. · b8972354
      ChangeLog:
      
      	* defaults.h (TARGET_FLOAT_FORMAT): Remove.
      	(UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT): Remove.
      
      	* config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Remove.
      	* config/iq2000/iq2000.h (TARGET_FLOAT_FORMAT): Remove.
      	* config/pdp11/pdp11.h (TARGET_FLOAT_FORMAT): Remove.
      	* config/score/score.h (TARGET_FLOAT_FORMAT): Remove.
      	* config/vax/vax.h (TARGET_FLOAT_FORMAT): Remove.
      
      	* doc/tm.texi (Storage Layout): Remove documentation for
      	TARGET_FLOAT_FORMAT.
      
      	* simplify-rtx.c (simplify_binary_operation_1): Replace
      	TARGET_FLOAT_FORMAT check by appropriate HONOR_... checks.
      
      java/ChangeLog:
      
      	* typeck.c (convert): Do not check for TARGET_FLOAT_FORMAT.
      
      From-SVN: r139017
      Ulrich Weigand committed
    • real.h (struct real_format): New member has_sign_dependent_rounding. · 4099e2c2
      	* real.h (struct real_format): New member has_sign_dependent_rounding.
      	* real.c (ieee_single_format, mips_single_format, motorola_single_format,
      	spu_single_format, ieee_double_format, mips_double_format,
      	motorola_double_format, ieee_extended_motorola_format,
      	ieee_extended_intel_96_format, ieee_extended_intel_128_format,
      	ieee_extended_intel_96_round_53_format, ibm_extended_format,
      	mips_extended_format, ieee_quad_format, mips_quad_format,
      	vax_f_format, vax_d_format, vax_g_format): Initialize it.
      	* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
      
      	* defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES,
      	MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): Remove.
      	* config/spu/spu.h (MODE_HAS_NANS, MODE_HAS_INFINITIES,
      	MODE_HAS_SIGN_DEPENDENT_ROUNDING): Remove.
      	(ROUND_TOWARDS_ZERO): Likewise.
      
      	* real.h (REAL_MODE_FORMAT): Protect MODE against macro expansion.
      	(FLOAT_MODE_FORMAT): New macro.
      	(REAL_MODE_FORMAT_COMPOSITE_P): Remove, replace by ...
      	(MODE_COMPOSITE_P): ... this new macro.
      	(MODE_HAS_NANS, MODE_HAS_INFINITIES, MODE_HAS_SIGNED_ZEROS,
      	MODE_HAS_SIGN_DEPENDENT_ROUNDING): New macros.
      	* machmode.h (GET_MODE_INNER): Cast result to enum machine_mode.
      
      	* flags.h: Include "real.h".
      
      	* fold-const.c (const_binop): Use MODE_COMPOSITE_P instead of
      	REAL_MODE_FORMAT_COMPOSITE_P.
      	* simplify-rtx.c (simplify_const_binary_operation): Likewise.
      
      	* doc/tm.texi (Storage Layout): Remove documentation of
      	MODE_HAS_NANS, MODE_HAS_INFINITIES, MODE_HAS_SIGNED_ZEROS,
      	MODE_HAS_SIGN_DEPENDENT_ROUNDING.  Update documentation of
      	ROUND_TOWARDS_ZERO and LARGEST_EXPONENT_IS_NORMAL to clarify
      	they only apply to libgcc2.a.
      
      From-SVN: r139016
      Ulrich Weigand committed
    • float_disf.c: New file. · e0bddf10
      	* config/spu/float_disf.c: New file.
      	* config/spu/float_unsdisf.c: New file.
      	* config/spu/t-elf (LIB2FUNCS_STATIC_EXTRA): Add them.
      	(LIB2FUNCS_EXCLUDE): Define.
      
      From-SVN: r139015
      Ulrich Weigand committed
    • real.h (struct real_format): New member round_towards_zero. · 3e479de3
      ChangeLog:
      
      	* real.h (struct real_format): New member round_towards_zero.
      	* real.c (round_for_format): Respect fmt->round_towards_zero.
      	(ieee_single_format, mips_single_format, motorola_single_format,
      	spu_single_format, ieee_double_format, mips_double_format,
      	motorola_double_format, ieee_extended_motorola_format,
      	ieee_extended_intel_96_format, ieee_extended_intel_128_format,
      	ieee_extended_intel_96_round_53_format, ibm_extended_format,
      	mips_extended_format, ieee_quad_format, mips_quad_format,
      	vax_f_format, vax_d_format, vax_g_format): Initialize it.
      	* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
      
      	* builtins.s (do_mpfr_arg1): Consider round_towards_zero member of
      	real_format to choose rounding mode when calling MPFR functions.
      	(do_mpfr_arg2, do_mpfr_arg3, do_mpfr_sincos): Likewise.
      	(do_mpfr_bessel_n, do_mpfr_remquo, do_mpfr_lgamma_r): Likewise.
      
      	* real.h (real_to_decimal_for_mode): Add prototype.
      	* real.c (real_to_decimal_for_mode): Renames old real_to_decimal.
      	Respect target rounding mode when generating decimal representation.
      	(real_to_decimal): New stub for backwards compatibility.
      	* c-cppbuiltin.c (builtin_define_with_hex_fp_value): Use
      	real_to_decimal_for_mode instead of real_to_decimal.
      
      	* config/spu/spu.md ("floatdisf2", "floatunsdisf2"): New.
      
      
      testsuite/ChangeLog:
      
      	* gcc.c-torture/execute/20031003-1.c (main): Update test to
      	accommodate SPU single-precision rounding mode.
      	* gcc.c-torture/execute/conversion.c (test_float_to_integer,
      	test_float_to_longlong_integer): Likewise.
      	* gcc.c-torture/execute/ieee/rbug.c (main): Likewise.
      	* gcc.dg/hex-round-1.c: Skip test on SPU.
      	* gcc.dg/hex-round-2.c: Likewise.
      
      Co-Authored-By: Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
      
      From-SVN: r139014
      Ulrich Weigand committed
    • real.c (spu_single_format): New variable. · 88f091f5
      ChangeLog:
      
      	* real.c (spu_single_format): New variable.
      	* real.h (spu_single_format): Declare.
      
      	* config/spu/spu.c (spu_override_options): Install SFmode format.
      	(spu_split_immediate): Use integer mode to operate on pieces of
      	floating-point values in all cases.
      
      	* config/spu/spu.md (UNSPEC_FLOAT_EXTEND, UNSPEC_FLOAT_TRUNCATE): New.
      	("extendsfdf2"): Use UNSPEC_FLOAT_EXTEND instead of FLOAT_EXTEND.
      	("truncdfsf2"): Use UNSPEC_FLOAT_TRUNCATE instead of FLOAT_TRUNCATE.
      
      testsuite/ChangeLog:
      
      	* gcc.c-torture/execute/ieee/inf-2.c (testf): Skip on the SPU.
      
      Co-Authored-By: Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
      
      From-SVN: r139013
      Ulrich Weigand committed
    • * config/spu/spu.c (spu_safe_dma): Respect TARGET_SAFE_DMA. · 4230d0fe
      From-SVN: r139011
      Ulrich Weigand committed
    • * config/spu/spu.h (DWARF_FRAME_RETURN_COLUMN): Define. · 359e19d5
      From-SVN: r139009
      Ulrich Weigand committed
    • configure.ac: Run unconditionally GLIBCXX_CHECK_INT64_T and GLIBCXX_CHECK_C99_TR1... · 0f24e8de
      2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* configure.ac: Run unconditionally GLIBCXX_CHECK_INT64_T and
      	GLIBCXX_CHECK_C99_TR1; remove sigsetjmp and mmap checks (unused).
      	* crossconfig.m4: Adjust; remove HAVE_GETPAGESIZE defines (unused).
      	* configure: Regenerate.
      	* config.h.in: Likewise.
      
      	* acinclude.m4: Minor formatting fixes.
      
      From-SVN: r139008
      Paolo Carlini committed
    • dg-do run the test instead of compile. · 5408498e
      From-SVN: r139005
      Jakub Jelinek committed
    • re PR c++/36688 (Incorrect struct assignments with nested const initializers) · 2d7231a3
      	PR c++/36688
      	* gimplify.c (gimplify_modify_expr_rhs): Test TREE_READONLY
      	on the VAR_DECL instead of TYPE_READONLY on its type.
      
      	* g++.dg/init/const6.C: New test.
      
      From-SVN: r139004
      Jakub Jelinek committed
    • Fix my email address. · be349cac
      From-SVN: r138995
      Volker Reichelt committed
    • tree-vectorizer.c: Depend on langhooks.h. · ad2dd72a
      	* tree-vectorizer.c: Depend on langhooks.h.
      	(supportable_widening_operation): Add two arguments. Support double
      	type conversions.
      	(supportable_narrowing_operation): Likewise.
      	* tree-vectorizer.h (supportable_widening_operation): Add two
      	arguments.
      	(supportable_narrowing_operation): Likewise.
      	* tree-vect-patterns.c (vect_recog_widen_mult_pattern) : Call
      	supportable_widening_operation with correct arguments.
      	* tree-vect-transform.c (vectorizable_conversion): Likewise.
      	(vectorizable_type_demotion): Support double type conversions.
      	(vectorizable_type_promotion): Likewise.
      	* Makefile.in (tree-vectorizer.o): Depend on langhooks.h.
      
      From-SVN: r138988
      Ira Rosen committed
    • Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove duplicate s-win32.o. · 62641193
      	* gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]: Remove
      	duplicate s-win32.o. Add s-winext.o.
      
      From-SVN: r138978
      Danny Smith committed
    • g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM with SOSC.SOCK__STREAM. · 2a04ce75
      	* g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM
      	with SOSC.SOCK__STREAM.
      	* g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with
      	SOSC.MSG_OOB.
      
      From-SVN: r138974
      Danny Smith committed
    • Daily bump. · 47d0c648
      From-SVN: r138970
      GCC Administrator committed
  2. 11 Aug, 2008 8 commits
  3. 10 Aug, 2008 7 commits
  4. 09 Aug, 2008 6 commits
    • * sv.po: Update. · b1266ca1
      From-SVN: r138917
      Joseph Myers committed
    • re PR target/37055 (Revision 138835 breaks -msse2 -mfpmath=sse -Os) · 5e04ef8f
      2008-08-09  Jan Hubicka  <jh@suse.cz>
      
      	PR target/37055
      	* optabs.c (maybe_emit_unop_insn): Remove produced code if
      	expansion failed.
      	(expand_fix): Be prepared for expansion to fail.
      	(expand_sfix_optab): Remove instructions if expansion failed.
      
      From-SVN: r138916
      Jan Hubicka committed
    • avr.c (avr_mcu_types): Move the AT43USB320 device to avr31 architecture. · 708fa3b5
      	* config/avr/avr.c (avr_mcu_types): Move the AT43USB320 device to
      	avr31 architecture.
      	* config/avr/avr.h (CRT_BINUTILS_SPECS): (Ditto.).
      	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
      
      From-SVN: r138915
      Anatoly Sokolov committed
    • re PR fortran/36582 (Namelist I/O error: Bogus "Cannot match namelist object") · 10347b0b
      2008-07-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/36582
      	* io/list_read.c: If variable rank is zero, do not adjust the found
      	namelist object pointer. Fix ChangeLog.
      
      From-SVN: r138914
      Jerry DeLisle committed
    • configure.ac (mips*-*-*linux*, [...]): Use mt-mips-gnu. · 08d0963a
      	* configure.ac (mips*-*-*linux*, mips*-*-gnu*): Use mt-mips-gnu.
      	* configure: Regenerate.
      
      config/
      	* mt-mips16-compat: New file, taken from mt-mips-elfoabi.
      	* mt-mips-elfoabi: Include mt-mips16-compat.
      	* mt-mips-gnu: New file.
      
      gcc/
      	* config.gcc (mips*-*-linux*, mips64*-*-linux*): Add
      	mips/t-libgcc-mips16 to tmake_file.
      	* config/mips/mips-protos.h (mips_call_type): New enum.
      	(mips_pic_base_register, mips_got_load): Declare.
      	(mips_restore_gp): Take an rtx argument.
      	(mips_use_pic_fn_addr_reg_p): Declare.
      	(mips_expand_call): Replace the sibcall_p argument with
      	a mips_call_type argument.  Add a lazy_p parameter.
      	(mips_split_call): Declare.
      	* config/mips/mips.h (MIPS16_PIC_TEMP_REGNUM): New macro.
      	(MIPS16_PIC_TEMP): Likewise.
      	(reg_class): Delete M16_NA_REGS.
      	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
      	(SYMBOL_FLAG_BIND_NOW, SYMBOL_REF_BIND_NOW_P): New macros.
      	(mips_split_hi_p): Declare.
      	* config/mips/mips.c (mips_split_hi_p): New array.
      	(mips_regno_to_class): Change M16_NA_REGS entries to M16_REGS.
      	(mips_got_symbol_type_p): New function.
      	(mips_global_symbol_p): Check SYMBOL_REF_EXTERNAL_P.
      	(mips16_stub_function_p): New function.
      	(mips16_local_function_p): Likewise.
      	(mips_use_pic_fn_addr_reg_p): Likewise.
      	(mips_cannot_force_const_mem): Return false for HIGHs.
      	Extend CONST_INT and symbolic handling to MIPS16, using
      	mips_symbol_insns to check that the base symbol type is a
      	legitimate constant.  Reject GOT-based constants if
      	TARGET_MIPS16_PCREL_LOADS.
      	(mips_const_insns): Check targetm.cannot_force_const_mem when
      	decomposing a symbolic base and a large offset.
      	(mips_emit_call_insn): Add ORIG_ADDR and ADDR parameters.
      	When calling a function that needs $25 from MIPS16 code,
      	move the target address into $25 separately and add a USE
      	to the call insn.
      	(mips16_gp_pseudo_reg): Insert the initializer immediately
      	before the first real insn.
      	(mips_pic_base_register, mips_got_load): New functions.
      	(mips_split_symbol): Generalize the name of the LO_SUM_OUT
      	parameter to LOW_OUT.  Say that it can be any valid SET_SRC
      	when splitting a load-address operation.  Split SYMBOL_GOT_DISP
      	constants and highs of SYMBOL_GOT_PAGE_OFST constants.
      	(mips_call_tls_get_addr): Update the call to mips_expand_call,
      	also passing NULL_RTX rather than const0_rtx as the aux argument.
      	(mips_rewrite_small_data_p): Check mips_lo_relocs and mips_split_p
      	instead of TARGET_EXPLICIT_RELOCS.
      	(mips_ok_for_lazy_binding_p): Check SYMBOL_REF_BIND_NOW_P.
      	(mips_load_call_address): Replace the sibcall_p argument with
      	a mips_call_type argument.  Use mips_got_load.
      	(mips16_local_alias): New structure.
      	(mips16_local_aliases): New variable.
      	(mips16_local_aliases_hash): New function.
      	(mips16_local_aliases_eq): Likewise.
      	(mips16_local_alias): Likewise.
      	(mips16_stub_function): Likewise.
      	(mips16_build_function_stub): Create a local alias for the target
      	function.  Handle TARGET_ABICALLS.  For PIC abicalls, emit a
      	.cpload directive and an R_MIPS_NONE relocation for the target
      	function, then load the alias rather than the function itself.
      	Wrap the non-PIC abicalls version in ".option pic0/.option pic2".
      	(mips16_copy_fpr_return_value): Use mips16_stub_function and
      	mips_expand_call.  Set SYMBOL_REF_BIND_NOW on the symbol.
      	(mips16_build_call_stub): Replace the FN parameter with an
      	FN_PTR parameter.  Force the address into a register if it
      	isn't a call_insn_operand; don't rely on the caller to do this.
      	If a call to a locally-defined and locally-binding MIPS16
      	function must be made indirectly, redirect the call to the
      	function's local alias.  Use mips16_stub_function_p,
      	mips16_stub_function, mips_expand_call and use_reg.
      	Set SYMBOL_FLAG_BIND_NOW on __mips_call_* symbols.
      	Use explicit %hi and %lo accesses where possible.
      	Use MIPS_CALL to generate the correct code form of a
      	jal instruction.  Add clobbers of $18 instead of uses.
      	Update the call to mips_emit_call_insn.
      	(mips_expand_call): Replace the SIBCALL_P argument with a
      	mips_call_type argument and handle the new MIPS_CALL_EPILOGUE value.
      	Take a LAZY_P parameter.  Call mips16_build_call_stub first,
      	allowing it to modify the call address.  Update the calls to
      	mips_load_call_address and mips_emit_call_insn.
      	(mips_split_call): New function.
      	(mips_init_relocs): Clear mips_split_hi_p.  Only use %gp_rel if
      	!TARGET_MIPS16.  Split SYMBOL_GOT_DISP, and the high parts of
      	SYMBOL_GOT_PAGE_OFST, for MIPS16 code.
      	(mips_global_pointer): Check mips16_cfun_returns_in_fpr_p.
      	(mips_extra_live_on_entry): Include MIPS16_PIC_TEMP_REGNUM
      	if TARGET_MIPS16.
      	(mips_cprestore_slot): New function.
      	(mips_restore_gp): Take a TEMP parameter.  Handle TARGET_MIPS16
      	and use mips_cprestore_slot.
      	(mips_output_function_prologue): Handle TARGET_MIPS16 for
      	LOADGP_OLDABI.
      	(mips_emit_loadgp): Move into MIPS16_PIC_TEMP for MIPS16,
      	then use a copygp_mips16 instruction to set up $28.
      	(mips_expand_prologue): Initialize the cprestore slot for MIPS16 too.
      	(mips16_lay_out_constants): Call split_all_insns_noflow.
      	(mips_reorg_process_insns): Explicitly set all_noreorder_p to
      	false if TARGET_MIPS16.
      	(mips_reorg): Don't call vr4130_align_insns if TARGET_MIPS16.
      	(mips_output_mi_thunk): Use mips_got_symbol_type_p.  Use the
      	mips_dangerous_for_la25_p approach for MIPS16 PIC calls too.
      	(mips_set_mips16_mode): Always set MASK_EXPLICIT_RELOCS for
      	MIPS16 code.  Allow MIPS16 o32 PIC.
      	(mips_override_options): Allow MIPS16 o32 PIC.
      	* config/mips/mips.md: Lower CONST_GP_P moves into register moves
      	after reload if TARGET_USE_GOT.
      	(UNSPEC_COPYGP): New constant.
      	(length): Use a default length of 8 for MIPS16 GOT loads.
      	(*got_disp<mode>): Check mips_split_p instead of TARGET_XGOT.
      	(*got_page<mode>): Check mips_split_hi_p.
      	(*got_disp<mode>, *got_page<mode>): Use mips_got_load.
      	(unspec_got<mode>, unspec_call<mode>): New expanders.
      	(load_got<mode>, load_call<mode>): Remove the length attributes.
      	Use a got attribute instead of a type attribute.
      	(copygp_mips16): New insn.
      	(restore_gp): Add a scratch clobber and pass it to mips_restore_gp.
      	(load_call<mode>): Use a "d" constraint instead of an "r" constraint.
      	(sibcall, sibcall_value, call, call_value): Update the calls
      	to mips_expand_call.
      	(call_internal, call_value_internal): Use mips_split_call.
      	(call_value_multiple_internal): Likewise.
      	(call_split): Move after call_internal (the insn it is split from).
      	(call_internal_direct, call_value_internal_direct): Turn into
      	define_insn_and_splits.  Split if TARGET_SPLIT_CALLS.
      	(call_direct_split, call_value_direct_split): New patterns.
      	* config/mips/constraints.md (c): Handle TARGET_MIPS16 first
      	and use M16_REGS instead of M16_NA_REGS.
      	* config/mips/predicates.md (const_call_insn_operand): Replace
      	the TARGET_ABSOLUTE_ABICALLS-based check with a more general
      	mips_use_pic_fn_addr_reg_p check.
      	(move_operand): Reject HIGHs if mips_split_hi_p.
      	* config/mips/mips16.S: Assembly as empty if the ABI is not suitable.
      	(__mips16_floatunsisf): Inline __mips16_floatsisf.
      	(CALL_STUB_NO_RET, CALL_STUB_REG): Copy the target register to $25.
      	* config/mips/libgcc-mips16.ver: New file.
      	* config/mips/t-libgcc-mips16 (SHLIB_MAPFILES): Add
      	$(srcdir)/config/mips/libgcc-mips16.ver.
      
      gcc/testsuite/
      	* lib/target-supports.exp (check_profiling_available): Return false
      	for -p and -pg on MIPS16 targets.
      
      From-SVN: r138912
      Richard Sandiford committed
    • mips.c (mips_unspec_address_offset): Move earlier in file. · 7462a715
      gcc/
      	* config/mips/mips.c (mips_unspec_address_offset): Move earlier in file.
      	(mips_unspec_address, mips_unspec_offset_high): Likewise.
      	(mips_ok_for_lazy_binding_p, mips_load_call_address): Likewise.
      	(mips16_cfun_returns_in_fpr_p): Likewise.
      
      From-SVN: r138911
      Richard Sandiford committed