Commit Graph

138521 Commits

Author SHA1 Message Date
Jason Merrill
65d932637e revert: configure.ac: Add -std=c++98 to stage1_cxxflags.
Revert:
       * configure.ac: Add -std=c++98 to stage1_cxxflags.
       * Makefile.tpl (STAGE1_CXXFLAGS): And substitute it.
       * Makefile.in, configure: Regenerate.

From-SVN: r223494
2015-05-21 13:05:33 -04:00
Jan Hubicka
3ecf9d13a1 alias.c (alias_stats): New static var.
* alias.c (alias_stats): New static var.	
	(alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
	(dump_alias_stats_in_alias_c): New function.
	* alias.h (dump_alias_stats_in_alias_c): Declare.
	* tree-ssa-alias.c (dump_alias_stats): Call it.

From-SVN: r223491
2015-05-21 15:51:59 +00:00
Marek Polacek
c7b70a3cba See <https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01977.html> for
the rationale.

Bootstrapped/regtested on x86_64-linux, applying to trunk.

2015-05-21  Marek Polacek  <polacek@redhat.com>

	* c-typeck.c (inform_declaration): Use DECL_IS_BUILTIN instead of
	DECL_BUILT_IN.

diff --git gcc/c/c-typeck.c gcc/c/c-typeck.c
index ba8797b..f55d4c6 100644
--- gcc/c/c-typeck.c
+++ gcc/c/c-typeck.c
@@ -2853,9 +2853,10 @@ build_function_call (location_t loc, tree function, tree params)
 
 /* Give a note about the location of the declaration of DECL.  */
 
-static void inform_declaration (tree decl)
+static void
+inform_declaration (tree decl)
 {
-  if (decl && (TREE_CODE (decl) != FUNCTION_DECL || !DECL_BUILT_IN (decl)))
+  if (decl && (TREE_CODE (decl) != FUNCTION_DECL || !DECL_IS_BUILTIN (decl)))
     inform (DECL_SOURCE_LOCATION (decl), "declared here");
 }

From-SVN: r223490
2015-05-21 15:30:09 +00:00
Marek Polacek
6b6dd1aa70 * typeck.c (warn_args_num): Don't print "declare here" for builtins.
From-SVN: r223489
2015-05-21 15:27:12 +00:00
Jason Merrill
4177264e09 del_opv.cc: Suppress -Wsized-deallocation.
* libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
	* libsupc++/del_op.cc: Likewise.

From-SVN: r223488
2015-05-21 11:12:40 -04:00
Jason Merrill
da0bfb866e configure.ac: Add -std=c++98 to stage1_cxxflags.
* configure.ac: Add -std=c++98 to stage1_cxxflags.
	* Makefile.tpl (STAGE1_CXXFLAGS): And substitute it.
	* Makefile.in, configure: Regenerate.

From-SVN: r223487
2015-05-21 11:12:35 -04:00
Michael Matz
f2e2a98542 tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p to strided_p.
* tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
	to strided_p.
	(STMT_VINFO_STRIDE_LOAD_P): Rename to ...
	(STMT_VINFO_STRIDED_P): ... this.
	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
	(vect_verify_datarefs_alignment): Likewise.
	(vect_enhance_data_refs_alignment): Likewise.
	(vect_analyze_data_ref_access): Likewise.
	(vect_analyze_data_refs): Accept strided stores.
	* tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
	(vect_model_load_cost): Adjust for macro rename.
	(vectorizable_mask_load_store): Likewise.
	(vectorizable_load): Likewise.
	(vectorizable_store): Open code strided stores.

testsuite/
	* gcc.dg/vect/vect-strided-store.c: New test.
	* gfortran.dg/vect/fast-math-pr37021.f90: Adjust.
	* gfortran.dg/vect/fast-math-rnflow-trs2a2.f90: Adjust.

From-SVN: r223486
2015-05-21 14:36:04 +00:00
Kyrylo Tkachov
1e43cc9461 Testsuite check for sqrt_insn. Move pow/sqrt synth test from gcc.target/aarch64/ to to gcc.dg/
* lib/target-supports.exp (check_effective_target_sqrt_insn): New check.
	* gcc.dg/pow-sqrt-synth-1.c: New test.
	* gcc.target/aarch64/pow-sqrt-synth-1.c: Delete.

	* doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
	Document sqrt_insn.

From-SVN: r223485
2015-05-21 13:30:24 +00:00
Hristian Kirtchev
eb7d283dc3 einfo.adb (Contract): This attribute now applies to constants.
2015-05-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb (Contract): This attribute now applies to constants.
	(Set_Contract): This attribute now applies to constants.
	(Write_Field34_Name): Add output for constants.
	* einfo.ads Attribute Contract now applies to constants.
	* sem_ch3.adb (Analyze_Object_Contract): Constants now have
	their Part_Of indicator verified.
	* sem_prag.adb (Analyze_Constituent): A constant is now a valid
	constituent.
	(Analyze_Global_Item): A constant cannot act as an output.
	(Analyze_Initialization_Item): Constants are now a valid
	initialization item.
	(Analyze_Initializes_In_Decl_Part): Rename
	global variable States_And_Vars to States_And_Objs and update
	all its occurrences.
	(Analyze_Input_Item): Constants are now a
	valid initialization item. Remove SPARM RM references from error
	messages.
	(Analyze_Pragma): Indicator Part_Of can now apply to a constant.
	(Collect_Body_States): Collect both source constants
	and variables.
	(Collect_States_And_Objects): Collect both source constants and
	variables.
	(Collect_States_And_Variables): Rename
	to Collect_States_And_Objects and update all its occurrences.
	(Collect_Visible_States): Do not collect constants and variables
	used to map generic formals to actuals.
	(Find_Role): The role of a constant is that of an input. Separate the
	role of a variable from that of a constant.
	(Report_Unused_Constituents): Add specialized wording for constants.
	(Report_Unused_States): Add specialized wording for constants.
	* sem_util.adb (Add_Contract_Item): Add processing for constants.
	* sem_util.ads (Add_Contract_Item): Update the comment on usage.
	(Find_Placement_In_State_Space): Update the comment on usage.

From-SVN: r223484
2015-05-21 15:26:51 +02:00
Richard Biener
5ba3ae6db5 re PR c++/66211 (Rvalue conversion in ternary operator causes internal compiler error)
2015-05-21  Richard Biener  <rguenther@suse.de>

	PR c++/66211
	* match.pd: Guard pattern optimzing (int)(float)int
	conversions to apply only on GIMPLE.

	* g++.dg/conversion/pr66211.C: New testcase.
	* gcc.dg/tree-ssa/forwprop-18.c: Adjust.

From-SVN: r223483
2015-05-21 13:23:41 +00:00
Arnaud Charlet
1ca46a7753 [multiple changes]
2015-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb: minor reformatting.

2015-05-21  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Entity): Properly tag -gnatw.z messages.

