Commit Graph

132099 Commits

Author SHA1 Message Date
Bin Cheng 622dbadfab configure: Regenerated.
* configure: Regenerated.

	config/ChangeLog
	* isl.m4 (ISL_CHECK_VERSION): Check link of isl library
	for cross_compiling.

From-SVN: r214263
2014-08-21 09:35:52 +00:00
Marc Glisse 8cb65b3725 re PR tree-optimization/62112 (Optimize out malloc when block is unused or write-only)
2014-08-21  Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/62112
gcc/
	* gimple-iterator.c (gsi_replace): Return whether EH cleanup is needed.
	* gimple-iterator.h (gsi_replace): Return bool.
	* tree-ssa-alias.c (ref_may_alias_global_p_1): New helper, code
	moved from ref_may_alias_global_p.
	(ref_may_alias_global_p, refs_may_alias_p, ref_maybe_used_by_stmt_p):
	New overloads.
	(ref_maybe_used_by_call_p): Take ao_ref* instead of tree.
	(stmt_kills_ref_p_1): Rename...
	(stmt_kills_ref_p): ... to this.
	* tree-ssa-alias.h (ref_may_alias_global_p, ref_maybe_used_by_stmt_p,
	stmt_kills_ref_p): Declare.
	* tree-ssa-dse.c (dse_possible_dead_store_p): New argument, use it.
	Move the self-assignment case...
	(dse_optimize_stmt): ... here. Handle builtin calls. Remove dead code.
gcc/testsuite/
	* gcc.dg/tree-ssa/pr62112-1.c: New file.
	* gcc.dg/tree-ssa/pr62112-2.c: Likewise.
	* gcc.c-torture/execute/pr35472.c: Add noclone attribute.
	* gcc.c-torture/execute/20071219-1.c: Likewise.

From-SVN: r214262
2014-08-21 09:32:21 +00:00
Tony Wang 31879c2cc7 62154.cc: Disable when the target doesn't provide atomic builtins.
2014-08-21  Tony Wang  <tony.wang@arm.com>

    libstdc++-v3/
    * testsuite/18_support/nested_exception/62154.cc: Disable when the
    target doesn't provide atomic builtins.

From-SVN: r214261
2014-08-21 09:11:00 +00:00
David Malcolm 53f0468805 try_split returns an rtx_insn
2014-08-21  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (try_split): Strengthen return type from rtx to rtx_insn *.

	* emit-rtl.c (try_split): Likewise, also for locals "before" and
	"after".  For now, don't strengthen param "trial", which requires
	adding checked casts when returning it.

