PR testsuite/59308
	* gcc.dg/pr46309.c: Don't compile on logical_op_short_circuit targets
	other than mips/avr.  Use -mbranch-cost=2 even for i?86/x86_64.
	* gcc.dg/tree-ssa/reassoc-32.c: Use -mbranch-cost=2 even for
	s390*/i?86/x86_64.
	* gcc.dg/tree-ssa/reassoc-33.c: Likewise.
	* gcc.dg/tree-ssa/reassoc-34.c: Likewise.
	* gcc.dg/tree-ssa/reassoc-35.c: Likewise.
	* gcc.dg/tree-ssa/reassoc-36.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: Don't compile on
	logical_op_short_circuit targets other than avr.  Use -mbranch-cost=2
	even for mips*/s390*/i?86/x86_64.
	* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: Likewise.
	* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208354 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208357 138bc75d-0d04-0410-961f-82ee72b054a4
[libstdc++,docs] After the latest batch of papers came out I updated the status docs.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208358 138bc75d-0d04-0410-961f-82ee72b054a4
PR debug/60381
Revert:
2014-02-28  Alexandre Oliva <aoliva@redhat.com>
PR debug/59992
* cselib.c (remove_useless_values): Skip to avoid quadratic
behavior if the condition moved from...
(cselib_process_insn): ... here holds.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208361 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/msp430/t-msp430 (LIB2ADD): Add lib2hw_mul.S
	* config/msp430/lib2hw_mul.S: New: Hardware multiply routines.


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

	* gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
	or -fno-lto is specified and the linker has full plugin support.
	* collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is
	enabled.
	(main): Remove -flto processing, adjust lto_mode using
	use_plugin late.
	* lto-wrapper.c (merge_and_complain): Merge compile-time
	optimization levels.
	(run_gcc): And pass it through to the link options.


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

	* parser.c (cp_lexer_set_source_position): New.
	(cp_parser_mem_initializer): Use it.
    	(cp_parser_postfix_open_square_expression): Likewise.
    	(cp_parser_parenthesized_expression_list): Likewise.
    	(cp_parser_new_initializer): Likewise.
    	(cp_parser_jump_statement): Likewise.
    	(cp_parser_initializer): Likewise.
    	(cp_parser_functional_cast): Likewise.


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

	PR middle-end/60445
	PR lto/60424
	PR lto/60427
	Revert
	2014-03-04  Paulo Matos  <paulo@matos-sorge.com>

        * tree-streamer.c (record_common_node): Assert we don't record
        nodes with type double.
        (preload_common_node): Skip type double, complex double and
        double pointer since it is now frontend dependent due to
        fshort-double option.

        * gcc.dg/lto/pr55113_0.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208379 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/58595
	* config/arm/arm.c (arm_tls_symbol_p): Remove.
	(arm_legitimize_address): Call legitimize_tls_address for any
	arm_tls_referenced_p expression, handle constant addend.  Call it
	before testing for !TARGET_ARM.
	(thumb_legitimize_address): Don't handle arm_tls_symbol_p here.

	* gcc.dg/tls/pr58595.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208380 138bc75d-0d04-0410-961f-82ee72b054a4
