Commit Graph

93765 Commits

Author SHA1 Message Date
Kaveh R. Ghazi acd262252c Makefile.def: Add MPC support and dependencies.
* Makefile.def: Add MPC support and dependencies.
	* configure.ac: Likewise.  Reorganize GMP/MPFR checks.

	* Makefile.in, configure: Regenerate.
	
gcc:
	* configure.ac: Add MPC support.
	
	* config.in, configure: Regenerate.

From-SVN: r147996
2009-05-30 00:43:36 +00:00
Richard Henderson cd9c1ca866 cfgcleanup.c (try_crossjump_to_edge): Only skip past NOTE_INSN_BASIC_BLOCK.
* cfgcleanup.c (try_crossjump_to_edge): Only skip past
	NOTE_INSN_BASIC_BLOCK.
	* cfglayout.c (duplicate_insn_chain): Copy epilogue insn marks.
	Duplicate NOTE_INSN_EPILOGUE_BEG notes.
	* cfgrtl.c (can_delete_note_p): Allow NOTE_INSN_EPILOGUE_BEG
	to be deleted.
	* dwarf2out.c (struct cfa_loc): Change indirect field to bitfield,
	add in_use field.
	(add_cfi): Disable check redefining cfa away from drap.
	(lookup_cfa_1): Add remember argument; handle remember/restore.
	(lookup_cfa): Pass remember argument.
	(cfa_remember): New.
	(compute_barrier_args_size_1): Remove sibcall check.
	(dwarf2out_frame_debug_def_cfa): New.
	(dwarf2out_frame_debug_adjust_cfa): New.
	(dwarf2out_frame_debug_cfa_offset): New.
	(dwarf2out_frame_debug_cfa_register): New.
	(dwarf2out_frame_debug_cfa_restore): New.
	(dwarf2out_frame_debug): Handle REG_CFA_* notes.
	(dwarf2out_begin_epilogue): New.
	(dwarf2out_frame_debug_restore_state): New.
	(dw_cfi_oprnd1_desc): Handle DW_CFA_remember_state,
	DW_CFA_restore_state.
	(output_cfi_directive): Likewise.
	(convert_cfa_to_fb_loc_list): Likewise.
	(dw_cfi_oprnd1_desc): Handle DW_CFA_restore.
	* dwarf2out.h: Update.
	* emit-rtl.c (try_split): Don't split RTX_FRAME_RELATED_P.
	(copy_insn_1): Early out for null.
	* final.c (final_scan_insn): Call dwarf2out_begin_epilogue
	and dwarf2out_frame_debug_restore_state.
	* function.c (prologue, epilogue, sibcall_epilogue): Remove.
	(prologue_insn_hash, epilogue_insn_hash): New.
	(free_after_compilation): Adjust freeing accordingly.
	(record_insns): Create hash table if needed; push insns into
	hash instead of array.
	(maybe_copy_epilogue_insn): New.
	(contains): Search hash table instead of array.
	(sibcall_epilogue_contains): Remove.
	(thread_prologue_and_epilogue_insns): Split eh_return insns
	and mark them as epilogues.
	(reposition_prologue_and_epilogue_notes): Rewrite epilogue
	scanning in terms of basic blocks.
	* insn-notes.def (CFA_RESTORE_STATE): New.
	* jump.c (returnjump_p_1): Accept EH_RETURN.
	(eh_returnjump_p_1, eh_returnjump_p): New.
	* reg-notes.def (CFA_DEF_CFA, CFA_ADJUST_CFA, CFA_OFFSET,
	CFA_REGISTER, CFA_RESTORE): New.
	* rtl.def (EH_RETURN): New.
	* rtl.h (eh_returnjump_p, maybe_copy_epilogue_insn): Declare.

	* config/bfin/bfin.md (UNSPEC_VOLATILE_EH_RETURN): Remove.
	(eh_return_internal): Use eh_return rtx; split w/ epilogue.

	* config/i386/i386.c (gen_push): Update cfa state.
	(pro_epilogue_adjust_stack): Add set_cfa argument.  When true,
	add a CFA_ADJUST_CFA note.
	(ix86_dwarf_handle_frame_unspec): Remove.
	(ix86_expand_prologue): Update cfa state.
	(ix86_emit_restore_reg_using_pop): New.
	(ix86_emit_restore_regs_using_pop): New.
	(ix86_emit_leave): New.
	(ix86_emit_restore_regs_using_mov): Add CFA_RESTORE notes.
	(ix86_expand_epilogue): Add notes for unwinding the epilogue.
	* config/i386/i386.h (struct machine_cfa_state): New.
	(ix86_cfa_state): New.
	* config/i386/i386.md (UNSPEC_EH_RETURN): Remove.
	(eh_return_internal): Merge from eh_return_<mode>,
	use eh_return rtx, split w/ epilogue.

From-SVN: r147995
2009-05-29 17:33:46 -07:00
GCC Administrator 36bac386ae Daily bump.
From-SVN: r147994
2009-05-30 00:16:53 +00:00
Ian Lance Taylor 72b5577d91 builtins.c (validate_gimple_arglist): Don't use va_arg with enum type.
./:	* builtins.c (validate_gimple_arglist): Don't use va_arg with
	enum type.
	* calls.c (emit_library_call_value_1): Likewise.

	* c-typeck.c (c_build_va_arg): New function.
	* c-tree.h (c_build_va_arg): Declare.
	* c-parser.c (c_parser_postfix_expression): Call c_build_va_arg
	instead of build_va_arg.
cp/:
	* error.c (cp_printer): Don't use va_arg with enum type.
testsuite/:
	* gcc.dg/Wcxx-compat-11.c: New testcase.

From-SVN: r147989
2009-05-29 22:45:54 +00:00
Eric Botcazou b0999b0114 inclhack.def (solaris_int_const): New fix.
* inclhack.def (solaris_int_const): New fix.
	(solaris_int_limits_1): Likewise.
	(solaris_int_limits_2): Likewise.
	* fixincl.x: Regenerate.
	* tests/base/sys/int_const.h: New file.
	* tests/base/sys/int_limits.h: Likewise.

From-SVN: r147988
2009-05-29 22:07:30 +00:00
Francois-Xavier Coudert 0a05c536a6 re PR fortran/40019 (LEADZ and TRAILZ give wrong results)
2009-05-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

        PR fortran/40019
        * trans-types.c (gfc_build_uint_type): Make nonstatic.
        * trans.h (gfor_fndecl_clz128, gfor_fndecl_ctz128): New
        * prototypes.
        * trans-types.h (gfc_build_uint_type): Add prototype.
        * trans-decl.c (gfc_build_intrinsic_function_decls): Build
        gfor_fndecl_clz128 and gfor_fndecl_ctz128.
        * trans-intrinsic.c (gfc_conv_intrinsic_leadz,
        gfc_conv_intrinsic_trailz): Call the right builtins or library
        functions, and cast arguments to unsigned types first.
        * simplify.c (gfc_simplify_leadz): Deal with negative arguments.