From-SVN: r223482
2015-05-21 15:12:18 +02:00
Jeff Law
a7a629d72f combine.c (find_split_point): Handle ASHIFT like MULT to encourage multiply-accumulate/shift-add insn generation.
* combine.c (find_split_point): Handle ASHIFT like MULT to encourage
	multiply-accumulate/shift-add insn generation.

	* gcc.target/hppa/shadd-2.c: New test.

From-SVN: r223481
2015-05-21 06:44:44 -06:00
Jeff Law
b47fbc5307 pa.c (pa_print_operand): New 'o' output modifier.
2015-05-20  Jeff Law  <law@redhat.com>

	* config/pa/pa.c (pa_print_operand): New 'o' output modifier.
	(pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
	(pa_shadd_constant_p): Allow constants for shadd insns rather
	than valid scaling constants for memory addresses.
	* config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
	* config/pa/predicates.md (mem_shadd_operand): New predicate.
	* config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
	(shift-add insns using ASHIFT): New patterns.

	* gcc.target/hppa/hppa.exp: New target test driver.
	* gcc.target/hppa/shadd-1.c: New test.

From-SVN: r223480
2015-05-21 06:44:35 -06:00
Oleg Endo
0daff5e0c8 re PR target/54236 ([SH] Improve addc and subc insn utilization)
gcc/
	PR target/54236
	* config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
	operands[1] are the same.

gcc/testsuite/
	PR target/54236
	* gcc.target/sh/pr54236-2.c: Fix typo in comment.

From-SVN: r223479
2015-05-21 12:36:35 +00:00
Arnaud Charlet
cad9733944 [multiple changes]
2015-05-21  Robert Dewar  <dewar@adacore.com>

	* freeze.adb: Minor reformatting.
	* cstand.adb (Print_Standard): Fix bad printing of Duration
	low bound.
	* a-reatim.adb (Time_Of): Complete rewrite to properly detect
	out of range args.

2015-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb: add (useless) initial value.
	* sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram):
	Check whether the procedure has parameters before processing
	formals in ASIS mode.