Don't install vtv_*.o unless --enable-vtable-verify (PR libgcc/59339)

	PR libgcc/59339
	* config.host (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu)
	(*-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Only add
	vtv_*.o to extra_parts if enable_vtable_verify.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208381 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c/60197
c-family/
	* cilk.c (contains_cilk_spawn_stmt): New function.
	(contains_cilk_spawn_stmt_walker): Likewise.
	(recognize_spawn): Give error on invalid use of _Cilk_spawn.
	* c-common.h (contains_cilk_spawn_stmt): Add declaration.
c/
	* c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
	of checking tree code.
cp/
	* typeck.c (check_return_expr): Call contains_cilk_spawn_stmt instead
	of checking tree code.
testsuite/
	* c-c++-common/cilk-plus/CK/pr60197.c: New test.
	* c-c++-common/cilk-plus/CK/pr60197-2.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208382 138bc75d-0d04-0410-961f-82ee72b054a4
2014-03-06  Matthias Klose  <doko@ubuntu.com>

        * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
        MULTILIB_OSDIRNAMES is not defined.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208383 138bc75d-0d04-0410-961f-82ee72b054a4
2014-03-06  Paul Thomas  <pault@gcc.gnu.org>
	    Janus Weil  <janus@gcc.gnu.org>

	PR fortran/51976
	* gfortran.h (symbol_attribute): Add deferred_parameter attribute.
	* primary.c (build_actual_constructor): It is not an error if
	a missing component has the deferred_parameter attribute;
	equally, if one is given a value, it is an error.
	* resolve.c (resolve_fl_derived0): Remove error for deferred
	character length components.  Add the hidden string length
	field to the structure. Give it the deferred_parameter
	attribute.
	* trans-array.c (duplicate_allocatable): Add a strlen field
	which is used as the element size if it is non-null.
	(gfc_duplicate_allocatable, gfc_copy_allocatable_data): Pass a
	NULL to the new argument in duplicate_allocatable.
	(structure_alloc_comps): Set the hidden string length as
	appropriate. Use it in calls to duplicate_allocatable.
	(gfc_alloc_allocatable_for_assignment): When a deferred length
	backend declaration is variable, use that; otherwise use the
	string length from the expression evaluation.
	* trans-expr.c (gfc_conv_component_ref): If this is a deferred
	character length component, the string length should have the
	value of the hidden string length field.
	(gfc_trans_subcomponent_assign): Set the hidden string length
	field for deferred character length components.  Allocate the
	necessary memory for the string.
	(alloc_scalar_allocatable_for_assignment): Same change as in
	gfc_alloc_allocatable_for_assignment above.
	* trans-stmt.c (gfc_trans_allocate): Likewise.
	* trans-intrinsic (size_of_string_in_bytes): Make non-static.
	* trans-types.c (gfc_get_derived_type): Set the tree type for
	a deferred character length component.
	* trans.c (gfc_deferred_strlen): New function.
	* trans.h (size_of_string_in_bytes,gfc_deferred_strlen): New prototypes.


2014-03-06  Paul Thomas  <pault@gcc.gnu.org>
	    Janus Weil  <janus@gcc.gnu.org>

	PR fortran/51976
	* gfortran.dg/deferred_type_component_1.f90 : New test.
	* gfortran.dg/deferred_type_component_2.f90 : New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208386 138bc75d-0d04-0410-961f-82ee72b054a4
compiler: Use backend interface for struct construction.
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208389 138bc75d-0d04-0410-961f-82ee72b054a4
Merge branch 'master' of https://github.com/mirrors/gcc
compiler: Use backend interface for struct construction.
runtime: Fix GC bug caused by Entersyscall modifying reg.

This patch fixes a rare but serious bug.  The Go garbage
collector only examines Go stacks.  When Go code calls a
function that is not written in Go, it first calls
syscall.Entersyscall.  Entersyscall records the position of
the Go stack pointer and saves a copy of all the registers.
If the garbage collector runs while the thread is executing
the non-Go code, the garbage collector fetches the stack
pointer and registers from the saved location.

Entersyscall saves the registers using the getcontext
function.  Unfortunately I didn't consider the possibility
that Entersyscall might itself change a register before
calling getcontext.  This only matters for callee-saved
registers, as caller-saved registers would be visible on the
saved stack.  And it only matters if Entersyscall is compiled
to save and modify a callee-saved register before it calls
getcontext.  And it only matters if a garbage collection
occurs while the non-Go code is executing.  And it only
matters if the only copy of a valid Go pointer happens to be
in the callee-saved register when Entersyscall is called.
When all those conditions are true, the Go pointer might get
collected incorrectly, leading to memory corruption.

This patch tries to avoid the problem by splitting
Entersyscall into two functions.  The first is a simple
function that just calls getcontext and then calls the rest of
Entersyscall.  This should fix the problem, provided the
simple Entersyscall function does not itself modify any
callee-saved registers before calling getcontext.  That seems
to be true on the systems I checked.  But since the argument
to getcontext is an offset from a TLS variable, it won't be
true on a system which needs to save callee-saved registers in
order to get the address of a TLS variable.  I don't know why
any system would work that way, but I don't know how to rule
it out.  I think that on any such system this will have to be
implemented in assembler.  I can't put the ucontext_t
structure on the stack, because this function can not split
stacks, and the ucontext_t structure is large enough that it
could cause a stack overflow.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208390 138bc75d-0d04-0410-961f-82ee72b054a4
runtime: Fix GC bug caused by Entersyscall modifying reg.
	* sort.c: New file.
	* stest.c: New file.
	* internal.h (backtrace_qsort): Declare.
	* dwarf.c (read_abbrevs): Call backtrace_qsort instead of qsort.
	(read_line_info, read_function_entry): Likewise.
	(read_function_info, build_dwarf_data): Likewise.
	* elf.c (elf_initialize_syminfo): Likewise.
	* Makefile.am (libbacktrace_la_SOURCES): Add sort.c.
	(stest_SOURCES, stest_LDADD): Define.
	(check_PROGRAMS): Add stest.


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