2009-05-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

        PR fortran/40019
        * intrinsics/bit_intrinsics.c: New file.
        * gfortran.map (GFORTRAN_1.2): New list.
        * Makefile.am: Add intrinsics/bit_intrinsics.c.
        * Makefile.in: Regenerate.

2009-05-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

        PR fortran/40019
        * gfortran.dg/leadz_trailz_1.f90: New test.
        * gfortran.dg/leadz_trailz_2.f90: New test.

From-SVN: r147987
2009-05-29 23:27:54 +02:00
Janne Blomqvist 2017c37012 Fix PR40190; use localtime_r, gmtime_r, add fallback implementations
From-SVN: r147985
2009-05-29 23:56:20 +03:00
Kai Tietz bb870b58e2 pex-win32.c (pex_win32_fdopenr): Set INHERIT to false.
2009-05-29  Kai Tietz  <kai.tietz@onevision.com>

        * pex-win32.c (pex_win32_fdopenr): Set INHERIT to false.

From-SVN: r147984
2009-05-29 22:20:40 +02:00
Eric Botcazou 7a2faca1c5 tree-ssa-loop-ivopts.c (strip_offset_1): New case.
* tree-ssa-loop-ivopts.c (strip_offset_1) <MULT_EXPR>: New case.
	(force_expr_to_var_cost) <NEGATE_EXPR>: Likewise.
	(ptr_difference_cost): Use affine combinations to compute it.
	(difference_cost): Likewise.
	(get_computation_cost_at): Compute more accurate cost for addresses
	if the ratio is a multiplier allowed in addresses.
	For non-addresses, consider that an additional offset or symbol is
	added only once.

From-SVN: r147983
2009-05-29 19:25:04 +00:00
Jakub Jelinek a0987204c5 i386.c (ix86_decompose_address): Avoid useless 0 displacement.
* config/i386/i386.c (ix86_decompose_address): Avoid useless
	0 displacement.  Add 0 displacement if base is %[er]bp or %r13.

