Added __go_set_closure to runtime.def.
The nightmare begins: We need to maintain frontend expressions to call __go_set_closure, but the backend representation of functions is hard to describe in the frontend without a case-by-case analsysi. This is fine for things like bound method expressions, but for variable references, this is nightmare-ish.
	* tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
	BB's single pred and update the father loop's latch info later.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208527 138bc75d-0d04-0410-961f-82ee72b054a4
2014-03-12  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/38199
	* io/read.c (read_decimal): Quickly skip spaces to avoid calls
	to next_char.
	* io/unit.c (is_trim_ok): New helper function to check various
	conditions to see if its OK to trim the internal unit string.
	(get_internal_unit): Use LEN_TRIM to shorten selected internal
	unit strings for optimizing READ. Enable this optimization for
	formatted READ.
	* io/list_read.c (finish_list_read): Don't call eat_line for
	internal units.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208528 138bc75d-0d04-0410-961f-82ee72b054a4
	* ChangeLog: Fix whitespace.
	* testsuite/ChangeLog: Ditto.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208530 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/60486
	* config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
	calls of avr_out_plus_1.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208532 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/59025
	PR middle-end/60418
	* tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
	same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208535 138bc75d-0d04-0410-961f-82ee72b054a4
2014-03-13  Richard Biener  <rguenther@suse.de>

	* lib/lto.exp (lto-execute): Fix error catching for dg-final.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208536 138bc75d-0d04-0410-961f-82ee72b054a4
2014-03-13  Cesar Philippidis  <cesar@codesourcery.com>

	* lto-wrapper.c (maybe_unlink_file): Suppress diagnostic
	messages.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208537 138bc75d-0d04-0410-961f-82ee72b054a4
/cp
2014-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60254
	* semantics.c (finish_static_assert): Call cxx_constant_value only
	if require_potential_rvalue_constant_expression returns true.

/testsuite
2014-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60254
	* g++.dg/cpp0x/static_assert10.C: New.
	* g++.dg/cpp0x/static_assert11.C: Likewise.
	* g++.dg/cpp0x/static_assert3.C: Adjust.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208538 138bc75d-0d04-0410-961f-82ee72b054a4
	PR ada/51483
	* cstand.adb (Register_Float_Type): Add 'precision' parameter and use
	it to set the RM size.  Use directly 'size' for the Esize.
	(Create_Back_End_Float_Types): Adjust call to above.
	* get_targ.ads (Register_Type_Proc): Add 'precision' parameter.
	* set_targ.ads (FPT_Mode_Entry): Add 'precision' component.
	(Write_Target_Dependent_Values): Adjust comment.
	* set_targ.adb (Register_Float_Type): Add 'precision' parameter and
	deal with it.
	(Write_Target_Dependent_Values): Write the precision in lieu of size.
	(Initialization): Read the precision in lieu of size and compute the
	size from the precision and the alignment.
	* gcc-interface/gigi.h (enumerate_modes): Add integer parameter.
	* gcc-interface/misc.c (enumerate_modes): Likewise.  Do not register
	types for vector modes, pass the size in addition to the precision.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208546 138bc75d-0d04-0410-961f-82ee72b054a4
2014-03-13  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/57189
	* lra-constraints.c (process_alt_operands): Disfavor spilling
	vector pseudos.

2014-03-13  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/57189
	* gcc.target/i386/pr57189.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208549 138bc75d-0d04-0410-961f-82ee72b054a4
/cp
2014-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60383
	* pt.c (maybe_process_partial_specialization): Check return value
	of check_specialization_namespace.

/testsuite
2014-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60383
	* g++.dg/template/crash118.C: New.
	* g++.dg/template/crash95.C: Adjust.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208550 138bc75d-0d04-0410-961f-82ee72b054a4
	PR rtl-optimization/57320
	* function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
	the CFG after thread_prologue_and_epilogue_insns.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208551 138bc75d-0d04-0410-961f-82ee72b054a4
	* regex.c (bzero) [!_LIBC]: Define without coma expression.
	(regerror): Cast the call to memcpy to (void) to avoid unused
	value warnings.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208553 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/59779
	* tree-dfa.c (get_ref_base_and_extent): Use double_int
	type for bitsize and maxsize instead of HOST_WIDE_INT.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208554 138bc75d-0d04-0410-961f-82ee72b054a4
PR debug/60438

        * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
        (ix86_force_to_memory, ix86_free_from_memory): Remove.
        * config/i386/i386-protos.h: Likewise.
        * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
        in the expander instead of a splitter.
        (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
        any possibility of requiring a memory.
        (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
        (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
        (fp branch splitters): Update for ix86_split_fp_branch.
        (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
        (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
        (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
        (*fop_<MODEF>_2_i387): Remove f/r alternative.
        (*fop_<MODEF>_3_i387): Likewise.
        (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
        (splitters for the fop_* register patterns): Remove.
        (fscalexf4_i387): Rename from *fscalexf4_i387.
        (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208556 138bc75d-0d04-0410-961f-82ee72b054a4
	PR middle-end/36282
	* c-pragma.c (apply_pragma_weak): Only look at
	TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
	DECL_ASSEMBLER_NAME_SET_P (decl).
	(maybe_apply_pending_pragma_weaks): Exit early if
	vec_safe_is_empty (pending_weaks) rather than only when
	!pending_weaks.
	(maybe_apply_pragma_weak): Likewise.  If !DECL_ASSEMBLER_NAME_SET_P,
	set assembler name back to NULL afterwards.

	* c-c++-common/pr36282-1.c: New test.
	* c-c++-common/pr36282-2.c: New test.
	* c-c++-common/pr36282-3.c: New test.
	* c-c++-common/pr36282-4.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208557 138bc75d-0d04-0410-961f-82ee72b054a4
	* regex.c (bzero) [!_LIBC]: Cast the call to memcpy to (void).


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208558 138bc75d-0d04-0410-961f-82ee72b054a4
Fixed non-interface method function code.