From-SVN: r214260
2014-08-21 08:53:25 +00:00
David Malcolm f630fc6ab0 Debug hooks: use rtx_insn and rtx_code_label
2014-08-21  David Malcolm  <dmalcolm@redhat.com>

	* debug.h (struct gcc_debug_hooks): Strengthen param 1 of hook
	"label" from rtx to rtx_code_label *.  Strengthen param 1 of
	"var_location" hook from rtx to rtx_insn *.
	(debug_nothing_rtx): Delete in favor of...
	(debug_nothing_rtx_code_label): New prototype.
	(debug_nothing_rtx_rtx): Delete unused prototype.
	(debug_nothing_rtx_insn): New prototype.

	* final.c (final_scan_insn): Add checked cast to rtx_insn * when
	invoking debug_hooks->var_location (in two places, one in a NOTE
	case of a switch statement, the other guarded by a CALL_P
	conditional.  Add checked cast to rtx_code_label * when invoking
	debug_hooks->label (within CODE_LABEL case of switch statement).

	* dbxout.c (dbx_debug_hooks): Update "label" hook from
	debug_nothing_rtx to debug_nothing_rtx_code_label.  Update
	"var_location" from debug_nothing_rtx to debug_nothing_rtx_insn.
	(xcoff_debug_hooks): Likewise.
	* debug.c (do_nothing_debug_hooks): Likewise.
	(debug_nothing_rtx): Delete in favor of...
	(debug_nothing_rtx_insn): New function.
	(debug_nothing_rtx_rtx): Delete unused function.
	(debug_nothing_rtx_code_label): New function.
	* dwarf2out.c (dwarf2_debug_hooks): Update "label" hook from
	debug_nothing_rtx to debug_nothing_rtx_code_label.
	(dwarf2out_var_location): Strengthen param "loc_note" from rtx
	to rtx_insn *.
	* sdbout.c (sdb_debug_hooks): Update "var_location" hook from
	debug_nothing_rtx to debug_nothing_rtx_insn.
	(sdbout_label): Strengthen param "insn" from rtx to
	rtx_code_label *.
	* vmsdbgout.c (vmsdbg_debug_hooks): Update "label" hook from
	debug_nothing_rtx to debug_nothing_rtx_code_label.  Update
	"var_location" hook from debug_nothing_rtx to
	debug_nothing_rtx_insn.

From-SVN: r214259
2014-08-21 08:20:43 +00:00
David Malcolm 95770ca320 Use rtx_insn internally within generated functions
2014-08-21  David Malcolm  <dmalcolm@redhat.com>

	* recog.h (insn_output_fn): Update this function typedef to match
	the changes below to the generated output functions, strengthening
	the 2nd param from rtx to rtx_insn *.

	* final.c (get_insn_template): Add a checked cast to rtx_insn * on
	insn when invoking an output function, to match the new signature
	of insn_output_fn with a stronger second param.

	* genconditions.c (write_header): In the generated code for
	gencondmd.c, strengthen the global "insn" from rtx to rtx_insn *
	to match the other changes in this patch.

	* genemit.c (gen_split): Strengthen the 1st param "curr_insn" of
	the generated "gen_" functions from rtx to rtx_insn * within their
	implementations.

	* genrecog.c (write_subroutine): Strengthen the 2nd param "insn" of
	the subfunctions within the generated "recog_", "split", "peephole2"
	function trees from rtx to rtx_insn *.  For now, the top-level
	generated functions ("recog", "split", "peephole2") continue to
	take a plain rtx for "insn", to avoid introducing dependencies on
	other patches.  Rename this 2nd param from "insn" to
	"uncast_insn", and reintroduce "insn" as a local variable of type
	rtx_insn *, initialized at the top of the generated function with
	a checked cast on "uncast_insn".
	(make_insn_sequence): Strengthen the 1st param "curr_insn" of
	the generated "gen_" functions from rtx to rtx_insn * within their
	prototypes.

	* genoutput.c (process_template): Strengthen the 2nd param within
	the generated "output_" functions "insn" from rtx to rtx_insn *.

From-SVN: r214257
2014-08-21 07:49:28 +00:00
Jan Hubicka 07db0f9bb3 tree-profile.c (tree_profiling): Skip external functions when doing coverage instrumentation.
* tree-profile.c (tree_profiling): Skip external functions
	when doing coverage instrumentation.
	* cgraphunit.c (compile): Do not assert that all nodes are reachable.

	* gcc.dg/ipa/ctor-empty-1.c: Update template.

From-SVN: r214256
2014-08-21 06:18:48 +00:00
Bill Schmidt 65fa79c3db altivec.h (vec_cpsgn): New #define.
[gcc]

2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/altivec.h (vec_cpsgn): New #define.
	(vec_mergee): Likewise.
	(vec_mergeo): Likewise.
	(vec_cntlz): Likewise.
	* config/rs600/rs6000-c.c (altivec_overloaded_builtins): Add new
	entries for VEC_AND, VEC_ANDC, VEC_MERGEH, VEC_MERGEL, VEC_NOR,
	VEC_OR, VEC_PACKSU, VEC_XOR, VEC_PERM, VEC_SEL, VEC_VCMPGT_P,
	VMRGEW, and VMRGOW.
	* doc/extend.texi: Document various forms of vec_cpsgn,
	vec_splats, vec_and, vec_andc, vec_mergeh, vec_mergel, vec_nor,
	vec_or, vec_perm, vec_sel, vec_sub, vec_xor, vec_all_eq,
	vec_all_ge, vec_all_gt, vec_all_le, vec_all_lt, vec_all_ne,
	vec_any_eq, vec_any_ge, vec_any_gt, vec_any_le, vec_any_lt,
	vec_any_ne, vec_mergee, vec_mergeo, vec_packsu, and vec_cntlz.

[gcc/testsuite]

2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* testsuite/gcc.target/powerpc/builtins-1.c: New test.

From-SVN: r214255
2014-08-21 02:00:51 +00:00
Bill Schmidt 6fa6eb3544 rs6000.c (context.h): New include.
[gcc]

2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (context.h): New include.
	(tree-pass.h): Likewise.
	(make_pass_analyze_swaps): New decl.
	(rs6000_option_override): Register pass_analyze_swaps.
	(swap_web_entry): New subsclass of web_entry_base (df.h).
	(special_handling_values): New enum.
	(union_defs): New function.
	(union_uses): Likewise.
	(insn_is_load_p): Likewise.
	(insn_is_store_p): Likewise.
	(insn_is_swap_p): Likewise.
	(rtx_is_swappable_p): Likewise.
	(insn_is_swappable_p): Likewise.
	(chain_purpose): New enum.
	(chain_contains_only_swaps): New function.
	(mark_swaps_for_removal): Likewise.
	(swap_const_vector_halves): Likewise.
	(adjust_subreg_index): Likewise.
	(permute_load): Likewise.
	(permute_store): Likewise.
	(handle_special_swappables): Likewise.
	(replace_swap_with_copy): Likewise.
	(dump_swap_insn_table): Likewise.
	(rs6000_analyze_swaps): Likewise.
	(pass_data_analyze_swaps): New pass_data.
	(pass_analyze_swaps): New rtl_opt_pass.
	(make_pass_analyze_swaps): New function.
	* config/rs6000/rs6000.opt (moptimize-swaps): New option.

[gcc/testsuite]

2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/swaps-p8-1.c: New test.
	* gcc.target/powerpc/swaps-p8-2.c: New test.
	* gcc.target/powerpc/swaps-p8-3.c: New test.
	* gcc.target/powerpc/swaps-p8-4.c: New test.
	* gcc.target/powerpc/swaps-p8-5.c: New test.
	* gcc.target/powerpc/swaps-p8-6.c: New test.
	* gcc.target/powerpc/swaps-p8-7.c: New test.
	* gcc.target/powerpc/swaps-p8-8.c: New test.
	* gcc.target/powerpc/swaps-p8-9.c: New test.
	* gcc.target/powerpc/swaps-p8-10.c: New test.
	* gcc.target/powerpc/swaps-p8-11.c: New test.
	* gcc.target/powerpc/swaps-p8-12.c: New test.

From-SVN: r214254
2014-08-21 01:56:41 +00:00
David Malcolm 9c068b732c create_insn_rtx_from_pattern and create_copy_of_insn_rtx return rtx_insn
2014-08-21  David Malcolm  <dmalcolm@redhat.com>

	* sel-sched-ir.h (create_insn_rtx_from_pattern): Strengthen return
	type from rtx to rtx_insn *.
	(create_copy_of_insn_rtx): Likewise.
	* sel-sched-ir.c (create_insn_rtx_from_pattern): Likewise.
	(create_copy_of_insn_rtx): Likewise, also for local "res".

From-SVN: r214253
2014-08-21 01:06:33 +00:00
David Malcolm 62fc98cc67 find_first_parameter_load returns an rtx_insn
2014-08-21  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (find_first_parameter_load): Strengthen return type from
	rtx to rtx_insn *.
	* rtlanal.c (find_first_parameter_load): Strengthen return type
	from rtx to rtx_insn *.  Add checked cast for now, to postpone
	strengthening the params.

From-SVN: r214252
2014-08-21 00:59:41 +00:00
Manuel López-Ibáñez fbecdc8382 re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)
gcc/ChangeLog:

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

	PR fortran/44054
	* diagnostic.c: Set default caret.
	(diagnostic_show_locus): Use it. Tell pretty-printer that a new
	line is needed.
	* diagnostic.h (struct diagnostic_context):