From-SVN: r147982
2009-05-29 19:00:35 +02:00
Jakub Jelinek 725fd454ae i386.md (prefix_data16, prefix_rep): Set to 0 for TYPE_SSE{MULADD,4ARG,IADD1,CVT1} by default.
* config/i386/i386.md (prefix_data16, prefix_rep): Set to 0 for
	TYPE_SSE{MULADD,4ARG,IADD1,CVT1} by default.
	(prefix_rex): For UNIT_MMX don't imply the prefix by default
	if MODE_DI.
	(prefix_extra): Default to 2 for TYPE_SSE{MULADD,4ARG} and
	to 1 for TYPE_SSE{IADD1,CVT1}.
	(prefix_vex_imm8): Removed.
	(length_vex): Only pass 1 as second argument to
	ix86_attr_length_vex_default if prefix_extra is 0.
	(modrm): For TYPE_INCDEC only set to 0 if not TARGET_64BIT.
	(length): For prefix vex computation use length_immediate
	attribute instead of prefix_vex_imm8.
	(cmpqi_ext_3_insn, cmpqi_ext_3_insn_rex64,
	addqi_ext_1, addqi_ext_1_rex64, *testqi_ext_0, andqi_ext_0,
	*andqi_ext_0_cc, *iorqi_ext_0, *xorqi_ext_0, *xorqi_cc_ext_1,
	*xorqi_cc_ext_1_rex64): Override modrm attribute to 1.
	(extendsidi2_rex64, extendhidi2, extendqidi2, extendhisi2,
	*extendhisi2_zext, extendqihi2, extendqisi2, *extendqisi2_zext): Emit
	a space in between the operands.
	(*anddi_1_rex64, *andsi_1): Likewise.  Override prefix_rex to 1
	if one operand is 0xff and the other one si, di, bp or sp.
	(*andhi_1): Override prefix_rex to 1 if one operand is 0xff and the
	other one si, di, bp or sp.
	(*btsq, *btrq, *btcq, *btdi_rex64, *btsi): Add mode attribute.
	(*ffssi_1, *ffsdi_1, ctzsi2, ctzdi2): Add
	type and mode attributes.
	(*bsr, *bsr_rex64, *bsrhi): Add type attribute.
	(*cmpfp_i_mixed, *cmpfp_iu_mixed): For TYPE_SSECOMI, clear
	prefix_rep attribute and set prefix_data16 attribute iff MODE_DF.
	(*cmpfp_i_sse, *cmpfp_iu_sse): Clear prefix_rep attribute and set
	prefix_data16 attribute iff MODE_DF.
	(*movsi_1): For TYPE_SSEMOV MODE_SI set prefix_data16 attribute.
	(fix_trunc<mode>di_sse): Set prefix_rex attribute.
	(*adddi_4_rex64, *addsi_4): Use const128_operand instead of
	constm128_operand in length_immediate computation.
	(*addhi_4): Likewise.  Fix mode attribute to MODE_HI.
	(anddi_1_rex64): Use movzbl/movzwl instead of movzbq/movzwq.
	(*avx_ashlti3, sse2_ashlti3, *avx_lshrti3, sse2_lshrti3): Set
	length_immediate attribute to 1.
	(x86_fnstsw_1, x86_fnstcw_1, x86_fldcw_1): Fix length attribute.
	(*movdi_1_rex64): Override prefix_rex or prefix_data16 attributes
	for certain alternatives.
	(*movdf_nointeger, *movdf_integer_rex64, *movdf_integer): Override
	prefix_data16 attribute if MODE_V1DF.
	(*avx_setcc<mode>, *sse_setcc<mode>, *sse5_setcc<mode>): Set
	length_immediate to 1.
	(set_got_rex64, set_rip_rex64): Remove length attribute, set
	length_address to 4, set mode attribute to MODE_DI.
	(set_got_offset_rex64): Likewise.  Set length_immediate to 0.
	(fxam<mode>2_i387): Set length attribute to 4.
	(*prefetch_sse, *prefetch_sse_rex, *prefetch_3dnow,
	*prefetch_3dnow_rex): Override length_address attribute.
	(sse4_2_crc32<mode>): Override prefix_data16 and prefix_rex
	attributes.
	* config/i386/predicates.md (ext_QIreg_nomode_operand): New predicate.
	(constm128_operand): Removed.
	* config/i386/i386.c (memory_address_length): For
	disp && !index && !base in 64-bit mode account for SIB byte if
	print_operand_address can't optimize disp32 into disp32(%rip)
	and UNSPEC doesn't imply (%rip) addressing.  Add 1 to length
	for fs: or gs: segment.
	(ix86_attr_length_immediate_default): When checking if shortform
	is possible, truncate immediate to the length of the non-shortened
	immediate.
	(ix86_attr_length_address_default): Ignore MEM_P operands
	with X constraint.
	(ix86_attr_length_vex_default): Only check for DImode on
	GENERAL_REG_P operands.
	* config/i386/sse.md (<sse>_comi, <sse>_ucomi): Clear
	prefix_rep attribute, set prefix_data16 attribute iff MODE_DF.
	(sse_cvttps2pi): Clear prefix_rep attribute.
	(sse2_cvttps2dq, *sse2_cvtpd2dq, sse2_cvtps2pd): Clear prefix_data16
	attribute.
	(*sse2_cvttpd2dq): Don't clear prefix_rep attribute.
	(*avx_ashr<mode>3, ashr<mode>3, *avx_lshr<mode>3, lshr<mode>3,
	*avx_ashl<mode>3, ashl<mode>3): Set length_immediate attribute to 1
	iff operand 2 is const_int_operand.
	(*vec_dupv4si, avx_shufpd256_1, *avx_shufpd_<mode>,
	sse2_shufpd_<mode>): Set length_immediate attribute to 1.
	(sse2_pshufd_1): Likewise.  Set prefix attribute to maybe_vex
	instead of vex.
	(sse2_pshuflw_1, sse2_pshufhw_1): Set length_immediate to 1 and clear
	prefix_data16.
	(sse2_unpckhpd, sse2_unpcklpd, sse2_storehpd, *vec_concatv2df): Set
	prefix_data16 attribute for movlpd and movhpd instructions.
	(sse2_loadhpd, sse2_loadlpd, sse2_movsd): Likewise.  Override
	length_immediate for shufpd instruction.
	(sse2_movntsi, sse3_lddqu): Clear prefix_data16 attribute.
	(avx_cmpp<avxmodesuffixf2c><mode>3,
	avx_cmps<ssemodesuffixf2c><mode>3, *avx_maskcmp<mode>3,
	<sse>_maskcmp<mode>3, <sse>_vmmaskcmp<mode>3,
	avx_shufps256_1, *avx_shufps_<mode>, sse_shufps_<mode>,
	*vec_dupv4sf_avx, *vec_dupv4sf): Set
	length_immediate attribute to 1.
	(*avx_cvtsi2ssq, *avx_cvtsi2sdq): Set length_vex attribute to 4.
	(sse_cvtsi2ssq, sse2_cvtsi2sdq): Set prefix_rex attribute to 1.
	(sse2_cvtpi2pd, sse_loadlps, sse2_storelpd): Override
	prefix_data16 attribute for the first alternative to 1.
	(*avx_loadlps): Override length_immediate for the first alternative.
	(*vec_concatv2sf_avx): Override length_immediate and prefix_extra
	attributes for second alternative.
	(*vec_concatv2sf_sse4_1): Override length_immediate and
	prefix_data16 attributes for second alternative.
	(*vec_setv4sf_avx, *avx_insertps, vec_extract_lo_<mode>,
	vec_extract_hi_<mode>, vec_extract_lo_v16hi,
	vec_extract_hi_v16hi, vec_extract_lo_v32qi,
	vec_extract_hi_v32qi): Set prefix_extra and length_immediate to 1.
	(*vec_setv4sf_sse4_1, sse4_1_insertps, *sse4_1_extractps): Set
	prefix_data16 and length_immediate to 1.
	(*avx_mulv2siv2di3, *avx_mulv4si3, sse4_2_gtv2di3): Set prefix_extra
	to 1.
	(*avx_<code><mode>3, *avx_eq<mode>3, *avx_gt<mode>3): Set
	prefix_extra attribute for variants that don't have 0f prefix
	alone.
	(*avx_pinsr<ssevecsize>): Likewise.  Set length_immediate to 1.
	(*sse4_1_pinsrb, *sse2_pinsrw, *sse4_1_pinsrd, *sse4_1_pextrb,
	*sse4_1_pextrb_memory, *sse2_pextrw, *sse4_1_pextrw_memory,
	*sse4_1_pextrd): Set length_immediate to 1.
	(*sse4_1_pinsrd): Likewise.  Set prefix_extra to 1.
	(*sse4_1_pinsrq, *sse4_1_pextrq): Set prefix_rex and length_immediate
	to 1.
	(*vec_extractv2di_1_rex64_avx, *vec_extractv2di_1_rex64,
	*vec_extractv2di_1_avx, *vec_extractv2di_1_sse2): Override
	length_immediate to 1 for second alternative.
	(*vec_concatv2si_avx, *vec_concatv2di_rex64_avx): Override
	prefix_extra and length_immediate attributes for the first
	alternative.
	(vec_concatv2si_sse4_1): Override length_immediate to 1 for the
	first alternative.
	(*vec_concatv2di_rex64_sse4_1): Likewise.  Override prefix_rex
	to 1 for the first and third alternative.
	(*vec_concatv2di_rex64_sse): Override prefix_rex to 1 for the second
	alternative.
	(*sse2_maskmovdqu, *sse2_maskmovdqu_rex64): Override length_vex
	attribute.
	(*sse_sfence, sse2_mfence, sse2_lfence): Override length_address
	attribute to 0.
	(*avx_phaddwv8hi3, *avx_phadddv4si3, *avx_phaddswv8hi3,
	*avx_phsubwv8hi3, *avx_phsubdv4si3, *avx_phsubswv8hi,
	*avx_pmaddubsw128, *avx_pmulhrswv8hi3, *avx_pshufbv16qi3,
	*avx_psign<mode>3): Set prefix_extra attribute to 1.
	(ssse3_phaddwv4hi3, ssse3_phadddv2si3, ssse3_phaddswv4hi3,
	ssse3_phsubwv4hi3, ssse3_phsubdv2si3, ssse3_phsubswv4hi3,
	ssse3_pmaddubsw, *ssse3_pmulhrswv4hi, ssse3_pshufbv8qi3,
	ssse3_psign<mode>3): Override prefix_rex attribute.
	(*avx_palignrti): Override prefix_extra and length_immediate
	to 1.
	(ssse3_palignrti): Override length_immediate to 1.
	(ssse3_palignrdi): Override length_immediate to 1, override
	prefix_rex attribute.
	(abs<mode>2): Override prefix_rep to 0, override prefix_rex
	attribute.
	(sse4a_extrqi): Override length_immediate to 2.
	(sse4a_insertqi): Likewise.  Override prefix_data16 to 0.
	(sse4a_insertq): Override prefix_data16 to 0.
	(avx_blendp<avxmodesuffixf2c><avxmodesuffix>,
	avx_blendvp<avxmodesuffixf2c><avxmodesuffix>,
	avx_dpp<avxmodesuffixf2c><avxmodesuffix>, *avx_mpsadbw,
	*avx_pblendvb, *avx_pblendw, avx_roundp<avxmodesuffixf2c>256,
	avx_rounds<avxmodesuffixf2c>256): Override prefix_extra
	and length_immediate to 1.
	(sse4_1_blendp<ssemodesuffixf2c>, sse4_1_dpp<ssemodesuffixf2c>,
	sse4_2_pcmpestr, sse4_2_pcmpestri, sse4_2_pcmpestrm,
	sse4_2_pcmpestr_cconly, sse4_2_pcmpistr, sse4_2_pcmpistri,
	sse4_2_pcmpistrm, sse4_2_pcmpistr_cconly): Override prefix_data16
	and length_immediate to 1.
	(sse4_1_blendvp<ssemodesuffixf2c>): Override prefix_data16 to 1.
	(sse4_1_mpsadbw, sse4_1_pblendw): Override length_immediate to 1.
	(*avx_packusdw, avx_vtestp<avxmodesuffixf2c><avxmodesuffix>,
	avx_ptest256): Override prefix_extra to 1.
	(sse4_1_roundp<ssemodesuffixf2c>, sse4_1_rounds<ssemodesuffixf2c>):
	Override prefix_data16 and length_immediate to 1.
	(sse5_pperm_zero_v16qi_v8hi, sse5_pperm_sign_v16qi_v8hi,
	sse5_pperm_zero_v8hi_v4si, sse5_pperm_sign_v8hi_v4si,
	sse5_pperm_zero_v4si_v2di, sse5_pperm_sign_v4si_v2di,
	sse5_vrotl<mode>3, sse5_ashl<mode>3, sse5_lshl<mode>3): Override
	prefix_data16 to 0 and prefix_extra to 2.
	(sse5_rotl<mode>3, sse5_rotr<mode>3): Override length_immediate to 1.
	(sse5_frcz<mode>2, sse5_vmfrcz<mode>2): Don't override prefix_extra
	attribute.
	(*sse5_vmmaskcmp<mode>3, sse5_com_tf<mode>3,
	sse5_maskcmp<mode>3, sse5_maskcmp<mode>3, sse5_maskcmp_uns<mode>3):
	Override prefix_data16 and prefix_rep to 0, length_immediate to 1
	and prefix_extra to 2.
	(sse5_maskcmp_uns2<mode>3, sse5_pcom_tf<mode>3): Override
	prefix_data16 to 0, length_immediate to 1 and prefix_extra to 2.
	(*avx_aesenc, *avx_aesenclast, *avx_aesdec, *avx_aesdeclast,
	avx_vpermilvar<mode>3,
	avx_vbroadcasts<avxmodesuffixf2c><avxmodesuffix>,
	avx_vbroadcastss256, avx_vbroadcastf128_p<avxmodesuffixf2c>256,
	avx_maskloadp<avxmodesuffixf2c><avxmodesuffix>,
	avx_maskstorep<avxmodesuffixf2c><avxmodesuffix>):
	Override prefix_extra to 1.
	(aeskeygenassist, pclmulqdq): Override length_immediate to 1.
	(*vpclmulqdq, avx_vpermil<mode>, avx_vperm2f128<mode>3,
	vec_set_lo_<mode>, vec_set_hi_<mode>, vec_set_lo_v16hi,
	vec_set_hi_v16hi, vec_set_lo_v32qi, vec_set_hi_v32qi): Override
	prefix_extra and length_immediate to 1.
	(*avx_vzeroall, avx_vzeroupper, avx_vzeroupper_rex64): Override
	modrm to 0.
	(*vec_concat<mode>_avx): Override prefix_extra and length_immediate
	to 1 for the first alternative.
	* config/i386/mmx.md (*mov<mode>_internal_rex64): Override
	prefix_rep, prefix_data16 and/or prefix_rex attributes in certain
	cases.
	(*mov<mode>_internal_avx, *movv2sf_internal_rex64,
	*movv2sf_internal_avx, *movv2sf_internal): Override
	prefix_rep attribute for certain alternatives.
	(*mov<mode>_internal): Override prefix_rep or prefix_data16
	attributes for certain alternatives.
	(*movv2sf_internal_rex64_avx): Override prefix_rep and length_vex
	attributes for certain alternatives.
	(*mmx_addv2sf3, *mmx_subv2sf3, *mmx_mulv2sf3,
	*mmx_<code>v2sf3_finite, *mmx_<code>v2sf3, mmx_rcpv2sf2,
	mmx_rcpit1v2sf3, mmx_rcpit2v2sf3, mmx_rsqrtv2sf2, mmx_rsqit1v2sf3,
	mmx_haddv2sf3, mmx_hsubv2sf3, mmx_addsubv2sf3,
	*mmx_eqv2sf3, mmx_gtv2sf3, mmx_gev2sf3, mmx_pf2id, mmx_pf2iw,
	mmx_pi2fw, mmx_floatv2si2, mmx_pswapdv2sf2, *mmx_pmulhrwv4hi3,
	mmx_pswapdv2si2): Set prefix_extra attribute to 1.
	(mmx_ashr<mode>3, mmx_lshr<mode>3, mmx_ashl<mode>3): Set
	length_immediate to 1 if operand 2 is const_int_operand.
	(*mmx_pinsrw, mmx_pextrw, mmx_pshufw_1, *vec_dupv4hi,
	*vec_extractv2si_1): Set length_immediate
	attribute to 1.
	(*mmx_uavgv8qi3): Override prefix_extra attribute to 1 if
	using old 3DNOW insn rather than SSE/3DNOW_A.
	(mmx_emms, mmx_femms): Clear modrm attribute.

