Commit Graph

114316 Commits

Author SHA1 Message Date
Oleg Endo f33223159d sync.md: Add soft atomics ABI description.
* config/sh/sync.md: Add soft atomics ABI description.
	(fetchop_name): Use 'or' instead of 'ior'.
	(fetchop_insn): Remove.
	(atomic_compare_and_swap<mode>_soft):
        Don't insert aligning nop after the write-back instruction.  Fix
	multi-line asm output formatting style.
        (atomic_fetch_<fetchop_name><mode>_soft): Likewise.
        (atomic_fetch_nand<mode>_soft): Likewise.
        (atomic_<fetchop_name>_fetch<mode>_soft): Likewise.
        (atomic_nand_fetch<mode>_soft): Likewise.

From-SVN: r182686
2011-12-26 23:00:14 +00:00
Joey Ye f93519addb re PR middle-end/51200 (Wrong code sequence to store restrict volatile bitfield)
2011-12-26  Joey Ye  <joey.ye@arm.com>

	PR middle-end/51200
	* gcc.dg/volatile-bitfields-2.c: New test.

From-SVN: r182685
2011-12-26 08:43:48 +00:00
GCC Administrator 6a7cc8eaf4 Daily bump.
From-SVN: r182684
2011-12-26 00:18:57 +00:00
GCC Administrator 8298043ae4 Daily bump.
From-SVN: r182680
2011-12-25 00:18:47 +00:00
Torvald Riegel c898f7b85f libitm: Don't enforce privatization safety if already in serial mode.
libitm/
	* beginend.cc (GTM::gtm_thread::trycommit): Don't enforce
	privatization safety if already in serial mode.

From-SVN: r182676
2011-12-24 01:42:48 +00:00
Torvald Riegel 610e390135 libitm: Fix privatization safety during upgrades to serial mode.
libitm/
	* beginend.cc (GTM::gtm_thread::restart): Add and handle
	finish_serial_upgrade parameter.
	* libitm.h (GTM::gtm_thread::restart): Adapt declaration.
	* config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic):
	Don't unset reader flag.
	(GTM::gtm_rwlock::write_upgrade_finish): New.
	* config/posix/rwlock.cc: Same.
	* config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish):
	Declare.
	* config/posix/rwlock.h: Same.
	* method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader
	flag after commit or after rollback when restarting.