gcc/fortran/ChangeLog:

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

	PR fortran/44054
	* error.c (gfc_diagnostic_build_locus_prefix): New function.
	(gfc_diagnostic_starter): Follow Fortran FE diagnostics.
	(gfc_diagnostic_finalizer): Do not call default finalizer.

From-SVN: r214251
2014-08-21 00:27:25 +00:00
GCC Administrator ecda22b23d Daily bump.
From-SVN: r214250
2014-08-21 00:16:52 +00:00
David Malcolm c5db54583f sel_bb_{head|end} return rtx_insn
2014-08-21  David Malcolm  <dmalcolm@redhat.com>

	* sel-sched-ir.h (exit_insn): Strengthen from rtx to rtx_insn *.
	(sel_bb_head): Strengthen return type insn_t (currently just an
	rtx) to rtx_insn *.
	(sel_bb_end): Likewise.

	* sel-sched-ir.c (exit_insn): Strengthen from rtx to rtx_insn *.
	(sel_bb_head): Strengthen return type and local "head" from
	insn_t (currently just an rtx) to rtx_insn *.
	(sel_bb_end): Likewise for return type.
	(free_nop_and_exit_insns): Replace use of NULL_RTX with NULL when
	working with insn.

From-SVN: r214247
2014-08-21 00:07:16 +00:00
David Malcolm 636eb204a4 get_last_bb_insn returns an rtx_insn
2014-08-21  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (get_last_bb_insn): Strengthen return type from
	rtx to rtx_insn *.
	* cfgrtl.c (get_last_bb_insn): Likewise, and for locals "tmp" and
	end".

From-SVN: r214246
2014-08-20 23:59:49 +00:00
Manuel López-Ibáñez 18767f6502 re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)
gcc/ChangeLog:

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

	PR fortran/44054
	* diagnostic.c (default_diagnostic_finalizer): Move caret printing
	 to here ...
	(diagnostic_report_diagnostic): ... from here.
	* toplev.c (general_init): Move code to c-family.

gcc/cp/ChangeLog:

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

	PR fortran/44054
	* error.c (cp_diagnostic_finalizer): Delete.
	(init_error): Do not set diagnostic_finalizer here.

gcc/c-family/ChangeLog:

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

	PR fortran/44054
	* c-opts.c: Include tree-diagnostics.h.
	(c_diagnostic_finalizer): New.
	(c_common_initialize_diagnostics): Use it.

gcc/fortran/ChangeLog:

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

	PR fortran/44054
	* error.c (gfc_diagnostic_finalizer): Call default finalizer.

From-SVN: r214245
2014-08-20 23:07:29 +00:00
Bill Schmidt 22e6bd6f6c df.h (web_entry_base): Replace existing struct web_entry with a new class web_entry_base with only the...
2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* df.h (web_entry_base): Replace existing struct web_entry with a
	new class web_entry_base with only the predecessor member.
	(unionfind_root): Remove declaration and move to class member.
	(unionfind_union): Remove declaration and move to friend
	function.
	(union_defs): Remove declaration.
	* web.c (web_entry_base::unionfind_root): Modify to be member
	function and adjust accessors.
	(unionfind_union): Modify to be friend function and adjust
	accessors.
	(web_entry): New subclass of web_entry_base containing the reg
	member.
	(union_match_dups): Modify for struct -> class changes.
	(union_defs): Likewise.
	(entry_register): Likewise.
	(pass_web::execute): Likewise.