From-SVN: r147981
2009-05-29 18:59:31 +02:00
Martin Jambor 0674b9d090 tree-sra.c: New implementation of SRA.
2009-05-29  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c:  New implementation of SRA.

	* params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): Removed.
	(PARAM_SRA_MAX_STRUCTURE_COUNT): Removed.
	(PARAM_SRA_FIELD_STRUCTURE_RATIO): Removed.
	* params.h (SRA_MAX_STRUCTURE_SIZE): Removed.
	(SRA_MAX_STRUCTURE_COUNT): Removed.
	(SRA_FIELD_STRUCTURE_RATIO): Removed.
	* doc/invoke.texi (sra-max-structure-size): Removed.
	(sra-field-structure-ratio): Removed.

	* testsuite/gfortran.dg/pr25923.f90: XFAIL warning expectation.
	* testsuite/gcc.dg/tree-ssa/ssa-fre-7.c: Compile with -fno-tree-sra.
	* testsuite/gcc.dg/tree-ssa/ssa-fre-8.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/ssa-fre-9.c: Likewise.
	* testsuite/gcc.dg/memcpy-1.c: Removed param sra-max-structure-size.
	* testsuite/gcc.dg/tree-ssa/sra-2.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/sra-3.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/sra-1.c: Likewise.
	* testsuite/gcc.dg/tree-ssa/sra-4.c: Changed comment.
	* testsuite/gcc.dg/tree-ssa/sra-5.c: New file.
	* testsuite/gcc.dg/tree-ssa/sra-6.c: New file.
	* testsuite/gcc.c-torture/compile/sra-1.c: New file.