From-SVN: r223477
2015-05-21 12:51:22 +02:00
Arnaud Charlet
cc68dfe2e8 Minor reformatting.
From-SVN: r223476
2015-05-21 12:47:50 +02:00
Ed Schonberg
4f2cae4a92 sem_ch13.adb (Check_Iterator_Functions): Emit error on Iterator aspect as well when indexing function is illegal.
2015-05-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Check_Iterator_Functions): Emit error on Iterator
	aspect as well when indexing function is illegal.
	(Valid_Default_Iterator): Handle properly somme illegal cases
	to prevent compilation abandoned messages.
	(Check_Primitive_Function): Verify that type and indexing function
	are in the same scope.
	* freeze.adb (Freeze_Record): Extend patch on the presence of
	indexing aspects to aspect Default_Iterator.

From-SVN: r223475
2015-05-21 12:47:34 +02:00
Ramana Radhakrishnan
c8faa0f904 re PR target/26702 (.size is not emitted for BSS variables)
Fix PR target/26702

For Kwok Cheung Yeung.

From-SVN: r223473
2015-05-21 09:23:14 +00:00
Ilya Enkovich
551dc3008c re PR middle-end/66221 (lto1: error: type variant has different TYPE_ARG_TYPES)
gcc/

	PR middle-end/66221
	* ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
	build_distinct_type_copy to copy bounds.

gcc/testsuite/

	PR middle-end/66221
	* gcc.dg/lto/pr66221_0.c: New test.
	* gcc.dg/lto/pr66221_1.c: New test.

From-SVN: r223471
2015-05-21 08:32:52 +00:00
Manuel López-Ibáñez
0fee2ac288 re PR c/52952 (Wformat location info is bad (wrong column number))
gcc/testsuite/ChangeLog:

2015-05-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/52952
	* gcc.dg/redecl-4.c: Update column numbers.
	* gcc.dg/format/bitfld-1.c: Likewise.
	* gcc.dg/format/attr-2.c: Likewise.
	* gcc.dg/format/attr-6.c: Likewise.
	* gcc.dg/format/attr-7.c (baz): Likewise.
	* gcc.dg/format/asm_fprintf-1.c: Likewise.
	* gcc.dg/format/attr-4.c: Likewise.
	* gcc.dg/format/branch-1.c: Likewise.
	* gcc.dg/format/c90-printf-1.c: Likewise. Add tests for column
	locations within strings with embedded escape sequences.

gcc/c-family/ChangeLog:

2015-05-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	
	PR c/52952
	* c-format.c (location_column_from_byte_offset): New.
	(location_from_offset): New.
	(struct format_wanted_type): Add offset_loc field.
	(check_format_info): Move handling of location for extra arguments
	closer to the point of warning.
	(check_format_info_main): Pass the result of location_from_offset
	to warning_at.
	(format_type_warning): Pass the result of location_from_offset
	to warning_at.

From-SVN: r223470
2015-05-21 06:49:38 +00:00
Thomas Schwinge
a4f238b6d7 genrecog: Address -Wsign-compare diagnostics.
g++-4.6 [...] [...]/gcc/genrecog.c
    [...]/gcc/genrecog.c: In function 'state_size find_subroutines(routine_type, state*, vec<state*>&)':
    [...]/gcc/genrecog.c:3338:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    [...]/gcc/genrecog.c:3347:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    [...]/gcc/genrecog.c:3359:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    [...]/gcc/genrecog.c:3365:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

    3305   state_size size;
         [...]
    3337           state_size to_size = find_subroutines (type, trans->to, procs);
    3338           if (d->next && to_size.depth > MAX_DEPTH)
         [...]
    3347               if (to_size.num_statements < MIN_NUM_STATEMENTS)
         [...]
    3359   if (size.num_statements > MAX_NUM_STATEMENTS)
         [...]
    3365              && size.num_statements > MAX_NUM_STATEMENTS)

     175 static const int MAX_DEPTH = 6;
         [...]
     179 static const int MIN_NUM_STATEMENTS = 5;
         [...]
     185 static const int MAX_NUM_STATEMENTS = 200;
         [...]
    3258 struct state_size
    3259 {
         [...]
    3261   unsigned int num_statements;
         [...]
    3265   unsigned int depth;
    3266 };

	gcc/
	* genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
	Change to unsigned int.

From-SVN: r223469
2015-05-21 08:46:55 +02:00
GCC Administrator
965566df89 Daily bump.
From-SVN: r223468
2015-05-21 00:16:15 +00:00
Alan Modra
3dafb2207e re PR libgcc/66225 (libgcc/config/rs6000/morecore.S will not build on systems with an older assembler)
PR libgcc/66225
	* config/rs6000/morestack.S: Remove ".abiversion 1".

