1. 20 May, 2015 31 commits
    • formatter.h (_GLIBCXX_TYPEID): New macro to simplify usage of typeid. · fa5cc2db
      2015-05-20  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
      	usage of typeid.
      	(_Error_formatter::_M_print_type): New.
      	* src/c++11/debug.cc
      	(_Error_formatter::_Parameter::_M_print_field): Use latter.
      	(_Error_formatter::_M_print_type): Implement latter using
      	__cxaabiv1::__cxa_demangle to print demangled type name.
      
      From-SVN: r223455
      François Dumont committed
    • Promote types of RTL expressions to more derived ones. · 1476d1bd
      	* bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where
      	feasible.
      	(fix_up_fall_thru_edges): Likewise.
      	(fix_crossing_conditional_branches): Likewise. Promote jump targets
      	from to rtx_insn to rtx_code_label where feasible.
      	* bt-load.c (move_btr_def): Remove as-a cast of the value returned by
      	gen_move_insn (returned type changed to rtx_insn).
      	* builtins.c (expand_errno_check): Fix arguments of
      	do_compare_rtx_and_jump (now expects rtx_code_label).
      	(expand_builtin_acc_on_device): Likewise.
      	* cfgcleanup.c (try_simplify_condjump): Add cast when calling
      	invert_jump (now exprects rtx_jump_insn).
      	* cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label.
      	(construct_init_block): Use rtx_code_label.
      	* cfgrtl.c (block_label): Promote return type to rtx_code_label.
      	(try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when
      	calling redirect_jump.
      	(patch_jump_insn): Likewise.
      	(redirect_branch_edge): Likewise.
      	(force_nonfallthru_and_redirect): Likewise.
      	(fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn
      	when suitable.
      	(rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump.
      	* cfgrtl.h: Promote return type of block_label to rtx_code_label.
      	* config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before.
      	* config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label
      	to store the value retured by gen_label_rtx.
      	* config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to
      	rtx_jump_insn.
      	* config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump.
      	(split_branches): Fix calls of redirect_jump.
      	* dojump.c (jumpifnot): Promote argument type from rtx to rtx_code_label.
      	(jumpifnot_1): Likewise.
      	(jumpif): Likewise.
      	(jumpif_1): Likewise.
      	(do_jump_1): Likewise.
      	(do_jump): Likewise. Use rtx_code_label when feasible.
      	(do_jump_by_parts_greater_rtx): Likewise.
      	(do_jump_by_parts_zero_rtx): Likewise.
      	(do_jump_by_parts_equality_rtx): Likewise.
      	(do_compare_rtx_and_jump): Likewise.
      	* dojump.h: Update function prototypes.
      	* dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now
      	returns rtx_insn).
      	* emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to
      	rtx_jump_insn.
      	(emit_label_before): Likewise.
      	(emit_jump_insn_after_noloc): Likewise.
      	(emit_jump_insn_after_setloc): Likewise.
      	(emit_jump_insn_after): Likewise
      	(emit_jump_insn_before_setloc): Likewise.
      	(emit_jump_insn_before): Likewise.
      	(emit_label_before): Promote return type to rtx_code_label.
      	(emit_label): Likewise.
      	* except.c (sjlj_emit_dispatch_table): Use jump_target_rtx.
      	* explow.c (emit_stack_save): Use gen_move_insn_uncast instead of
      	gen_move_insn.
      	(emit_stack_restore): Likewise.
      	* expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump.
      	(do_cmp_and_jump): Likewise.
      	* expr.c (expand_expr_real_2): Likewise. Promote some local variables
      	from rtx to rtx_code_label.
      	(gen_move_insn_uncast): New function.
      	* expr.h: Update return type of gen_move_insn (promote to rtx_insn).
      	* function.c (convert_jumps_to_returns): Fix call of redirect_jump.
      	* gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx.
      	* ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling
      	invert_jump_1 and redirect_jump_1.
      	* internal-fn.c (expand_arith_overflow_result_store): Fix call of
      	do_compare_rtx_and_jump.
      	(expand_addsub_overflow): Likewise.
      	(expand_neg_overflow): Likewise.
      	(expand_mul_overflow): Likewise.
      	* ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for
      	return value of gen_move_insn.
      	* jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn.
      	* loop-doloop.c (add_test): Use rtx_code_label.
      	(doloop_modify): Likewise.
      	(doloop_optimize): Likewise.
      	* loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label.
      	* lra-constraints.c (emit_spill_move): Remove cast of value returned
      	by gen_move_insn.
      	(inherit_reload_reg): Add cast when calling dump_insn_slim.
      	(split_reg): Likewise.
      	* modulo-sched.c (schedule_reg_moves): Remove cast of value returned by
      	gen_move_insn.
      	* optabs.c (expand_binop_directly): Remove casts of values returned by
      	maybe_gen_insn.
      	(expand_unop_direct): Likewise.
      	(expand_abs): Likewise.
      	(maybe_emit_unop_insn): Likewise.
      	(maybe_gen_insn): Promote return type to rtx_insn.
      	* optabs.h: Update prototype of maybe_gen_insn.
      	* postreload-gcse.c (eliminate_partially_redundant_load): Remove
      	redundant cast.
      	* recog.c (struct peep2_insn_data): Promote type of insn field to
      	rtx_insn.
      	(peep2_reinit_state): Use NULL instead of NULL_RTX.
      	(peep2_attempt): Remove casts of insn in peep2_insn_data.
      	(peep2_fill_buffer): Promote argument from rtx to rtx_insn
      	* recog.h (struct insn_gen_fn): Promote return types of function
      	pointers and operator ().from rtx to rtx_insn.
      	* reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn.
      	(fill_eager_delay_slots): Likewise.
      	(relax_delay_slots): Likewise.
      	(make_return_insns): Likewise.
      	(dbr_schedule): Likewise.
      	(optimize_skips): Likewise.
      	(reorg_redirect_jump): Likewise.
      	(fill_slots_from_thread): Likewise.
      	* reorg.h: Update prototypes.
      	* resource.c (find_dead_or_set_registers): Use dyn_cast to
      	rtx_jump_insn instead of check.  Use it's jump_target method.
      	* rtl.h (rtx_jump_insn::jump_label): Define new method.
      	(rtx_jump_insn::jump_target): Define new method.
      	(rtx_jump_insn::set_jump_target): Define new method.
      	* rtlanal.c (tablejump_p): Promote type of one local variable.
      	* sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list.
      	(sched_analyze_insn): Likewise.
      	* sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn.
      	(print_insn): Likewise.
      	* stmt.c (label_rtx): Promote return type to rtx_insn.
      	(force_label_rtx): Likewise.
      	(jump_target_rtx): Define new function.
      	(expand_label): Use it, get rid of one cast.
      	(expand_naked_return): Promote rtx to rtx_code_label.
      	(do_jump_if_equal): Fix do_compare_rtx_and_jump call.
      	(expand_case): Use rtx_code_label instread of rtx where feasible.
      	(expand_sjlj_dispatch_table): Likewise.
      	(emit_case_nodes): Likewise.
      	* stmt.h: Declare jump_target_rtx.  Update prototypes.  Fix comments.
      	* store-motion.c (insert_store): Make use of new return type of
      	gen_move_insn and remove a cast.
      	(replace_store_insn): Likewise.
      
      From-SVN: r223454
      Mikhail Maltsev committed
    • 2015-05-20 François Dumont <fdumont@gcc.gnu.org> · fd2ef117
      	* include/bits/cpp_type_traits.h
      	(std::move_iterator): Delete declaration.
      	(std::__is_move_iterator<move_iterator>): Move partial specialization...
      	* include/bits/stl_iterator.h: ... here.
      	(std::__miter_base): Overloads for std::reverse_iterator and
      	std::move_iterator.
      	* include/bits/stl_algobase.h (std::__miter_base): Provide default
      	implementation.
      
      From-SVN: r223453
      François Dumont committed
    • re PR target/65730 (xtensa: ICE in libstdc++-v3/include/bits/atomic_base.h: In… · 91767ed1
      re PR target/65730 (xtensa: ICE in libstdc++-v3/include/bits/atomic_base.h: In function ‘bool std::atomic_flag_test_and_set_explicit(std::__atomic_flag_base*, std::memory_order)’)
      
      Fix PR target/65730
      
      2015-05-20  Max Filippov  <jcmvbkbc@gmail.com>
      gcc/
      	* config/xtensa/xtensa.c (init_alignment_context): Replace MULT
      	by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
      
      From-SVN: r223452
      Max Filippov committed
    • thumb1-far-jump-2.c (r4): Added int in definition. · eb3243e8
      gcc/testsuite
      
      2015-05-20  Alex Velenko  <Alex.Velenko@arm.com>
      
              * gcc.target/arm/thumb1-far-jump-2.c (r4): Added int in definition.
      
      From-SVN: r223451
      Alex Velenko committed
    • re PR libstdc++/66078… · 793cac74
      re PR libstdc++/66078 (20_util/specialized_algorithms/uninitialized_copy/808590.cc fails with -std=c++11)
      
      	PR libstdc++/66078
      	* include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add
      	overload for pointers.
      	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
      	808590.cc: Add -std=gnu++03 switch.
      	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
      	808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11.
      	* testsuite/23_containers/vector/modifiers/push_back/
      	strong_guarantee.cc: New.
      
      From-SVN: r223449
      Jonathan Wakely committed
    • tree-ssa-threadupdate.c (mark_threaded_blocks): Properly dispose of the jump thread path when... · 2b3ac48e
             * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
              dispose of the jump thread path when the jump threading
              opportunity is cancelled.
      
      From-SVN: r223448
      Jeff Law committed
    • -Wmisleading-indentation: Increase test coverage · c3a630ce
      gcc/testsuite/ChangeLog:
      	* c-c++-common/Wmisleading-indentation.c (fn_32): New.
      	(fn_33_k_and_r_style): New.
      	(fn_33_stroustrup_style): New.
      	(fn_33_allman_style): New.
      	(fn_33_whitesmiths_style): New.
      	(fn_33_horstmann_style): New.
      	(fn_33_ratliff_banner_style): New.
      	(fn_33_lisp_style): New.
      	(fn_34_indent_dash_gnu): New.
      	(fn_34_indent_dash_kr): New.
      	(fn_34_indent_dash_orig): New.
      	(fn_34_indent_linux_style): New.
      
      From-SVN: r223447
      David Malcolm committed
    • diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error when printing the caret character. · e4129dd0
      gcc/ChangeLog
      
      2015-05-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
             * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
             when printing the caret character.
      
      From-SVN: r223446
      Manuel López-Ibáñez committed
    • re PR fortran/65548 (gfc_conv_procedure_call) · db7ffcab
      gcc/fortran/ChangeLog:
      
      2015-05-19  Andre Vehreschild  <vehre@gmx.de>
      
      	PR fortran/65548
      	* trans-stmt.c (gfc_trans_allocate): Always retrieve the
      	descriptor or a reference to a source= expression for
      	arrays and non-arrays, respectively.  Use a temporary
      	symbol and gfc_trans_assignment for all source=
      	assignments to allocated objects besides for class and
      	derived types.
      
      gcc/testsuite/ChangeLog:
      
      2015-05-19  Andre Vehreschild  <vehre@gmx.de>
      
      	PR fortran/65548
      	* gfortran.dg/allocate_with_source_5.f90: Extend test.
      
      From-SVN: r223445
      Andre Vehreschild committed
    • cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P. · cf4ef6f7
      	* cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
      
      	* c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
      
      From-SVN: r223442
      Marek Polacek committed
    • expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P. · 98209db3
      	* expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
      	* gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
      	* gimple-fold.c (canonicalize_bool): Likewise.
      	(same_bool_result_p): Likewise.
      	* tree-if-conv.c (parse_predicate): Likewise.
      
      From-SVN: r223441
      Marek Polacek committed
    • gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P. · 3a65ee74
      	* gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
      	* gimplify.c (gimplify_modify_expr_rhs): Likewise.
      
      	* c-ada-spec.c (dump_sloc): Use DECL_P.
      
      From-SVN: r223440
      Marek Polacek committed
    • [AArch64][obvious] In aarch64_class_max_nregs use UNITS_PER_VREG and UNITS_PER_WORD · 7bd11911
      	* config/aarch64/aarch64.c (aarch64_class_max_nregs):
      	Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
      	values.
      
      From-SVN: r223439
      Kyrylo Tkachov committed
    • Add missing declaration. · ba57dd12
      gcc/
      	* config/mips/mips.h (micromips_globals): Declare.
      
      From-SVN: r223438
      Robert Suchanek committed
    • c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout. · 21b634ae
      	* c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
      	* c-common.c: Likewise.
      
      	* c-decl.c: Use VAR_OR_FUNCTION_DECL_P throughout.
      	* c-typeck.c: Likewise.
      
      From-SVN: r223437
      Marek Polacek committed
    • Introduce TV_INITIALIZE_RTL · 42242005
      gcc/ChangeLog:
      	* timevar.def (TV_INITIALIZE_RTL): New.
      	* toplev.c (initialize_rtl): Use an auto_timevar to account this
      	function's time to TV_INITIALIZE_RTL.
      
      From-SVN: r223436
      David Malcolm committed
    • libcpp: Eliminate most of the non-const/reference-returning inline fns · c819ed29
      gcc/java/ChangeLog:
      	* jcf-parse.c (set_source_filename): Replace write through
      	ORDINARY_MAP_FILE_NAME with direct access to "to_file".
      
      libcpp/ChangeLog:
      	* include/line-map.h (MAP_START_LOCATION): Eliminate the non-const
      	variant, and tweak comment for the const variant.
      	(ORDINARY_MAP_STARTING_LINE_NUMBER): Drop the non-const variant.
      	(ORDINARY_MAP_INCLUDER_FILE_INDEX): Likewise.
      	(ORDINARY_MAP_IN_SYSTEM_HEADER_P): Likewise.
      	(SET_ORDINARY_MAP_NUMBER_OF_COLUMN_BITS): Delete.
      	(ORDINARY_MAP_FILE_NAME): Drop the non-const variant.
      	(MACRO_MAP_MACRO): Likewise.
      	(MACRO_MAP_NUM_MACRO_TOKENS): Likewise.
      	(MACRO_MAP_LOCATIONS): Likewise.
      	(MACRO_MAP_EXPANSION_POINT_LOCATION): Likewise.
      	* line-map.c (linemap_add): Replace writes through macros with
      	direct field accesses.
      	(linemap_enter_macro): Likewise.
      	(linemap_line_start): Likewise.
      
      From-SVN: r223435
      David Malcolm committed
    • tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless gimple_build_nop calls. · 0ff4ddeb
      	* tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless
      	gimple_build_nop calls.
      	(chkp_find_bounds_for_elem): Likewise.
      	(chkp_get_zero_bounds): Likewise.
      	(chkp_get_none_bounds): Likewise.
      	(chkp_get_bounds_by_definition): Likewise.
      	(chkp_generate_extern_var_bounds): Likewise.
      	(chkp_get_bounds_for_decl_addr): Likewise.
      	(chkp_get_bounds_for_string_cst): Likewise.
      
      From-SVN: r223434
      Ilya Enkovich committed
    • re PR tree-optimization/65447 (AArch64: iv-opt causes bad addressing) · a7e43c57
      
      	PR tree-optimization/65447
      	* tree-ssa-loop-ivopts.c (struct iv_use): New fields.
      	(dump_use, dump_uses): Support to dump sub use.
      	(record_use): New parameters to support sub use.  Remove call to
      	dump_use.
      	(record_sub_use, record_group_use): New functions.
      	(compute_max_addr_offset, split_all_small_groups): New functions.
      	(group_address_uses, rewrite_use_address): New functions.
      	(strip_offset): New declaration.
      	(find_interesting_uses_address): Call record_group_use.
      	(add_candidate): New assertion.
      	(infinite_cost_p): Move definition forward.
      	(add_costs): Check INFTY cost and return immediately.
      	(get_computation_cost_at): Clear setup cost and dependent bitmap
      	for sub uses.
      	(determine_use_iv_cost_address): Compute cost for sub uses.
      	(rewrite_use_address_1): Rename from old rewrite_use_address.
      	(free_loop_data): Free sub uses.
      	(tree_ssa_iv_optimize_loop): Call group_address_uses.
      
      	gcc/testsuite
      	PR tree-optimization/65447
      	* gcc.dg/tree-ssa/pr65447.c: New test.
      
      From-SVN: r223433
      Bin Cheng committed
    • aarch-common-protos.h (struct mem_cost_table): Added new fields loadv and storev. · b6875aac
      gcc/ChangeLog:
      
      2015-05-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
      	    Jim Wilson  <jim.wilson@linaro.org>
      
      	* config/arm/aarch-common-protos.h (struct mem_cost_table): Added
      	new  fields loadv and storev.
      	* config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
      	Initialize loadv and storev.
      	* config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
      	(cortexa53_extra_costs): Likewise.
      	(cortexa57_extra_costs): Likewise.
      	(xgene1_extra_costs): Likewise.
      	* config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
      	rtx_costs.
      
      2015-05-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
      	 storev.
      	(cortexa8_extra_costs): Likewise.
      	(cortexa5_extra_costs): Likewise.
      	(cortexa7_extra_costs): Likewise.
      	(cortexa12_extra_costs): Likewise.
      	(cortexa15_extra_costs): Likewise.
      	(v7m_extra_costs): Likewise.
      
      
      Co-Authored-By: Jim Wilson <jim.wilson@linaro.org>
      
      From-SVN: r223432
      Kugan Vivekanandarajah committed
    • tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread instead of open-coded version. · c725e7f8
             * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread
              instead of open-coded version.  Also delete the jump thread created
              within this function.
      
      From-SVN: r223431
      Jeff Law committed
    • re PR c++/65954 (gcc segfaults on the following input with a syntax error) · 09b59d4d
      	cp/
      	PR c++/65954
      	* typeck.c (finish_class_member_access_expr): Diagnose failed
      	lookup of enum class member.
      
      	testsuite/
      	* g++.dg/cpp0x/pr65954.C: New.
      
      From-SVN: r223430
      Nathan Sidwell committed
    • rs6000.c (rs6000_emit_allocate_stack): Return stack adjusting insn. · 261640d5
      	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return
      	stack adjusting insn.  Formatting.
      	(rs6000_emit_prologue): Track stack adjusting insn, and use of
      	r12.  If possible, emit first -fsplit-stack arg pointer insn
      	before stack adjust.  Don't use r12 to save cr if split-stack.
      
      From-SVN: r223427
      Alan Modra committed
    • rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK): Define. · 0f0fd745
      gcc/
      	* common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK):
      	Define.
      	(rs6000_supports_split_stack): New function.
      	* gcc/config/rs6000/rs6000.c (machine_function): Add
      	split_stack_arg_pointer.
      	(TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define.
      	(setup_incoming_varargs): Use crtl->args.internal_arg_pointer
      	rather than virtual_incoming_args_rtx.
      	(rs6000_va_start): Likewise.
      	(split_stack_arg_pointer_used_p): New function.
      	(rs6000_emit_prologue): Set up arg pointer for -fsplit-stack.
      	(morestack_ref): New var.
      	(gen_add3_const, rs6000_expand_split_stack_prologue,
      	rs6000_internal_arg_pointer, rs6000_live_on_entry,
      	rs6000_split_stack_space_check): New functions.
      	(rs6000_elf_file_end): Call file_end_indicate_split_stack.
      	* gcc/config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define.
      	(UNSPECV_SPLIT_STACK_RETURN): Define.
      	(split_stack_prologue, load_split_stack_limit,
      	load_split_stack_limit_di, load_split_stack_limit_si,
      	split_stack_return, split_stack_space_check): New expands and insns.
      	* gcc/config/rs6000/rs6000-protos.h
      	(rs6000_expand_split_stack_prologue): Declare.
      	(rs6000_split_stack_space_check): Declare.
      libgcc/
      	* config/rs6000/morestack.S: New.
      	* config/rs6000/t-stack-rs6000: New.
      	* config.host (powerpc*-*-linux*): Add t-stack and t-stack-rs6000
      	to tmake_file.
      	* generic-morestack.c: Don't build for powerpc 32-bit.
      
      From-SVN: r223426
      Alan Modra committed
    • rs6000.c (struct rs6000_stack): Correct comments. · 8a03f869
      	* config/rs6000/rs6000.c (struct rs6000_stack): Correct comments.
      	(rs6000_stack_info): Don't zero offsets when not saving registers.
      	(debug_stack_info): Adjust to omit printing unused offsets,
      	as before.
      	(direct_return): Test vrsave_size rather than vrsave_mask.
      	(rs6000_emit_prologue): Likewise.  Remove redundant altivec tests.
      	(rs6000_emit_epilogue): Likewise.
      
      From-SVN: r223425
      Alan Modra committed
    • rs6000.c (rs6000_stack_info): Don't zero offsets when not saving registers. · 8b07bbe7
      	* config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
      	when not saving registers.
      	(debug_stack_info): Adjust to omit printing unused offsets,
      	as before.
      	(rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
      	expression.
      
      From-SVN: r223424
      Alan Modra committed
    • fixup hash table descriptor in winnt.c · ca5db45b
      gcc/ChangeLog:
      
      2015-05-19  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	PR c++/65835
      	* config/i386/winnt.c (struct wrapped_symbol_hasher): Change
      	value_type to const char *.
      
      From-SVN: r223423
      Trevor Saunders committed
    • Daily bump. · 42f47c6a
      From-SVN: r223422
      GCC Administrator committed
    • config.gcc [...]: Allow --enable-targets=all to build a biarch toolchain again. · b9b1573b
      2015-05-19  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
      	to build a biarch toolchain again.
      
      From-SVN: r223418
      Sandra Loosemore committed
  2. 19 May, 2015 9 commits
    • pr64366.c: Remove -m4 -ml from dg-options. · 7b8311b5
      gcc/testsuite/
      	* gcc.target/sh/pr64366.c: Remove -m4 -ml from dg-options.
      
      From-SVN: r223417
      Oleg Endo committed
    • stl_list.h (_M_resize_pos(size_type&)): Declare. · 8e725716
      	* include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare.
      	(operator==(const list&, const list&)): If size() is O(1) compare
      	sizes before comparing each element.
      	* include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define.
      	(list::resize): Use _M_resize_pos.
      
      From-SVN: r223416
      Jonathan Wakely committed
    • ipa-devirt.c (type_in_anonymous_namespace_p): Return true or implicit declarations. · 4d6eb35a
      
      	* ipa-devirt.c (type_in_anonymous_namespace_p): Return true
      	or implicit declarations.
      	(odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking
      	into it.
      	(get_odr_type): Check type has linkage before adding bases.
      	(register_odr_type): Check that type has linkage before adding it.
      	(type_known_to_have_no_deriavations_p): Rename to ..
      	(type_known_to_have_no_derivations_p): This one.
      	* ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to ..
      	(type_known_to_have_no_derivations_p): This one.
      	* ipa-polymorphic-call.c
      	(ipa_polymorphic_call_context::restrict_to_inner_type): Check that
      	type has linkage.
      
      From-SVN: r223415
      Jan Hubicka committed
    • * c-typeck.c (start_init): Use AGGREGATE_TYPE_P. · 296a8c2f
      From-SVN: r223414
      Marek Polacek committed
    • 66055.cc: Add constructor invocations. · 90f0d176
      2015-05-19  François Dumont  <fdumont@gcc.gnu.org>
      
      	* testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
      	invocations.
      	* testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
      	* testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
      	* testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.
      
      From-SVN: r223413
      François Dumont committed
    • Makefile.in (LIBUNWIND): Move dependency for shared libgcc. · 515ae71b
      	* Makefile.in (LIBUNWIND): Move dependency for shared libgcc.
      	Remove useless endif/ifneq ($(enable_shared),yes) pair.
      
      From-SVN: r223412
      Eric Botcazou committed
    • stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P. · f819300f
      	* stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
      	(layout_type): Use RECORD_OR_UNION_TYPE_P.
      
      From-SVN: r223407
      Eric Botcazou committed
    • S/390 Invalid vector binary ops · cb4c41dd
      This is a first try to implement at least some of the requirements
      regarding the vector bool type documented for IBM XLC.
      
      With this patch error messages will be issued for invalid uses of
      vector bool types in binary operators.
      
      vector bool types are being marked opaque in order to prevent the
      front-end from complaining about "vector bool long" vs "vector bool
      long long" combinations on 64 bit.  The opaque flag basically
      suppresses any type checking. However, we still want vector bool to be
      accepted only in contexts specified in the documentation (to be
      published soon).  Implementing the invalid binary op hook does this
      for binary operators at least.  But this is far from being complete :(
      
      gcc/
      	* config/s390/s390.c (s390_vector_bool_type_p): New function.
      	(s390_invalid_binary_op): New function.
      	(TARGET_INVALID_BINARY_OP): Define macro.
      
      From-SVN: r223404
      Andreas Krebbel committed
    • S/390 vector types are only 8 byte aligned. · 17521813
      gcc/testsuite/
      	* lib/target-supports.exp: Vector do not always have natural
                alignment on s390*.
      
      From-SVN: r223403
      Andreas Krebbel committed