From-SVN: r147980
2009-05-29 18:47:31 +02:00
Jakub Jelinek 616f21dfde re PR middle-end/40291 (ICE on unprototyped memcmp with long long last argument)
PR middle-end/40291
	* builtins.c (expand_builtin_memcmp): Convert len to sizetype
	before expansion.

	* gcc.c-torture/compile/pr40291.c: New test.

From-SVN: r147978
2009-05-29 17:38:20 +02:00
Andrey Belevantsev da7ba240d6 re PR rtl-optimization/40101 (200.sixtrack ICEs in get_seqno_by_preds, at sel-sched-ir.c:3752)
PR rtl-optimization/40101
        * sel-sched-ir.c (get_seqno_by_preds): Allow returning negative
        seqno.  Adjust comment.
        * sel-sched.c (find_seqno_for_bookkeeping): Assert that when
        inserting bookkeeping before a jump, the jump is not scheduled.
        When no positive seqno found, provide a value.  Add comment.

From-SVN: r147977
2009-05-29 19:33:17 +04:00
Richard Guenther 71dcd6099a tree-ssa-alias.c (nonaliasing_component_refs_p): Remove short-cutting on the first component.
2009-05-29  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-alias.c (nonaliasing_component_refs_p): Remove
	short-cutting on the first component.

From-SVN: r147976
2009-05-29 13:31:47 +00:00
Jakub Jelinek a900ae6bfb re PR middle-end/39958 (OMP tasking creates invalid gimple)
PR middle-end/39958
	* omp-low.c (scan_omp_1_op): Call remap_type on TREE_TYPE
	for trees other than decls/types.

From-SVN: r147975
2009-05-29 15:14:53 +02:00
Richard Guenther 821bb7f8f9 tree-ssa-operands.c (get_expr_operands): Do not handle INDIRECT_REFs in the handled-component case.
2009-05-29  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-operands.c (get_expr_operands): Do not handle
	INDIRECT_REFs in the handled-component case.  Remove
	unused get_ref_base_and_extent case.
	* tree-dfa.c (get_ref_base_and_extent): Avoid calling
	tree_low_cst and host_integerp where possible.
	* tree-ssa-structalias.c (equiv_class_label_eq): Check hash
	codes for equivalence.
	* dce.c (find_call_stack_args): Avoid redundant bitmap queries.

From-SVN: r147973
2009-05-29 09:49:42 +00:00
David Billinghurst e997fb9cde config.host: Add i386/${host_address}/t-fprules-softfp and t-softfp to tmake_file for...
2009-05-29  David Billinghurst <billingd@gcc.gnu.org>

	* config.host: Add i386/${host_address}/t-fprules-softfp and
	t-softfp to tmake_file for i[34567]86-*-cygwin*.	

2009-05-29  David Billinghurst <billingd@gcc.gnu.org>

	* config.gcc: Add i386/t-fprules-softfp and soft-fp/t-softfp
	to tmake_file for i[34567]86-*-cygwin*.

From-SVN: r147972
2009-05-29 07:49:26 +00:00
Jakub Jelinek 58195b740d re PR target/40017 (stdbool.h/altivec.h)
PR target/40017
	* config/rs6000/rs6000-c.c (_Bool_keyword): New variable.
	(altivec_categorize_keyword, init_vector_keywords,
	rs6000_cpu_cpp_builtins): Define _Bool as conditional macro
	similar to bool.

	* gcc.target/powerpc/altivec-types-1.c: Don't expect error for
	__vector _Bool.
	* gcc.target/powerpc/altivec-30.c: New test.
	* gcc.target/powerpc/altivec-31.c: New test.

From-SVN: r147970
2009-05-29 09:06:35 +02:00
Kai Tietz 055df276d4 tree.c (handle_dll_attribute): Check if node is of kind FUNCTION_DECL for DECL_DECLARED_INLINE_P check.
2009-05-29  Kai Tietz  <kai.tietz@onevision.com>

        * tree.c (handle_dll_attribute): Check if node is
        of kind FUNCTION_DECL for DECL_DECLARED_INLINE_P check.

From-SVN: r147969
2009-05-29 08:01:02 +02:00
Michael Matz 4cfaf1ec98 fibheap.c (fibheap_replace_key_data): Make sure we don't early out when forcing the minimum.
* fibheap.c (fibheap_replace_key_data): Make sure we don't early
        out when forcing the minimum.
        (fibheap_delete_node): Assert that we managed to force the minimum.

From-SVN: r147968
2009-05-29 02:55:25 +00:00
GCC Administrator 5ff8e3a454 Daily bump.
From-SVN: r147965
2009-05-29 00:16:38 +00:00
Richard Earnshaw f5939ef396 thumb2.md (thumb2_zero_extendsidi2): Add a split component.
* config/arm/thumb2.md (thumb2_zero_extendsidi2): Add a split
	component.
	(thumb2_zero_extendqidi2): Likewise.

From-SVN: r147962
2009-05-28 23:13:32 +00:00
Kaz Kojima c185de40a9 sh.c (sh_expand_t_scc): Use gen_xorsi3_movrt instead of gen_movrt.
* config/sh/sh.c (sh_expand_t_scc): Use gen_xorsi3_movrt
	instead of gen_movrt.
	* config/sh/sh.md (movrt): Remove.

From-SVN: r147961
2009-05-28 21:59:39 +00:00
Steve Ellcey bf3c6caf5a 2009-05-28 Steve Ellcey <sje@cup.hp.com>
* doc/invoke.texi (IA-64 Options)
	Add -msdata, -mfused-madd, -mno-inline-float-divide, 
	-mno-inline-int-divide, -mno-inline-sqrt, -msched-spec-ldc,
	-msched-spec-control-ldc, -msched-prefer-non-data-spec-insns,
	-msched-prefer-non-control-spec-insns,
	-msched-stop-bits-after-every-cycle,
	-msched-count-spec-in-critical-path,
	-msel-sched-dont-check-control-spec, -msched-fp-mem-deps-zero-cost
	-msched-max-memory-insns-hard-limit, -msched-max-memory-insns
	Remove -mt, -pthread, -msched-ldc, -mno-sched-control-ldc,
	and -msched-spec-verbose.