From-SVN: r223464
2015-05-21 09:25:08 +09:30
Jason Merrill
226a93b7b7 pt.c (tsubst_decl): SET_DECL_IMPLICIT_INSTANTIATION before register_specialization.
* pt.c (tsubst_decl) [VAR_DECL]: SET_DECL_IMPLICIT_INSTANTIATION
	before register_specialization.

From-SVN: r223461
2015-05-20 17:32:52 -04:00
Jason Merrill
1210105350 decl.c (grok_op_properties): Don't complain about size_t placement delete here.
* decl.c (grok_op_properties): Don't complain about size_t
	placement delete here.
	* call.c (second_parm_is_size_t): Split out from...
	(non_placement_deallocation_fn_p): ...here.
	(build_op_delete_call): Warn about size_t placement delete with
	-Wc++14-compat.

From-SVN: r223460
2015-05-20 17:32:46 -04:00
François Dumont
fa5cc2db54 formatter.h (_GLIBCXX_TYPEID): New macro to simplify usage of typeid.
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
2015-05-20 19:44:25 +00:00
Mikhail Maltsev
1476d1bd02 Promote types of RTL expressions to more derived ones.
* 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
2015-05-20 19:39:42 +00:00
François Dumont
fd2ef11714 2015-05-20 François Dumont <fdumont@gcc.gnu.org>
* 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
2015-05-20 19:02:22 +00:00
Max Filippov
91767ed11a 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
2015-05-20 18:56:14 +00:00
Alex Velenko
eb3243e854 thumb1-far-jump-2.c (r4): Added int in definition.
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
2015-05-20 18:04:41 +00:00
Jonathan Wakely
7769c9deff * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
From-SVN: r223450
2015-05-20 18:28:04 +01:00
Jonathan Wakely
793cac74e9 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
2015-05-20 18:11:03 +01:00
Jeff Law
2b3ac48e4c tree-ssa-threadupdate.c (mark_threaded_blocks): Properly dispose of the jump thread path when...
* tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
        dispose of the jump thread path when the jump threading
        opportunity is cancelled.

From-SVN: r223448
2015-05-20 10:36:30 -06:00
David Malcolm
c3a630ce3e -Wmisleading-indentation: Increase test coverage
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
2015-05-20 16:09:19 +00:00
Manuel López-Ibáñez
e4129dd0c9 diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error when printing the caret character.
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
2015-05-20 15:58:15 +00:00
Andre Vehreschild
db7ffcabaf re PR fortran/65548 (gfc_conv_procedure_call)
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
2015-05-20 16:56:47 +02:00
Marek Polacek
cf4ef6f7d4 cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
* cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.

	* c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.

From-SVN: r223442
2015-05-20 11:47:18 +00:00
Marek Polacek
98209db3dc expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
* 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
2015-05-20 11:46:00 +00:00
Marek Polacek
3a65ee74e8 gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
* 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
2015-05-20 11:45:07 +00:00
Kyrylo Tkachov
7bd1191163 [AArch64][obvious] In aarch64_class_max_nregs use UNITS_PER_VREG and UNITS_PER_WORD
* config/aarch64/aarch64.c (aarch64_class_max_nregs):
	Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
	values.

From-SVN: r223439
2015-05-20 11:41:45 +00:00
Robert Suchanek
ba57dd12d0 Add missing declaration.
gcc/
	* config/mips/mips.h (micromips_globals): Declare.

From-SVN: r223438
2015-05-20 10:35:21 +00:00
Marek Polacek
21b634ae9b c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
* 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
2015-05-20 10:10:07 +00:00
David Malcolm
42242005dc Introduce TV_INITIALIZE_RTL
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
2015-05-20 09:23:36 +00:00
David Malcolm
c819ed29b3 libcpp: Eliminate most of the non-const/reference-returning inline fns
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
2015-05-20 09:13:19 +00:00
Ilya Enkovich
0ff4ddeb59 tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless gimple_build_nop calls.
* 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
2015-05-20 08:23:00 +00:00
Bin Cheng
a7e43c57fc re PR tree-optimization/65447 (AArch64: iv-opt causes bad addressing)
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
2015-05-20 05:15:56 +00:00
Kugan Vivekanandarajah
b6875aac2b aarch-common-protos.h (struct mem_cost_table): Added new fields loadv and storev.
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
2015-05-20 03:05:10 +00:00
Jeff Law
c725e7f87b tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread instead of open-coded version.
* 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
2015-05-19 20:21:29 -06:00
Nathan Sidwell
09b59d4de6 re PR c++/65954 (gcc segfaults on the following input with a syntax error)
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
2015-05-20 01:54:09 +00:00
Alan Modra
261640d521 rs6000.c (rs6000_emit_allocate_stack): Return stack adjusting insn.
* 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
2015-05-20 11:00:48 +09:30