From-SVN: r182675
2011-12-24 01:42:35 +00:00
Torvald Riegel 799142bf74 libitm: Fixed conversion to C++11 atomics.
libitm/
	* beginend.cc (GTM::gtm_thread::begin_transaction): Add comment.
	(GTM::gtm_thread::try_commit): Changed memory order.
	* config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int
	as parameter.
	* config/linux/x86/futex_bits.h (sys_futex0): Same.
	* config/linux/sh/futex_bits.h (sys_futex0): Same.
	* config/linux/futex_bits.h (sys_futex0): Same.
	* config/linux/futex.cc (futex_wait, futex_wake): Same.
	* config/linux/futex.h (futex_wait, futex_wake): Same.
	* config/linux/rwlock.h (gtm_rwlock::writers,
	gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic
	ints.
	* config/linux/rwlock.cc (gtm_rwlock::read_lock,
	gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
	gtm_rwlock::write_unlock): Fix memory orders and fences.
	* config/posix/rwlock.cc (gtm_rwlock::read_lock,
	gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
	gtm_rwlock::write_unlock): Same.
	* config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int.
	* method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static,
	gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart):
	Add comments.
	(gl_wt_dispatch::pre_write, gl_wt_dispatch::validate,
	gl_wt_dispatch::load, gl_wt_dispatch::store,
	gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory
	orders and fences.  Add comments.

From-SVN: r182674
2011-12-24 01:42:20 +00:00
GCC Administrator 8b3bff4ce9 Daily bump.
From-SVN: r182673
2011-12-24 00:18:54 +00:00
Richard Henderson e2c8363087 Delete VEC_EXTRACT_EVEN/ODD_EXPR.
* tree.def (VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR): Remove.
	* cfgexpand.c (expand_debug_expr): Don't handle them.
	* expr.c (expand_expr_real_2): Likewise.
	* fold-const.c (fold_binary_loc): Likewise.
	* gimple-pretty-print.c (dump_binary_rhs): Likewise.
	* tree-cfg.c (verify_gimple_assign_binary): Likewise.
	* tree-inline.c (estimate_operator_cost): Likewise.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
	* optabs.c (optab_for_tree_code): Likewise.
	(can_vec_perm_for_code_p): Remove.
	(expand_binop): Don't try it.
	(init_optabs): Don't init vec_extract_even/odd_optab.
	* genopinit.c (optabs): Likewise.
	* optabs.h (OTI_vec_extract_even, OTI_vec_extract_odd): Remove.
	(vec_extract_even_optab, vec_extract_odd_optab): Remove.
	* tree-vect-data-refs.c (vect_strided_store_supported): Tidy code.
	(vect_permute_store_chain): Use TYPE_VECTOR_SUBPARTS instead of
	GET_MODE_NUNITS; check vect_gen_perm_mask return value instead of
	asserting vect_strided_store_supported.
	(vect_strided_load_supported): Use can_vec_perm_p.
	(vect_permute_load_chain): Use VEC_PERM_EXPR.

	* doc/generic.texi (VEC_EXTRACT_EVEN_EXPR): Remove.
	(VEC_EXTRACT_ODD_EXPR): Remove.
	* doc/md.texi (vec_extract_even, vec_extract_odd): Remove.

From-SVN: r182669
2011-12-23 14:07:16 -08:00
Jason Merrill ef2361a9e5 re PR c++/51507 ([C++0x] Function parameter pack doesn't use in template-argument-list)
PR c++/51507
	* search.c (at_function_scope_p): Also check cfun.
	* pt.c (tsubst_pack_expansion): Check it instead of
	cp_unevaluated_operand.
	(instantiate_template_1): Clear current_function_decl.

From-SVN: r182668
2011-12-23 17:00:13 -05:00
Jason Merrill d54ce1dfc6 tree.c (dependent_name): OFFSET_REF and BASELINK are not dependent names.
* tree.c (dependent_name): OFFSET_REF and BASELINK
	are not dependent names.

From-SVN: r182667
2011-12-23 17:00:02 -05:00
Anatoly Sokolov 4f9664f71a score.h (REGISTER_MOVE_COST, [...]): Remove.
* config/score/score.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
	* config/score/score-protos.h (score_register_move_cost): Remove.
	* config/score/score.c (TARGET_REGISTER_MOVE_COST): Define.
	(score_register_move_cost): Make static. Change arguments type from
	enum reg_class to reg_class_t.

From-SVN: r182666
2011-12-24 01:40:42 +04:00
Uros Bizjak 54eca047c7 fast-math-pr35982.c: Fix parenthesis in target selectors.
2011-12-23  Uros Bizjak  <ubizjak@gmail.com>

	* gcc.dg/vect/fast-math-pr35982.c: Fix parenthesis in target selectors.

From-SVN: r182665
2011-12-23 22:11:15 +01:00
Jakub Jelinek 3fcc1b5520 Delete VEC_INTERLEAVE_*_EXPR.
* tree.def (VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): Remove.
	* gimple-pretty-print.c (dump_binary_rhs): Don't handle
	VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
	* expr.c (expand_expr_real_2): Likewise.
	* tree-cfg.c (verify_gimple_assign_binary): Likewise.
	* cfgexpand.c (expand_debug_expr): Likewise.
	* tree-inline.c (estimate_operator_cost): Likewise.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
	* fold-const.c (fold_binary_loc): Likewise.
	* doc/generic.texi (VEC_INTERLEAVE_HIGH_EXPR,
	VEC_INTERLEAVE_LOW_EXPR): Remove documentation.
	* optabs.c (optab_for_tree_code): Don't handle
	VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
	(expand_binop, init_optabs): Remove vec_interleave_high_optab
	and vec_interleave_low_optab.
	* genopinit.c (optabs): Likewise.
	* optabs.h (OTI_vec_interleave_high, OTI_vec_interleave_low): Remove.
	(vec_interleave_high_optab, vec_interleave_low_optab): Remove.
	* doc/md.texi (vec_interleave_high, vec_interleave_low): Remove
	documentation.
	* tree-vect-stmts.c (gen_perm_mask): Renamed to...
	(vect_gen_perm_mask): ... this.  No longer static.
	(perm_mask_for_reverse, vectorizable_load): Adjust callers.
	* tree-vectorizer.h (vect_gen_perm_mask): New prototype.
	* tree-vect-data-refs.c (vect_strided_store_supported): Don't try
	VEC_INTERLEAVE_*_EXPR, use can_vec_perm_p instead of
	can_vec_perm_for_code_p.
	(vect_permute_store_chain): Generate VEC_PERM_EXPR with interleaving
	masks instead of VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
	* config/i386/i386.c (expand_vec_perm_interleave2): If
	expand_vec_perm_interleave3 would handle it, return false.
	(expand_vec_perm_broadcast_1): Don't use vec_interleave_*_optab.

From-SVN: r182663
2011-12-23 10:38:03 -08:00
Richard Henderson 7dab511cf3 mips: Improved vectorization support for Loongson and mips3d-ps.
* config/mips/loongson.md (UNSPEC_LOONGSON_PINSR_0,
	UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2,
	UNSPEC_LOONGSON_PINSR_3): Replace with...
	(UNSPEC_LOONGSON_PINSRH): ... this.
	(UNSPEC_LOONGSON_VINIT): New.
	(UNSPEC_LOONGSON_DSLL, UNSPEC_LOONGSON_DSRL): New.
	(VWB): New mode iterator.
	(V_inner): New mode attribute.
	(loongson_vec_init1_<VHB>): New.
	(*vec_concatv2si): New.
	(and<VWHB>3, ior<VWHB>3, xor<VWHB>3, one_cmpl<VWHB>2): New.
	(*loongson_nor): New.
	(loongson_pextrh): Un-macro-ify.
	(loongson_pmaddhw): Likewise.
	(smaxv4hi3, umaxv8qi3, sminv4hi3, uminv8qi3): Likewise.
	(loongson_pinsrh_0): Represent with vec_select+vec_concat.
	(loongson_pinsrh_1, loongson_pinsrh_2, loongson_pinsrh_3): Likewise.
	(*vec_setv4hi, vec_setv4hi): New.
	(sdot_prodv4hi): New.
	(smax<VWB>3, smin<VWB>3): New.
	(reduc_uplus_v8qi): New.
	(loongson_pshufh): Remove destination matching input.
	(ashl<VWH>3, ashr<VWH>3, lshr<VWH>3): Fix type attribute.
	(vec_interleave_high<VWHB>, vec_interleave_low<VWHB>): Remove.
	(loongson_punpckhbh, loongson_punpckhhw, loongson_punpckhhw_qi,
	loongson_punpckhwd, loongson_punpckhwd_qi, loongson_punpckhwd_hi,
	loongson_punpcklbh, loongson_punpcklhw, loongson_punpcklhw_qi,
	loongson_punpcklwd, loongson_punpcklwd_qi, loongson_punpcklwd_hi,
	vec_perm_const<VWHB>, vec_unpacks_lo_<VHB>, vec_unpacks_hi_<VHB>,
	vec_unpacku_lo_<VHB>, vec_unpacku_hi_<VHB>, vec_shl_<VWHBDI>,
	vec_shr_<VWHBDI>, reduc_uplus_<VWH>, reduc_splus_<VWHB>,
	reduc_smax_<VWHB>, reduc_smin_<VWHB>, reduc_umax_<VWHB>,
	reduc_umin_<VB>): New.
	* config/mips/mips-ps-3d.md (vec_perm_const_ps): New.
	(mips_pul_ps, mips_puu_ps, mips_pll_ps, mips_plu_ps): Expand in
	terms of vec_perm_const_ps.
	(vec_perm_constv2sf): New.
	(vec_initv2sf): Use mips_expand_vector_init.
	(vec_concatv2sf): Rename from vec_initv2sf_internal.
	(vec_setv2sf): Use vec_perm_const_ps.
	(reduc_splus_v2sf, reduc_smin_v2sf, reduc_smax_v2sf): New.
	* config/mips/loongson.h (pshufh_u, pshufh_s): Don't pass dest to
	the builtin.
	* config/mips/mips-modes.def (V16QI, V8HI, V4SI, V4SF): New modes.
	* config/mips/mips-protos.h: Update.
	* config/mips/mips.c (mips_get_arg_info): Match V2SFmode, not all
	MODE_VECTOR_FLOAT.
	(mips_return_mode_in_fpr_p): Likewise.
	(mips_cannot_change_mode_class): Allow 8-byte integral mode changes.
	(CODE_FOR_loongson_punpckhbh, CODE_FOR_loongson_punpckhhw,
	CODE_FOR_loongson_punpckhwd, CODE_FOR_loongson_punpcklbh,
	CODE_FOR_loongson_punpcklhw, CODE_FOR_loongson_punpcklwd): Remove.
	(mips_builtins): Remove first operand for loongson pshufh builtins.
	(MAX_VECT_LEN, struct expand_vec_perm_d): New.
	(mips_expand_vselect, mips_expand_vselect_vconcat,
	mips_expand_vpc_loongson_even_odd, mips_expand_vpc_loongson_pshufh,
	mips_expand_vpc_loongson_bcast, mips_expand_vec_perm_const_1,
	mips_expand_vec_perm_const, mips_vectorize_vec_perm_const_ok,
	mips_expand_vec_unpack, mips_constant_elt_p, mips_expand_vi_broadcast,
	mips_expand_vi_constant, mips_expand_vi_loongson_one_pinsrh,
	mips_expand_vi_general, mips_expand_vec_reduc, mips_expand_vec_minmax,
	TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
	(mips_expand_vector_init): Rewrite.
	* config/mips/predicates.md (const_2_or_3_operand): New.
	(const_0_to_3_operand): New.

From-SVN: r182662
2011-12-23 10:36:07 -08:00
Jonathan Wakely 7a37d6eaff weak_ptr_expired.cc: Modify to PASS instead of XFAIL.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/
	weak_ptr_expired.cc: Modify to PASS instead of XFAIL.

From-SVN: r182661
2011-12-23 17:31:00 +00:00
Kai Tietz 737be29e4c * config/os/mingw32-w64/os_defines.h (__USE_MINGW_ANSI_STDIO): Define.
From-SVN: r182660
2011-12-23 18:23:38 +01:00
Jonathan Wakely 94dcac11e5 * include/c_global/cinttypes: Update comments that refer to TR1.
From-SVN: r182659
2011-12-23 17:20:44 +00:00
Jonathan Wakely 7e98765e75 re PR libstdc++/49204 ([C++0x] remaining issues in <future>)
PR libstdc++/49204
	* include/std/future (future_errc): Implement LWG 2056.

From-SVN: r182658
2011-12-23 16:10:48 +00:00
Dmitry Plotnikov 5bf4dcf26d neon.md (float<mode><V_cvtto>2): New.
2011-12-23  Dmitry Plotnikov  <dplotnikov@ispras.ru>

	* config/arm/neon.md (float<mode><V_cvtto>2): New.
	(floatuns<mode><V_cvtto>2): New.
	(fix_trunc<mode><V_cvtto>2): New.
	(fix_truncuns<mode><V_cvtto>2): New.
	* config/arm/iterators.md (V_cvtto): New iterator.

gcc/testsuite/:
	* gcc.target/arm/vect-vcvt.c: New test.
	* gcc.target/arm/vect-vcvtq.c: New test.
	
	* gcc.dg/vect/fast-math-pr35982.c: Added vect_strided2 alternative
	in final check.
	
	* lib/target-supports.exp (check_effective_target_vect_intfloat_cvt):
	True for ARM NEON.
	(check_effective_target_vect_uintfloat_cvt): Likewise.
	(check_effective_target_vect_floatuint_cvt): Likewise.
	(check_effective_target_vect_floatint_cvt): Likewise.

From-SVN: r182657
2011-12-23 17:53:17 +04:00
Arnaud Charlet a17e8c0593 [multiple changes]
2011-12-23  Pascal Obry  <obry@adacore.com>

	* prj.ads (For_Every_Project_Imported): Add In_Aggregate_Lib
	parameter to generic formal procedure.
	* prj.adb (For_Every_Project_Imported): Update accordingly.
	(Recursive_Check): Likewise. Do not parse imported project for
	aggregate library. This is needed as the imported projects are
	there just to handle dependencies.
	(Look_For_Sources): Likewise.
	(Recursive_Add): Likewise.
	* prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb:
	Add In_Aggregate_Lib parameter to routines used with
	For_Every_Project_Imported generic procedure.
	* prj-nmsc.adb (Tree_Processing_Data): Add In_Aggregate_Lib field.
	(Check): Move where it is used. Fix implementation
	to not check libraries that are inside aggregate libraries.
	(Recursive_Check): Add In_Aggregate_Lib parameter.

2011-12-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch7.adb (Analyze_Package_Body, Has_Referencer): A generic
	package is a referencer regardless of whether there is a
	subsequent subprogram with an Inline pragma.

2011-12-23  Geert Bosch  <bosch@adacore.com>

	* sem_ch3.adb (Can_Derive_From): Check matching Float_Rep on VMS.

From-SVN: r182656
2011-12-23 10:36:49 +01:00
Pascal Obry 7471389a77 gnatcmd.adb, [...]: Minor reformatting.
2011-12-23  Pascal Obry  <obry@adacore.com>

	* gnatcmd.adb, prj.adb, prj-nmsc.adb: Minor reformatting.

From-SVN: r182655
2011-12-23 10:34:21 +01:00
Richard Guenther e46bf5d625 re PR rtl-optimization/50396 (SSE division by zero generates incorrect code with optimizations enabled)
2011-12-23  Richard Guenther  <rguenther@suse.de>

	PR rtl-optimization/50396
	* simplify-rtx.c (simplify_binary_operation_1): Properly
	guard code that only works for integers.

	* gcc.dg/torture/pr50396.c: New testcase.

From-SVN: r182653
2011-12-23 09:10:18 +00:00
Tristan Gingold a27d7a6fdf vms-crtlmap.map (log10): Fix typo.
2011-12-23  Tristan Gingold  <gingold@adacore.com>

	* config/vms/vms-crtlmap.map (log10): Fix typo.

From-SVN: r182652
2011-12-23 08:27:22 +00:00
Tristan Gingold d18b704be1 vms.h (SUPPORTS_ONE_ONLY): Define.
2011-12-23  Tristan Gingold  <gingold@adacore.com>

	* config/ia64/vms.h (SUPPORTS_ONE_ONLY): Define.

From-SVN: r182651
2011-12-23 08:24:42 +00:00
Bin Cheng 2b9ed3bc10 re PR tree-optimization/43491 (Unnecessary temporary for global register variable)
2011-12-22  Bin Cheng  <bin.cheng@arm.com>
	Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/43491
	* tree-ssa-pre.c (eliminate): Don't replace global register
	variable when it is the RHS of a single assign.

	testsuite:
	* gcc.dg/tree-ssa/pr43491.c: New test.


Co-Authored-By: Richard Guenther <rguenther@suse.de>

From-SVN: r182650
2011-12-23 05:43:09 +00:00
Joey Ye 994182df27 toplev.c (process_options): Fix typo.
2011-12-22  Joey Ye  <joey.ye@arm.com>
    
    * toplev.c (process_options): Fix typo.

From-SVN: r182649
2011-12-23 02:18:17 +00:00
John David Anglin 81f7827a85 Commit missing log entry.
From-SVN: r182648
2011-12-23 02:17:39 +00:00
John David Anglin c8882fc132 re PR testsuite/50722 (FAIL: gcc.dg/pr49994-3.c (test for excess errors))
PR testsuite/50722
	gcc.dg/pr49994-3.c: xfail on hppa*-*-*.

From-SVN: r182647
2011-12-23 02:10:52 +00:00
John David Anglin 57d138a946 re PR middle-end/51252 (FAIL: c-c++-common/tm/freq.c (internal compiler error))
PR middle-end/51252
	* config/pa/pa.c (pa_som_tm_clone_table_section): New function.
	(som_tm_clone_table_section): Declare.
	(pa_file_start_space): Create $TM_CLONE_TABLE$ subspace.
	(pa_som_asm_init_sections): Init som_tm_clone_table_section.
	* config/pa/som.h (TARGET_ASM_TM_CLONE_TABLE_SECTION): Define.

From-SVN: r182646
2011-12-23 01:53:13 +00:00
Jonathan Wakely 2ae90de665 regex.h (match_results::size_type): Use allocator_traits.
* include/bits/regex.h (match_results::size_type): Use
	allocator_traits.

From-SVN: r182645
2011-12-23 01:47:41 +00:00
GCC Administrator b409bbe65f Daily bump.
From-SVN: r182644
2011-12-23 00:18:46 +00:00
Richard Sandiford e32ea2d1b2 tm.texi.in (TARGET_PREPARE_PCH_SAVE): New hook.
gcc/
	* doc/tm.texi.in (TARGET_PREPARE_PCH_SAVE): New hook.
	* doc/tm.texi: Regenerate.
	* target.def (prepare_pch_save): New hook.
	* c-family/c-pch.c (c_common_write_pch): Call it.
	* config/mips/mips.c (was_mips16_pch_p): Delete.
	(mips_set_mips16_mode): Don't refer to was_mips16_pch_p.
	(mips_prepare_pch_save): New function.
	(TARGET_PREPARE_PCH_SAVE): Define.

From-SVN: r182640
2011-12-22 21:28:40 +00:00
Ian Lance Taylor dcf3062542 go-gcc.cc (set_placeholder_pointer_type): Arrange for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
* go-gcc.cc (set_placeholder_pointer_type): Arrange for the type
	name to have a DECL_ORIGINAL_TYPE as gcc expects.
	(set_placeholder_struct_type): Likewise.
	(set_placeholder_array_type): Likewise.
	(named_type): Set DECL_ORIGINAL_TYPE.

From-SVN: r182639
2011-12-22 20:49:18 +00:00
Janne Blomqvist 42dfafa935 PR 51646 Use POSIX mode flags in open() argument.
2011-12-22  Janne Blomqvist  <jb@gcc.gnu.org>
	Tobias Burnus  <burnus@net-b.de>

	PR libfortran/51646
	* acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Use POSIX mode
	flags, omit mode argument when flags argument does not have
	O_CREAT.
	* io/unix.c (tempfile): Use POSIX mode flags.
	* configure: Regenerate.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r182638
2011-12-22 22:44:32 +02:00
Ian Lance Taylor bbe847a162 libgo: Use -std=gnu99 on Solaris 10.
From Rainer Orth.

From-SVN: r182637
2011-12-22 20:39:29 +00:00
Aldy Hernandez ee777b7164 re PR middle-end/51212 (ICE: verify_flow_info failed: BB 3 can not throw but has an EH edge with -fgnu-tm -fnon-call-exceptions and transaction_callable)
PR middle-end/51212
	* opts.c (finish_options): Call sorry on -fgnu-tm and
	-fnon-call-exceptions combination.

From-SVN: r182636
2011-12-22 20:18:11 +00:00
Ian Lance Taylor a05fe19071 runtime: Fix missing USING_SPLIT_STACK ifdef.
From Uros Bizjak.

From-SVN: r182633
2011-12-22 19:07:12 +00:00
Jonathan Wakely 7bde813394 re PR libstdc++/48362 (pretty printer fails for zero-size std::tuple<>)
PR libstdc++/48362
	* testsuite/libstdc++-prettyprinters/48362.cc: New.

From-SVN: r182632
2011-12-22 18:58:15 +00:00
Jonathan Wakely 1f653d0bb0 invoke.texi (C++ Dialect Options): Add missing options and move -Wzero-as-null-pointer-constant to ...
2011-12-22  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/invoke.texi (C++ Dialect Options): Add missing options and
	move -Wzero-as-null-pointer-constant to ...
	(Warning Options): ... here.

From-SVN: r182631
2011-12-22 17:52:36 +00:00
Jonathan Wakely d7816baac9 re PR target/47643 (x86 -mtune docs still imply i386 is the default for codegen)
PR target/47643
	* doc/invoke.texi (i386 and x86-64 Options): Fix description of
	-mtune without -march.

From-SVN: r182630
2011-12-22 17:35:05 +00:00
Richard Earnshaw 444880b9b1 re PR target/51643 (Incorrect code produced for tail-call of weak function with -O2/-O3 option)
PR target/51643
	* arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous
	change.

From-SVN: r182628
2011-12-22 17:31:50 +00:00
Tristan Gingold 8ee9572772 ia64.c (ia64_promote_function_mode): Remove.
2011-12-22  Tristan Gingold  <gingold@adacore.com>

	* config/ia64/ia64.c (ia64_promote_function_mode): Remove.
	(TARGET_PROMOTE_FUNCTION_MODE): Remove.
	(ia64_function_value): Call promote_function_mode instead of
	ia64_promote_function_mode.
	* config/ia64/vms.h (PROMOTE_MODE): Define.
	(TARGET_PROMOTE_FUNCTION_MODE): Define.

From-SVN: r182627
2011-12-22 16:40:11 +00:00
Uros Bizjak 64729d8c5d re PR rtl-optimization/27468 (sign-extending Alpha instructions not exploited)
PR target/27468
	* common/config/alpha/alpha-common.c (alpha_option_optimization_table):
	Enable flag_ree at -O2 or higher.

From-SVN: r182626
2011-12-22 17:35:16 +01:00
Richard Guenther d002ee3980 re PR debug/51650 (LTO ICE in dwarf2out_finish, at dwarf2out.c:22501 while building libxul)
2011-12-22  Richard Guenther  <rguenther@suse.de>

	PR lto/51650
	* lto.c (uniquify_nodes): Register TYPE_DECLs with the
	debuginfo machinery.

	* g++.dg/lto/pr51650-1_0.C: New testcase.
	* g++.dg/lto/pr51650-2_0.C: Likewise.

From-SVN: r182625
2011-12-22 15:28:24 +00:00
Bernd Schmidt ae2b9cb662 tree-pass.h (pass_reload): Declare.
* tree-pass.h (pass_reload): Declare.
	* ira.c (overall_cost_before, saved_flag_ira_share_spill_slots):
	New global variables, moved out of ira.
	(do_reload): New static function, split off from the second half
	of ...
	(ira): ... here.
	(gate_ira): Remove.
	(pass_ira): Use TV_IRA, set gate to NULL, and set flags to
	TODO_dump_func.
	(rest_of_handle_reload): New static function.
	(pass_reload): New.

From-SVN: r182624
2011-12-22 15:01:25 +00:00
Uros Bizjak 95c6483002 i386-common.c (ix86_option_optimization_table): Move OPT_free processing from ...
* common/config/i386/i386-common.c (ix86_option_optimization_table):
	Move OPT_free processing from ...
	* config/i386/i386.c (ix86_option_override_internal):  ... here.

From-SVN: r182623
2011-12-22 15:39:35 +01:00
Richard Earnshaw 50c9d04997 re PR target/51643 (Incorrect code produced for tail-call of weak function with -O2/-O3 option)
PR target/51643
	* arm.c (arm_function_ok_for_sibcall): Don't try to tailcall a
	weak function on bare-metal EABI targets.

	* gcc.target/arm/sibcall-2.c: New test.

From-SVN: r182621
2011-12-22 14:13:09 +00:00
Jonathan Wakely 9dacb44bf1 re PR libstdc++/48362 (pretty printer fails for zero-size std::tuple<>)
PR libstdc++/48362
	* python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle empty
	tuples.

From-SVN: r182620
2011-12-22 12:33:15 +00:00
Arnaud Charlet 2d1debf816 [multiple changes]
2011-12-22  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Create the objects
	associated with exception handling unconditionally.
	(Build_Adjust_Statements): Create the objects associated with
	exception handling unconditionally.
	(Build_Components): Create the objects associated with exception
	handling unconditionally.
	(Build_Finalize_Statements): Create the objects associated with
	exception handling unconditionally.
	(Build_Initialize_Statements): Create the objects associated with
	exception handling unconditionally.
	(Build_Object_Declarations): Set the proper location of the data
	record when exception propagation is forbidden.

2011-12-22  Gary Dismukes  <dismukes@adacore.com>

	* a-tienio.adb (Put): Test validity of Item parameters before
	applying Image, and raise Constraint_Error for invalid values.

2011-12-22  Bob Duff  <duff@adacore.com>

	* a-stwima.ads (Initialize,Adjust,Finalize): Add overriding indicators.
	* a-ststio.ads (AFCB_Allocate,AFCB_Close,AFCB_Free,Read,Write): Add
	overriding indicators.

From-SVN: r182619
2011-12-22 12:52:00 +01:00