From-SVN: r147960
2009-05-28 20:06:49 +00:00
Tom Tromey 4185041973 Makefile.in, [...]: New files.
2009-05-28  Tom Tromey  <tromey@redhat.com>
	    Phil Muldoon  <pmuldoon@redhat.com>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	* python/Makefile.in, , python/libstdcxx/__init__.py,
	python/libstdcxx/v6/__init__.py, python/libstdcxx/v6/printers.py,
	python/hook.in, python/Makefile.am: New files.
	* configure, Makefile.in: Rebuild.
	* acinclude.m4 (glibcxx_SUBDIRS): Add python.
	* Makefile.am (SUBDIRS): Add python.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
Co-Authored-By: Phil Muldoon <pmuldoon@redhat.com>

From-SVN: r147958
2009-05-28 17:14:18 +00:00
Joseph Myers 8a66e987b5 lib1funcs.asm (__clear_cache): Define if L_clear_cache.
* config/arm/lib1funcs.asm (__clear_cache): Define if
	L_clear_cache.
	* config/arm/linux-eabi.h (CLEAR_INSN_CACHE): Define to give an
	error if used.
	* config/arm/t-linux-eabi (LIB1ASMFUNCS): Add _clear_cache.

From-SVN: r147956
2009-05-28 17:26:23 +01:00
Richard Guenther b45d27197f tree-ssa-alias.c (ao_ref_init): New function.
2009-05-28  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-alias.c (ao_ref_init): New function.
	(ao_ref_base): Likewise.
	(ao_ref_base_alias_set): Likewise.
	(ao_ref_alias_set): Likewise.
	(refs_may_alias_p_1): Change signature.
	(refs_may_alias_p): Adjust.
	(refs_anti_dependent_p): Likewise.
	(refs_output_dependent_p): Likewise.
	(call_may_clobber_ref_p_1): Change signature.
	(call_may_clobber_ref_p): Adjust.
	(stmt_may_clobber_ref_p_1): New function split out from ...
	(stmt_may_clobber_ref_p): ... here.
	(maybe_skip_until): Adjust signature.
	(get_continuation_for_phi): Likewise.
	(walk_non_aliased_vuses): Likewise.
	* tree-ssa-alias.h (struct ao_ref_s): New structure type.
	(ao_ref_init): Declare.
	(ao_ref_base): Likewise.
	(ao_ref_alias_set): Likewise.
	(stmt_may_clobber_ref_p_1): Likewise.
	(walk_non_aliased_vuses): Adjust.
	* tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): New function.
	(get_ref_from_reference_ops): remove.
	(vn_reference_lookup_2): Adjust signature.
	(vn_reference_lookup_3): Do not re-build trees.  Handle unions.
	(vn_reference_lookup_pieces): Adjust signature, do not re-build
	trees.
	(vn_reference_lookup): Adjust.
	(vn_reference_insert): Likewise.
	(vn_reference_insert_pieces): Adjust signature.
	(visit_reference_op_call): Adjust.
	* tree-ssa-pre.c (get_expr_type): Simplify.
	(phi_translate_1): Adjust.
	(compute_avail): Likewise.
	(translate_vuse_through_block): Do not re-build trees.
	(value_dies_in_block_x): Likewise.
	* tree-ssa-sccvn.h (struct vn_reference_s): Add type and alias-set
	fields.
	(vn_reference_lookup_pieces): Adjust declaration.
	(vn_reference_insert_pieces): Likewise.

	* gcc.dg/tree-ssa/ssa-fre-26.c: New testcase.
	* gcc.c-torture/execute/20090527-1.c: Likewise.

From-SVN: r147953
2009-05-28 13:24:16 +00:00
Benjamin Kosnik 554223b6bd tree-ssa-copy.c (replace_exp_1): Move op for warning-free use with checking disabled.
2009-05-28  Benjamin Kosnik  <bkoz@redhat.com>

        * tree-ssa-copy.c (replace_exp_1): Move op for warning-free use
        with checking disabled.

From-SVN: r147952
2009-05-28 12:28:38 +00:00
Dodji Seketeli cd41d410da Fix for PR c++/PR39754
gcc/cp/ChangeLog:
    PR c++/39754
    * cp-tree.h (canonical_type_variant): Remove this function declaration.
    (strip_typedefs): New function declaration.
    * tree.c (strip_typedefs): New function definition.
    (canonical_type_variant): Remove function definition.
    * cvt.c (convert_from_reference): No need to use
    canonical_type_variant.
    * typeck.c (cp_build_indirect_ref): Likewise.
    * error.c (dump_template_bindings): Use strip_typedefs instead of
    canonical_type_variant.
    * pt.c (convert_template_argument, unify): Likewise.
    * mangle.c (canonicalize_for_substitution): Don't use
    canonical_type_variant.

gcc/testsuite/ChangeLog:
    PR c++/39754
    * g++.dg/template/canon-type-1.C: New test.
    * g++.dg/template/canon-type-2.C: Likewise.
    * g++.dg/template/canon-type-3.C: Likewise.
    * g++.dg/template/canon-type-4.C: Likewise.
    * g++.dg/template/canon-type-5.C: Likewise.
    * g++.dg/template/canon-type-6.C: Likewise.
    * g++.dg/template/canon-type-7.C: Likewise.

From-SVN: r147951
2009-05-28 13:24:18 +02:00
Dave Korn 233215fe7c re PR target/37216 ([cygming] Invalid alignment for SSE store to .comm data generated with -O3)
gcc/ChangeLog:

2009-05-28  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR target/37216

	* configure.ac (HAVE_GAS_ALIGNED_COMM):  Add autoconf test and
	macro definition for support of three-operand format aligned
	.comm directive in assembler on cygwin/pe/mingw target OS.
	* configure:  Regenerate.
	* config.in:  Regenerate.

	* config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common):  Use
	aligned form of .comm directive if -mpe-aligned-commons is in effect.
	* config/i386/cygming.opt (-mpe-aligned-commons):  Add new option.

	* doc/invoke.texi (-mpe-aligned-commons):  Document new target option.
	* doc/tm.texi (ASM_OUTPUT_COMMON):  Document zero size commons.

gcc/testsuite/ChangeLog:

2009-05-28  Dave Korn  <dave.korn.cygwin@gmail.com>
            Uros Bizjak  <ubizjak@gmail.com>
            Danny Smith  <dansmister@gmail.com>

	PR target/37216

	* lib/target-supports.exp (check_effective_target_pe_aligned_commons):
	New function.
	* gcc.target/i386/pr37216.c:  New test source file.
	* gcc.dg/compat/struct-layout-1_generate.c (dg_options[]):  No longer
	use -fno-common for testing Cygwin and MinGW targets.