From-SVN: r214242
2014-08-20 20:11:53 +00:00
Jan Hubicka cffe22c52a * g++.dg/ipa/devirt-37.C: Fix testcase.
From-SVN: r214240
2014-08-20 18:32:10 +00:00
Bill Schmidt 6800aaee5f rs6000-c.c (rs6000_cpu_cpp_builtins): Provide builtin define __VEC_ELEMENT_REG_ORDER__.
2014-08-20  Bill Schmidt  <wschmidt@vnet.ibm.com>

	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Provide
	builtin define __VEC_ELEMENT_REG_ORDER__.

From-SVN: r214236
2014-08-20 16:59:45 +00:00
Wei Mi b7a95a1acf Miss to "svn add" test files in r214233 before commit.
From-SVN: r214234
2014-08-20 16:52:03 +00:00
Martin Jambor 58041fe6cf re PR lto/60449 (Merging function DECLs discards leaf attribute which causes cfg verifier to fail)
2014-08-20  Martin Jambor  <mjambor@suse.cz>
	    Wei Mi  <wmi@google.com>

	PR ipa/60449
	PR middle-end/61776
	* tree-ssa-operands.c (update_stmt_operands): Remove
	MODIFIED_NORETURN_CALLS.
	* tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): New func.
	(cleanup_control_flow_bb): Use cleanup_call_ctrl_altering_flag.
	(split_bb_on_noreturn_calls): Renamed from split_bbs_on_noreturn_calls.
	(cleanup_tree_cfg_1): Use split_bb_on_noreturn_calls.
	* tree-ssanames.h: Remove MODIFIED_NORETURN_CALLS.
	* gimple.h (enum gf_mask): Add GF_CALL_CTRL_ALTERING.
	(gimple_call_set_ctrl_altering): New func.
	(gimple_call_ctrl_altering_p): Ditto.
	* tree-cfg.c (gimple_call_initialize_ctrl_altering): Ditto.
	(make_blocks): Use gimple_call_initialize_ctrl_altering.
	(is_ctrl_altering_stmt): Use gimple_call_ctrl_altering_p.
	(execute_fixup_cfg): Use gimple_call_ctrl_altering_p and
	remove MODIFIED_NORETURN_CALLS.

2014-08-20  Martin Jambor  <mjambor@suse.cz>
	    Wei Mi  <wmi@google.com>

	PR ipa/60449
	PR middle-end/61776
	* testsuite/gcc.dg/lto/pr60449_1.c: New test.
	* testsuite/gcc.dg/lto/pr60449_0.c: New test.
	* testsuite/gcc.dg/pr61776.c: New test.


Co-Authored-By: Wei Mi <wmi@google.com>

From-SVN: r214233
2014-08-20 16:47:12 +00:00
Jan Hubicka 7e04426135 coverage.c (coverage_compute_profile_id): Return non-0; also handle symbols with unique name.
* coverage.c (coverage_compute_profile_id): Return non-0;
	also handle symbols with unique name.
	(coverage_end_function): Do not skip DECL_EXTERNAL functions.

From-SVN: r214232
2014-08-20 16:33:20 +00:00
Steven G. Kargl 0d43a91d22 re PR libfortran/62188 (Array bounds overrun in bessel_yn_r4/8/16 and other functions)
2014-08-20  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR libgfortran/62188
	* m4/bessel.m4: Avoid indexing off the end of an array.
	* generated/bessel_r10.c: Regenerated.
	* generated/bessel_r16.c: Ditto.
	* generated/bessel_r4.c: Ditto.
	* generated/bessel_r8.c: Ditto.

From-SVN: r214229
2014-08-20 16:18:27 +00:00
Steve Ellcey e8d8041d26 re PR middle-end/49191 (gcc.dg/memcpy-3.c FAILs on SPARC)
2014-08-20  Steve Ellcey  <sellcey@mips.com>

	PR middle-end/49191
	* lib/target-supports.exp (check_effective_target_non_strict_align):
	Add function description.

From-SVN: r214227
2014-08-20 15:57:42 +00:00
Steve Ellcey 94910f226c re PR middle-end/49191 (gcc.dg/memcpy-3.c FAILs on SPARC)
2014-08-20  Steve Ellcey  <sellcey@mips.com>

	PR middle-end/49191
	* doc/sourcebuild.texi (non_strict_align): New.

From-SVN: r214226
2014-08-20 15:56:45 +00:00
Jan Hubicka 8605403e2b cgraphunit.c (ipa_passes, compile): Reshedule symtab_remove_unreachable_nodes passes; update comments.
* cgraphunit.c (ipa_passes, compile): Reshedule
	symtab_remove_unreachable_nodes passes; update comments.
	* ipa-inline.c (pass_data_ipa_inline): Do not schedule
	TODO_remove_functions before the pass; the functions ought to be
	already removed.
	* ipa.c (pass_data_ipa_free_inline_summary): Enable dump; schedule
	TODO_remove_functions.
	* passes.c (pass_data_early_local_passes): Do not schedule function
	removal.
	(execute_one_pass): Fix call of symtab_remove_unreachable_nodes.

	* lto.c (read_cgraph_and_symbols): Fix symtab_remove_unreachable_nodes
	call.
	(do_whole_program_analysis): Only sanity check that IPA passes cleans up.

	* testsuite/g++.dg/ipa/devirt-17.C: Update template.
	* testsuite/g++.dg/ipa/devirt-16.C: Update template.