Co-Authored-By: Danny Smith <dansmister@gmail.com>
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r147950
2009-05-28 10:48:35 +00:00
Kai Tietz b10ca52232 packed6.C (size_t): Use __extension__ and __SIZE_TYPE__.
2009-05-28  Kai Tietz  <kai.tietz@onevision.com>

	*  g++.dg/ext/packed6.C (size_t): Use __extension__ and
	__SIZE_TYPE__.
	* g++.dg/opt/memcpy1.C (size_t): Likewise.
	* g++.dg/pr37742.C (size_t): Likewise.
	* g++.dg/torture/pr34850.C (size_t): Likewise.
	* g++.dg/torture/20070621-1.C (ptrdiff_t): Use __extension__ and
	_PTRDIFF_TYPE__.
	* g++.dg/torture/pr34222.C (ptrdiff_t): Likewise.
	* g++.dg/tree-ssa/pr22444.C (ptrdiff_t): Likewise.
	(size_t): Use __extension__ and __SIZE_TYPE__.

From-SVN: r147949
2009-05-28 11:38:48 +02:00
Kai Tietz 52c9763546 20000211-1.c (size_t): Typedef size_t via __SIZE_TYPE__.
2009-05-28  Kai Tietz  <kai.tietz@onevision.com>

        * gcc.c-torture/compile/20000211-1.c (size_t): Typedef size_t via
	__SIZE_TYPE__.
        * gcc.c-torture/compile/20010328-1.c (size_t): Likewise,
        * gcc.c-torture/compile/20030320-1.c (size_t): Likewise,
        * gcc.c-torture/compile/20030405-1.c (size_t): Likewise,
        * gcc.c-torture/compile/20030902-1.c (size_t): Likewise,
        * gcc.c-torture/compile/20060202-1.c (size_t): Likewise,
        * gcc.c-torture/compile/20080613-1.c (size_t): Likewise,
        * gcc.c-torture/compile/920428-2.c (size_t): Likewise,
        * gcc.c-torture/compile/980329-1.c (size_t): Likewise,
        * gcc.c-torture/compile/980816-1.c (size_t): Likewise,
        * gcc.c-torture/compile/pr32584.c (size_t): Likewise,
        * (__ssize_t): Likewise.
        * gcc.c-torture/compile/pr33173.c (size_t): Likewise,
        * gcc.c-torture/compile/pr33382.c (size_t): Likewise,
        * gcc.c-torture/compile/pr34334.c (size_t): Likewise,
        * gcc.c-torture/compile/pr34688.c (size_t): Likewise,
        * gcc.c-torture/compile/pr35043.c (size_t): Likewise,
        * gcc.c-torture/compile/pr37669.c (size_t): Likewise,
        * gcc.dg/20050629-1.c (size_t): Typedef size_t via __SIZE_TYPE__.
        * gcc.dg/pr33667.c (size_t): Likewise.
        * gcc.dg/prefetch-loop-arrays-1.c (size_t): Likewise.
        * gcc.dg/torture/pr39204.c (size_t): Likewise.
        * gcc.dg/tree-ssa/20041122-1.c (size_t): Likewise.
        * gcc.dg/tree-ssa/pr36908.c (size_t): Likewise.
        * gcc.dg/tree-ssa/pr38250.c (size_t): Likewise.
        * gcc.dg/tree-ssa/ssa-dse-10.c (size_t): Likewise.

From-SVN: r147947
2009-05-28 11:30:01 +02:00
Ira Rosen 24adb18fce re PR tree-optimization/40254 (SPEC2006 403.gcc miscompares)
PR tree-optimization/40254
	* tree-data-ref.c (dr_analyze_innermost): Take POFFSET into account
	in analysis of basic blocks.

From-SVN: r147945
2009-05-28 09:02:53 +00:00
Adam Nemet 2c5bfdf70b re PR middle-end/33699 (missing optimization on const addr area store)
PR middle-end/33699
	* target.h (struct gcc_target): Fix indentation.  Add
	const_anchor.
	* target-def.h (TARGET_CONST_ANCHOR): New macro.
	(TARGET_INITIALIZER): Use it.
	* cse.c (CHEAPER): Move it up to the other macros.
	(insert): Rename this ...
	(insert_with_costs): ... to this.  Add cost parameters.  Update
	function comment.
	(insert): New function.  Call insert_with_costs.
	(compute_const_anchors, insert_const_anchor, insert_const_anchors,
	find_reg_offset_for_const, try_const_anchors): New functions.
	(cse_insn): Call try_const_anchors.  Adjust cost of src_related
	when using a const-anchor.  Call insert_const_anchors.
	* config/mips/mips.c (mips_set_mips16_mode): Set
	targetm.const_anchor.
	* doc/tm.texi (Misc): Document TARGET_CONST_ANCHOR.

testsuite/
	* gcc.target/mips/const-anchor-1.c: New test.
	* gcc.target/mips/const-anchor-2.c: New test.

From-SVN: r147944
2009-05-28 07:42:52 +00:00
Olivier Hainque 51fb7760dd Fix typo in ChangeLog entry date.
From-SVN: r147943
2009-05-28 07:35:29 +00:00
Alexandre Oliva 9e6aced0a9 tree-inline.c (remap_decls): Enable nonlocalized variables when not optimizing.
* tree-inline.c (remap_decls): Enable nonlocalized variables
when not optimizing.

From-SVN: r147941
2009-05-28 06:52:07 +00:00
Alexandre Oliva 89fbbe4e18 tree-ssa-live.c (remove_unused_locals): Skip when not optimizing.
* tree-ssa-live.c (remove_unused_locals): Skip when not optimizing.
Simplify other tests involving optimize.

From-SVN: r147939
2009-05-28 06:49:37 +00:00
GCC Administrator c0ba77370f Daily bump.
From-SVN: r147938
2009-05-28 00:17:23 +00:00
Benjamin Kosnik daa159291b testsuite_allocator.h (check_new, [...]): Move to ...
2009-05-28  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/testsuite_allocator.h (check_new, check_delete): Move
	to ...
	* testsuite/util/replacement_memory_operators.h: ...here. New.
	* testsuite/util/testsuite_hooks.h (counter): To object_counter.
	* testsuite/util/testsuite_hooks.cc: Same.

	* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Use
	replacement_memory_operators.h.
	* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
	* testsuite/ext/mt_allocator/check_delete.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_local-2.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_local-6.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_local-8.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
	* testsuite/ext/mt_allocator/check_new.cc: Same.
	* testsuite/ext/debug_allocator/check_delete.cc: Same.
	* testsuite/ext/debug_allocator/check_new.cc: Same.
	* testsuite/ext/new_allocator/deallocate_global.cc: Same.
	* testsuite/ext/new_allocator/check_delete.cc: Same.
	* testsuite/ext/new_allocator/check_new.cc: Same.
	* testsuite/ext/new_allocator/deallocate_local.cc: Same.
	* testsuite/ext/throw_allocator/deallocate_global.cc: Same.
	* testsuite/ext/throw_allocator/check_delete.cc: Same.
	* testsuite/ext/throw_allocator/check_new.cc: Same.
	* testsuite/ext/throw_allocator/deallocate_local.cc: Same.
	* testsuite/ext/malloc_allocator/deallocate_global.cc: Same.
	* testsuite/ext/malloc_allocator/check_delete.cc: Same.
	* testsuite/ext/malloc_allocator/check_new.cc: Same.
	* testsuite/ext/malloc_allocator/deallocate_local.cc: Same.
	* testsuite/ext/pool_allocator/check_delete.cc: Same.
	* testsuite/ext/pool_allocator/check_new.cc: Same.
	* testsuite/ext/bitmap_allocator/check_delete.cc: Same.
	* testsuite/ext/bitmap_allocator/check_new.cc: Same.
	* testsuite/ext/array_allocator/check_delete.cc: Same.
	* testsuite/ext/array_allocator/check_new.cc: Same.
	* testsuite/23_containers/deque/cons/1.cc: Same.
	* testsuite/23_containers/deque/cons/2.cc: Same.

From-SVN: r147937
2009-05-28 00:17:00 +00:00
Tom Tromey e455776af0 unwind-dw2.c (_Unwind_DebugHook): New function.
* unwind-dw2.c (_Unwind_DebugHook): New function.
	(uw_install_context): Call _Unwind_DebugHook.

From-SVN: r147934
2009-05-27 23:12:21 +00:00
Jason Merrill c5adc4275c call.c (implicit_conversion): Handle conversion from initializer-list to scalar.
* call.c (implicit_conversion): Handle conversion from
	initializer-list to scalar.
	(convert_like_real): Likewise.  Avoid crashing on list
	initialization with bad conversions.
	(can_convert): Use LOOKUP_EXPLICIT.
	(can_convert_arg_bad): Add flags parm.
	* cp-tree.h: Adjust.
	* typeck.c (convert_for_assignment): Pass flags.

From-SVN: r147933
2009-05-27 18:23:41 -04:00
Benjamin Kosnik eaf4cf4fdc initializer_list: Format.
2009-05-27  Benjamin Kosnik  <bkoz@redhat.com>

	* libsupc++/initializer_list: Format.
	* testsuite/18_support/initializer_list/requirements/typedefs.cc: New.
	* testsuite/18_support/initializer_list/requirements/
	explicit_instantiation.cc: New.

From-SVN: r147931
2009-05-27 21:17:49 +00:00
Benjamin Kosnik 626e0599af re PR libstdc++/40273 ([C++0x] Invalid conversion to bool is reported)
2009-05-27  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/40273
	* include/tr1_impl/functional: Add explicit cast.
	* testsuite/20_util/function/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/function/null_pointer_comparisons.cc: New.

From-SVN: r147930
2009-05-27 20:32:30 +00:00
Janne Blomqvist 667e6f8924 Don't link to or test existence of libgfortranbegin
From-SVN: r147929
2009-05-27 23:02:02 +03:00
Tom Tromey cea32bca72 system.h (CONST_CAST2): Use C++ const_cast when compiled as C++
gcc/ChangeLog
	* system.h (CONST_CAST2): Use C++ const_cast when compiled as C++

From-SVN: r147928
2009-05-27 19:53:03 +00:00
Ian Lance Taylor c607156f99 Makefile.in (LINKER, [...]): Define.
./:	* Makefile.in (LINKER, LINKER_FLAGS): Define.
	(LINKER_FOR_BUILD, BUILD_LINKERFLAGS): Define.
	(ALL_LINKERFLAGS): Define.
	(xgcc$(exeext)): Change $(COMPILER) to $(LINKER).
	(cpp$(exeext), cc1-dummy$(exeext), cc1$(exeext)): Likewise.
	(collect2$(exeext), mips-tfile, mips-tdump): Likewise.
	(gcov$(exeext), gcov-dump$(exeext)): Likewise.
	(build/gen%$(build_exeext)): Change $(COMPILER_FOR_BUILD) to
	$(LINKER_FOR_BUILD).
	(build/gcov-iov$(build_exeext)): Likewise.
cp/:
	* Make-lang.in (g++$(exeext)): Change $(COMPILER) to $(LINKER).
	(cc1plus-dummy$(exeext), cc1plus$(exeext)): Likewise.
fortran/:
	* Make-lang.in (gfortran$(exeext)): Change $(COMPILER) to
	$(LINKER).
	(f951$(exeext)): Likewise.
java/:
	* Make-lang.in ($(XGCJ)$(exeext)): Change $(COMPILER) to
	$(LINKER).
	(jc1$(exeext), jcf-dump$(exeext), jvgenmain$(exeext)): Likewise.
objc/:
	* Make-lang.in (cc1obj-dummy$(exeext)): Change $(COMPILER) to
	$(LINKER).
	(cc1obj$(exeext)): Likewise.
objcp/:
	* Make-lang.in (cc1objplus-dummy$(exeext)): Change $(COMPILER) to
	$(LINKER).
	(cc1objplus$(exeext)): Likewise.

From-SVN: r147927
2009-05-27 19:51:15 +00:00
Tobias Burnus 86c3c481e9 re PR fortran/40270 (Revision 147883 caused many Fortran regressions)
2009-05-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40270
        * trans-decl.c (create_main_function): Mark MAIN__ and
        argc/argv as TREE_USED and push/pop function_decl context
        if needed.

From-SVN: r147926
2009-05-27 21:49:22 +02:00
Julian Brown ec0a13439a gcse.c (target.h): Include.
gcc/
	* gcse.c (target.h): Include.
	(can_assign_to_reg_without_clobbers_p): Check that the target allows
	copy of argument to a pseudo register.

From-SVN: r147925
2009-05-27 18:47:26 +00:00
Diego Novillo ac80ba07e9 tree-ssa-live.c (dump_scope_block): Document arguments.
* tree-ssa-live.c (dump_scope_block): Document arguments.
	(dump_scope_blocks): Document.
	(debug_scope_blocks): New.
	* tree-flow.h (debug_scope_blocks): Declare.

From-SVN: r147923
2009-05-27 13:55:59 -04:00