From-SVN: r214224
2014-08-20 13:55:06 +00:00
Manuel López-Ibáñez 3ba421e8be re PR c/59304 (#pragma diagnostic pop after warning fails for options unspecified in the command-line and disabled by default)
gcc/ChangeLog:

2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/59304
	* opts-common.c (set_option): Call diagnostic_classify_diagnostic
	before setting the option.
	* diagnostic.c (diagnostic_classify_diagnostic): Record
	command-line status.

gcc/testsuite/ChangeLog:

2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/59304
	* gcc.dg/pr59304.c: New test.

From-SVN: r214221
2014-08-20 12:48:16 +00:00
Mark Wielaard c84d88e45c gcc.dg/guality/restrict.c: Add `used' attribute to all variables.
From-SVN: r214219
2014-08-20 12:32:50 +00:00
Richard Biener 6cd87a2ea5 re PR lto/62190 (LTO DWARF produces __unknown__ type for unsigned int function argument type)
2014-08-20  Richard Biener  <rguenther@suse.de>

	PR lto/62190
	* tree.c (build_common_tree_nodes): Use make_or_reuse_type
	to build uint{16,32,64}_type_node.

From-SVN: r214216
2014-08-20 11:06:48 +00:00
Kyrylo Tkachov 0febb26e6e [testsuite] Mark tests unsupported when relocation truncation occurs on tiny memory targets
* lib/gcc-defs.exp (${tool}_check_unsupported_p):
	Return memory full when we have a tiny target and relocation
	truncation occurs.
	* lib/gcc-dg.exp (gcc-dg-prune): Likewise.
	* lib/objc.exp (${tool}_check_unsupported_p): Likewise.
	* lib/target-supports.exp (check_effective_target_tiny): New function.

From-SVN: r214215
2014-08-20 09:28:25 +00:00
Terry Guo a9442c7ac0 thumb1.md (64bit splitter): Replace const_double_operand with immediate_operand.
2014-08-20  Terry Guo  <terry.guo@arm.com>

        * config/arm/thumb1.md (64bit splitter): Replace const_double_operand
        with immediate_operand.

From-SVN: r214214
2014-08-20 09:26:46 +00:00
Joost VandeVondele 321bff11a3 options.c (gfc_init_options_struct): assert that the frontend sets flag_errno_math and flag_associative_math.
gcc/fortran/ChangeLog:

2014-08-20  Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>

	* options.c (gfc_init_options_struct): assert that the frontend sets
        flag_errno_math and flag_associative_math.

gcc/testsuite/ChangeLog:

2014-08-20  Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>

	* gfortran.dg/errnocheck_1.f90: New test.
	* gfortran.dg/associative_1.f90: New test.

From-SVN: r214211
2014-08-20 07:08:57 +00:00
Marek Polacek dd3ff077ef cpplib.h (cpp_options): Use signed char.
* include/cpplib.h (cpp_options): Use signed char.
	* lex.c (_cpp_lex_direct): Don't warn in C++ mode.

From-SVN: r214210
2014-08-20 04:12:58 +00:00
Jason Merrill 8714cbc5c7 re PR tree-optimization/62091 (ice in before_dom_children)
PR tree-optimization/62091
	* g++.dg/ipa/devirt-39.C: New.

From-SVN: r214209
2014-08-19 22:03:56 -04:00
David Malcolm 7351b44f25 Fix issue with NULL as_a in duplicate_insn_chain
2014-08-20  David Malcolm  <dmalcolm@redhat.com>

	* cfgrtl.c (duplicate_insn_chain): Convert the checked cast on
	"insn" from an as_a to a safe_as_a, for the case when "insn" is
	NULL.

From-SVN: r214207
2014-08-20 01:54:35 +00:00
GCC Administrator bb0ae1d6f2 Daily bump.
From-SVN: r214204
2014-08-20 00:16:34 +00:00
Manuel López-Ibáñez b44135942e re PR preprocessor/51303 (-Wmissing-include-dirs warnings reported as [enabled by default])
gcc/ChangeLog:

2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR preprocessor/51303
	* incpath.c (remove_duplicates): Use cpp_warning.

gcc/c-family/ChangeLog:

2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR preprocessor/51303
	* c-common.c (struct reason_option_codes_t option_codes):
	Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.

gcc/testsuite/ChangeLog:

2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR preprocessor/51303
	* gcc.dg/cpp/Wmissingdirs.c: Test for the warning option.

From-SVN: r214201
2014-08-19 22:52:02 +00:00
Manuel López-Ibáñez 43f9a13cee re PR preprocessor/60975 (-Wvariadic-macros does not print warning)
gcc/ChangeLog:

2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/60975
	PR c/53063
	* doc/options.texi (CPP): Document it.
	* doc/invoke.texi (Wvariadic-macros): Fix documentation.
	* optc-gen.awk: Handle CPP.
	* opth-gen.awk: Likewise.

gcc/c-family/ChangeLog:

2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/60975
	PR c/53063
	* c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
	* c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
	(c_common_post_options): Call init_global_opts_from_cpp.
	(sanitize_cpp_opts): Do not handle Wvariadic-macros here.

gcc/testsuite/ChangeLog:

2014-08-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/60975
	PR c/53063
	* gcc.dg/cpp/Wvariadic-1p.c: New test.

From-SVN: r214200
2014-08-19 22:37:49 +00:00
Janis Johnson cd0059f55f * lib/target-supports.exp
(check_effective_target_arm_v8_neon_ok_nocache): Add
	"-march-armv8-a" to compile flags.

From-SVN: r214198
2014-08-19 22:14:40 +00:00
David Malcolm a90c614ae3 Return types of unlink_insn_chain and duplicate_insn_chain
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (unlink_insn_chain): Strengthen return type from rtx to
	rtx_insn *.
	(duplicate_insn_chain): Likewise.
	* cfgrtl.c (unlink_insn_chain): Strengthen return type from rtx to
	rtx_insn *, also for locals "prevfirst" and "nextlast".  Add a
	checked cast for now (until we can strengthen the params in the
	same way).
	(duplicate_insn_chain): Likewise.

From-SVN: r214197
2014-08-19 21:22:25 +00:00
David Malcolm 75b46023e7 next_cc0_user and prev_cc0_setter scaffolding
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (next_cc0_user): Strengthen return type from rtx to
	rtx_insn *.
	(prev_cc0_setter): Likewise.

	* emit-rtl.c (next_cc0_user): Strengthen return type from rtx to
	rtx_insn *, adding checked casts for now as necessary.
	(prev_cc0_setter): Likewise.

From-SVN: r214196
2014-08-19 21:08:18 +00:00
David Malcolm f3222b793d emit_move et al return rtx_insn *
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* expr.h (emit_move_insn): Strengthen return type from rtx to
	rtx_insn *.
	(emit_move_insn_1): Likewise.
	(emit_move_complex_push): Likewise.
	(emit_move_complex_parts): Likewise.

	* expr.c (emit_move_via_integer): Strengthen return type from rtx
	to rtx_insn *.  Replace use of NULL_RTX with NULL when working
	with insns.
	(emit_move_complex_push): Strengthen return type from rtx to
	rtx_insn *.
	(emit_move_complex): Likewise, also for local "ret".
	(emit_move_ccmode): Likewise.
	(emit_move_multi_word): Likewise for return type and locals
	"last_insn", "seq".
	(emit_move_insn_1): Likewise for return type and locals "result",
	"ret".
	(emit_move_insn): Likewise for return type and local "last_insn".
	(compress_float_constant): Likewise.

From-SVN: r214195
2014-08-19 20:51:09 +00:00
David Malcolm cd459bf87c emit_* functions return rtx_insn
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* emit-rtl.h (emit_copy_of_insn_after): Strengthen return type
	from rtx to rtx_insn *.

	* rtl.h (emit_insn_before): Likewise.
	(emit_insn_before_noloc): Likewise.
	(emit_insn_before_setloc): Likewise.
	(emit_jump_insn_before): Likewise.
	(emit_jump_insn_before_noloc): Likewise.
	(emit_jump_insn_before_setloc): Likewise.
	(emit_call_insn_before): Likewise.
	(emit_call_insn_before_noloc): Likewise.
	(emit_call_insn_before_setloc): Likewise.
	(emit_debug_insn_before): Likewise.
	(emit_debug_insn_before_noloc): Likewise.
	(emit_debug_insn_before_setloc): Likewise.
	(emit_label_before): Likewise.
	(emit_insn_after): Likewise.
	(emit_insn_after_noloc): Likewise.
	(emit_insn_after_setloc): Likewise.
	(emit_jump_insn_after): Likewise.
	(emit_jump_insn_after_noloc): Likewise.
	(emit_jump_insn_after_setloc): Likewise.
	(emit_call_insn_after): Likewise.
	(emit_call_insn_after_noloc): Likewise.
	(emit_call_insn_after_setloc): Likewise.
	(emit_debug_insn_after): Likewise.
	(emit_debug_insn_after_noloc): Likewise.
	(emit_debug_insn_after_setloc): Likewise.
	(emit_label_after): Likewise.
	(emit_insn): Likewise.
	(emit_debug_insn): Likewise.
	(emit_jump_insn): Likewise.
	(emit_call_insn): Likewise.
	(emit_label): Likewise.
	(gen_clobber): Likewise.
	(emit_clobber): Likewise.
	(gen_use): Likewise.
	(emit_use): Likewise.
	(emit): Likewise.

	(emit_barrier_before): Strengthen return type from rtx to
	rtx_barrier *.
	(emit_barrier_after): Likewise.
	(emit_barrier): Likewise.

	* emit-rtl.c (emit_pattern_before_noloc):  Strengthen return type
	from rtx to rtx_insn *.  Add checked casts for now when converting
	"last" from rtx to rtx_insn *.
	(emit_insn_before_noloc): Likewise for return type.
	(emit_jump_insn_before_noloc): Likewise.
	(emit_call_insn_before_noloc): Likewise.
	(emit_debug_insn_before_noloc): Likewise.
	(emit_barrier_before): Strengthen return type and local "insn"
	from rtx to rtx_barrier *.
	(emit_label_before): Strengthen return type from rtx to
	rtx_insn *.  Add checked cast for now when returning param
	(emit_pattern_after_noloc): Strengthen return type from rtx to
	rtx_insn *.  Add checked casts for now when converting "last" from
	rtx to rtx_insn *.
	(emit_insn_after_noloc): Strengthen return type from rtx to
	rtx_insn *.
	(emit_jump_insn_after_noloc): Likewise.
	(emit_call_insn_after_noloc): Likewise.
	(emit_debug_insn_after_noloc): Likewise.
	(emit_barrier_after): Strengthen return type from rtx to
	rtx_barrier *.
	(emit_label_after): Strengthen return type from rtx to rtx_insn *.
	Add checked cast for now when converting "label" from rtx to
	rtx_insn *.
	(emit_pattern_after_setloc): Strengthen return type from rtx to
	rtx_insn *.  Add checked casts for now when converting "last" from
	rtx to rtx_insn *.
	(emit_pattern_after): Strengthen return type from rtx to
	rtx_insn *.
	(emit_insn_after_setloc): Likewise.
	(emit_insn_after): Likewise.
	(emit_jump_insn_after_setloc): Likewise.
	(emit_jump_insn_after): Likewise.
	(emit_call_insn_after_setloc): Likewise.
	(emit_call_insn_after): Likewise.
	(emit_debug_insn_after_setloc): Likewise.
	(emit_debug_insn_after): Likewise.
	(emit_pattern_before_setloc): Likewise.  Add checked casts for now
	when converting "last" from rtx to rtx_insn *.
	(emit_pattern_before): Strengthen return type from rtx to
	rtx_insn *.
	(emit_insn_before_setloc): Likewise.
	(emit_insn_before): Likewise.
	(emit_jump_insn_before_setloc): Likewise.
	(emit_jump_insn_before): Likewise.
	(emit_call_insn_before_setloc): Likewise.
	(emit_call_insn_before): Likewise.
	(emit_debug_insn_before_setloc): Likewise.
	(emit_debug_insn_before): Likewise.
	(emit_insn): Strengthen return type and locals "last", "insn",
	"next" from rtx to rtx_insn *.  Add checked cast to rtx_insn
	within cases where we know we have an insn.
	(emit_debug_insn): Likewise.
	(emit_jump_insn): Likewise.
	(emit_call_insn): Strengthen return type and local "insn" from rtx
	to rtx_insn *.
	(emit_label): Strengthen return type from rtx to rtx_insn *.  Add
	a checked cast to rtx_insn * for now on "label".
	(emit_barrier): Strengthen return type from rtx to rtx_barrier *.
	(emit_clobber): Strengthen return type from rtx to rtx_insn *.
	(emit_use): Likewise.
	(gen_use): Likewise, also for local "seq".
	(emit): Likewise for return type and local "insn".
	(rtx_insn): Likewise for return type and local "new_rtx".

	* cfgrtl.c (emit_barrier_after_bb): Strengthen local "barrier"
	from rtx to rtx_barrier *.

	* config/sh/sh.c (output_stack_adjust): Since emit_insn has
	changed return type from rtx to rtx_insn *, we must update
	"emit_fn" type, and this in turn means updating...
	(frame_insn): ...this.  Strengthen return type from rtx to
	rtx_insn *.  Introduce a new local "insn" of the appropriate type.

From-SVN: r214194
2014-08-19 20:36:20 +00:00
David Malcolm 4598afdd15 emit_jump_table_data returns an rtx_jump_table_data *
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* emit-rtl.c (emit_jump_table_data): Strengthen return type from
	rtx to rtx_jump_table_data *.  Also for local.
	* rtl.h (emit_jump_table_data): Likewise.

From-SVN: r214193
2014-08-19 20:22:09 +00:00
David Malcolm 66e8df5354 Convert various rtx to rtx_note *
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (create_basic_block_structure): Strengthen third
	param "bb_note" from rtx to rtx_note *.
	* rtl.h (emit_note_before): Strengthen return type from rtx to
	rtx_note *.
	(emit_note_after): Likewise.
	(emit_note): Likewise.
	(emit_note_copy): Likewise.  Also, strengthen param similarly.
	* function.h (struct rtl_data): Strengthen field
	"x_stack_check_probe_note" from rtx to rtx_note *.

	* cfgexpand.c (expand_gimple_basic_block): Strengthen local "note"
	from rtx to rtx_note *.
	* cfgrtl.c (create_basic_block_structure): Strengthen third param
	"bb_note" from rtx to rtx_note *.
	(duplicate_insn_chain): Likewise for local "last".  Add a checked cast
	when calling emit_note_copy.
	* emit-rtl.c (make_note_raw): Strengthen return type from rtx to
	rtx_note *.
	(emit_note_after): Likewise.
	(emit_note_before): Likewise.
	(emit_note_copy): Likewise.  Also, strengthen param similarly.
	(emit_note): Likewise.
	* except.c (emit_note_eh_region_end): Likewise for return type.
	Strengthen local "next" from rtx to rtx_insn *.
	(convert_to_eh_region_ranges): Strengthen local "note"
	from rtx to rtx_note *.
	* final.c (change_scope): Likewise.
	(reemit_insn_block_notes): Likewise, for both locals named "note".
	Also, strengthen local "insn" from rtx to rtx_insn *.
	* haifa-sched.c (sched_extend_bb): Strengthen local "note" from
	rtx to rtx_note *.
	* reg-stack.c (compensate_edge): Likewise for local "after". Also,
	strengthen local "seq" from rtx to rtx_insn *.
	* reload1.c (reload_as_needed): Strengthen local "marker" from rtx
	to rtx_note *.
	* sel-sched-ir.c (bb_note_pool): Strengthen from rtx_vec_t to
	vec<rtx_note *>.
	(get_bb_note_from_pool): Strengthen return type from rtx to
	rtx_note *.
	(sel_create_basic_block): Strengthen local "new_bb_note" from
	insn_t to rtx_note *.
	* var-tracking.c (emit_note_insn_var_location): Strengthen local
	"note" from rtx to rtx_note *.
	(emit_notes_in_bb): Likewise.

From-SVN: r214192
2014-08-19 20:08:20 +00:00
David Malcolm 7a688d527c rtl_data.x_parm_birth_insn is an insn
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* function.h (struct rtl_data): Strengthen field
	"x_parm_birth_insn" from rtx to rtx_insn *.
	* function.c (struct assign_parm_data_all): Strengthen fields
	"first_conversion_insn" and "last_conversion_insn" from rtx to
	rtx_insn *.

From-SVN: r214191
2014-08-19 19:57:18 +00:00
David Malcolm b47aae3668 cfgexpand.c: Use rtx_insn
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* cfgexpand.c (expand_used_vars): Strengthen return type from rtx
	to rtx_insn *; also for local "var_end_seq".
	(maybe_dump_rtl_for_gimple_stmt): Likewise for param "since".
	(maybe_cleanup_end_of_block): Likewise for param "last" and local
	"insn".
	(expand_gimple_cond): Likewise for locals "last2" and "last".
	(mark_transaction_restart_calls): Likewise for local "insn".
	(expand_gimple_stmt): Likewise for return type and locals "last"
	and "insn".
	(expand_gimple_tailcall): Likewise for locals "last2" and "last".
	(avoid_complex_debug_insns): Likewise for param "insn".
	(expand_debug_locations): Likewise for locals "insn", "last",
	"prev_insn" and "insn2".
	(expand_gimple_basic_block): Likewise for local "last".
	(construct_exit_block): Likewise for locals "head", "end",
	"orig_end".
	(pass_expand::execute): Likewise for locals "var_seq",
	"var_ret_seq", "next".

From-SVN: r214190
2014-08-19 19:52:55 +00:00
David Malcolm 3a4abd2f6c asan_emit_stack_protection returns an insn
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* asan.h (asan_emit_stack_protection): Strengthen return type from
	rtx to rtx_insn *.
	* asan.c (asan_emit_stack_protection): Likewise.  Add local
	"insns" to hold the return value.

From-SVN: r214189
2014-08-19 19:48:08 +00:00
David Malcolm ed27099755 bb_note returns a rtx_note *
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (bb_note): Strengthen return type from rtx to
	rtx_note *.
	* sched-int.h (bb_note): Likewise.
	* cfgrtl.c (bb_note): Likewise.  Add a checked cast to rtx_note *.

From-SVN: r214188
2014-08-19 19:43:08 +00:00
David Malcolm 167b9fae86 make_insn_raw returns an rtx_insn
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (make_insn_raw): Strengthen return type from rtx to
	rtx_insn *.

	* emit-rtl.c (make_insn_raw): Strengthen return type and local
	"insn" from rtx to rtx_insn *.
	(make_debug_insn_raw): Strengthen return type from rtx to
	rtx_insn *; strengthen local "insn" from rtx to rtx_debug_insn *.
	(make_jump_insn_raw):  Strengthen return type from rtx to
	rtx_insn *; strengthen local "insn" from rtx to rtx_jump_insn *.
	(make_call_insn_raw):  Strengthen return type from rtx to
	rtx_insn *; strengthen local "insn" from rtx to rtx_call_insn *.
	(emit_pattern_before_noloc): Strengthen return type of "make_raw"
	callback from rtx to rtx_insn *; likewise for local "insn" and
	"next", adding a checked cast to rtx_insn in the relevant cases of
	the switch statement.
	(emit_pattern_after_noloc): Strengthen return type of "make_raw"
	callback from rtx to rtx_insn *.
	(emit_pattern_after_setloc): Likewise.
	(emit_pattern_after): Likewise.
	(emit_pattern_before_setloc): Likewise.
	(emit_pattern_before): Likewise.

From-SVN: r214187
2014-08-19 19:38:12 +00:00