2014-04-25  Marc Glisse  <marc.glisse@inria.fr>

	PR preprocessor/56540
	* config/i386/i386-c.c (ix86_target_macros): Define
	__SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209789 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/60941
	* config/sparc/sparc.md (ashlsi3_extend): Delete.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209790 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c/60114
c/
	* c-parser.c (c_parser_initelt): Pass input_location to
	process_init_element.
	(c_parser_initval): Pass loc to process_init_element.
	* c-tree.h (process_init_element): Adjust declaration.
	* c-typeck.c (push_init_level): Pass input_location to
	process_init_element.
	(pop_init_level): Likewise.
	(set_designator): Likewise.
	(output_init_element): Add location_t parameter.  Pass loc to
	digest_init.
	(output_pending_init_elements): Pass input_location to
	output_init_element.
	(process_init_element): Add location_t parameter.  Pass loc to
	output_init_element.
testsuite/
	* gcc.dg/pr60114.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209794 138bc75d-0d04-0410-961f-82ee72b054a4
	* c-c++-common/gomp/pr60823-2.c: Require effective target
	vect_simd_clones.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209795 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c/18079
c/
	* c-decl.c (diagnose_mismatched_decls): Warn for mismatched
	always_inline/noinline and hot/cold attributes.
c-family/
	* c-common.c (handle_noinline_attribute): Warn if the attribute
	conflicts with always_inline attribute.
	(handle_always_inline_attribute): Warn if the attribute conflicts
	with noinline attribute.
testsuite/
	* gcc.dg/pr18079.c: New test.
	* gcc.dg/pr18079-2.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209796 138bc75d-0d04-0410-961f-82ee72b054a4
[ARM] Wrap long literals in HOST_WIDE_INT_C in aarch-common.c

       * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
       Use HOST_WIDE_INT_C for mask literal.
       (aarch_rev16_shleft_mask_imm_p): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209797 138bc75d-0d04-0410-961f-82ee72b054a4
Add implicit parameter to find_all_hard_reg_sets

2014-04-25  Radovan Obradovic  <robradovic@mips.com>
            Tom de Vries  <tom@codesourcery.com>

	* rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
	handle.
	* rtl.h (find_all_hard_reg_sets): Add bool parameter.
	* haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
	new argument to find_all_hard_reg_sets call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209798 138bc75d-0d04-0410-961f-82ee72b054a4
Register CALL_INSN_FUNCTION_USAGE in find_all_hard_reg_sets

2014-04-25  Tom de Vries  <tom@codesourcery.com>

	* rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
	clobbers.

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

2014-04-25  Tom de Vries  <tom@codesourcery.com>

	* expr.c (clobber_reg_mode): New function.
	* expr.h (clobber_reg): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209800 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.dg/pr18079-2.c: Fix quoting in dg-warning.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209801 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/60960
	* tree-vect-generic.c (expand_vector_operation): Only call
	expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.

	* gcc.c-torture/execute/pr60960.c: New test.


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

2014-04-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/60930
	* gimple-ssa-strength-reduction.c (create_mul_imm_cand):  Reject
	creating a multiply candidate by folding two constant
	multiplicands when the result overflows.

[gcc/testsuite]

2014-04-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/60930
	* gcc.dg/torture/pr60930.c:  New test.




git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209805 138bc75d-0d04-0410-961f-82ee72b054a4
[ARM] Initialise T16-related fields in Cortex-A8 tuning struct.

	* config/arm/arm.c (arm_cortex_a8_tune): Initialise
	T16-related fields.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209806 138bc75d-0d04-0410-961f-82ee72b054a4
	PR libstdc++/60958
	* include/tr1/regex (regex_traits::isctype): Comment out broken code.
	* testsuite/util/testsuite_regex.h (regex_match_debug): Improve
	comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209807 138bc75d-0d04-0410-961f-82ee72b054a4
[ARM] Enable tail call optimization for long call

gcc/

	* config/arm/predicates.md (call_insn_operand): Add long_call check.
	* config/arm/arm.md (sibcall, sibcall_value): Force the address to
	reg for long_call.
	* config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
	restriction.

gcc/testsuite

	* gcc.target/arm/tail-long-call.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209808 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-25  Lars Gullik Bjønnes  <larsbj@gullik.org>

	PR libstdc++/60710
	* include/experimental/optional (operator!=): Implement in terms of
	operator==.
	* testsuite/experimental/optional/relops/1.cc: Remove operator!=.
	* testsuite/experimental/optional/relops/2.cc: Likewise.
	* testsuite/experimental/optional/relops/3.cc: Likewise.
	* testsuite/experimental/optional/relops/4.cc: Likewise.
	* testsuite/experimental/optional/relops/5.cc: Likewise.
	* testsuite/experimental/optional/relops/6.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209810 138bc75d-0d04-0410-961f-82ee72b054a4
Set MODE to SI for alternative 12 in *movsf_internal

	PR target/60969
	* config/i386/i386.md (*movsf_internal): Set MODE to SI for
	alternative 12.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209811 138bc75d-0d04-0410-961f-82ee72b054a4
Fix a few ICEs and other problems with -fdebug-types-sections.

(1) If a function contains a local typedef of an anonymous structure, GCC
will generate a typedef DIE in the function, where the typedef DIE points
to a structure_type DIE at the top level.  That structure_type DIE, if
it's a non-POD, can contain ctor and dtor definitions.  This causes an
assertion in should_move_die_to_comdat to fail, as we have up to now
assumed that this could never happen.

(2) With --std=c++11, a template parameter can refer to a local type defined
within a function.  Because that local type doesn't qualify for its own
type unit, we copy it as an "unworthy" type into the type unit that refers
to it, but we copy too much, leading to a comdat type unit that contains a
DIE with subprogram definitions rather than declarations.  These DIEs may
have DW_AT_low_pc/high_pc or DW_AT_ranges attributes, and consequently can
refer to range list entries that don't get emitted because they're not
marked when the compile unit is scanned, eventually causing an undefined
symbol at link time.

(3) When a class template instantiation is moved into a separate type unit,
it can bring along a lot of other referenced types into the type unit,
especially if the template is derived from another (large) type that
does not have an actually have a type definition in a type unit of its
own. When there are many instantiations of the same template, we get
a lot of duplication, and in the worst case (a template with several
parameters, instantiated multiple times along each dimension), GCC
can end up taking a long time and exhausting available memory.

This combinatorial explosion is being caused by copy_decls_walk, where
it finds a type DIE that is referenced by the type unit, but is not
itself a type unit, and copies a declaration for that type into the
type unit in order to resolve the reference within the type unit.
In the process, copy_decls_walk also copies all of the children of
that DIE. In the case of a base class with member function templates,
every one of the instantiated member functions is copied into every
type unit that references the base class.

gcc/
        PR debug/60929
	* dwarf2out.c (should_move_die_to_comdat): A type definition
        can contain a subprogram definition, but don't move it to a
        comdat unit.
	(clone_as_declaration): Copy DW_AT_abstract_origin attribute.
        (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
        from original DIE.
	(clone_tree_hash): Rename to...
	(clone_tree_partial): ...this; change callers.  Copy
        DW_TAG_subprogram DIEs as declarations.
	(copy_decls_walk): Don't copy children of a declaration into a
        type unit.

gcc/testsuite/
        PR debug/60929
        * g++.dg/debug/dwarf2/dwarf4-nested.C: New test case.
        * g++.dg/debug/dwarf2/dwarf4-typedef.C: Add
        -fdebug-types-section flag.


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209818 138bc75d-0d04-0410-961f-82ee72b054a4
compiler: Use backend interface for defining global declarations.

	* go-gcc.cc: Include "cgraph.h" and "gimplify.h".
	(Gcc_backend::return_statement): Push and pop function.
	(Gcc_backend::label): Likewise.
	(Gcc_backend::function_defer_statement): Likewise.
	(Gcc_backend::switch_statement): Add function parameter.
	(Gcc_backend::block): Don't permit function to be NULL.
	(Gcc_backend::temporary_variable): Change go_assert to
	gcc_assert.
	(Gcc_backend::gc_root_variable): New function.
	(Gcc_backend::write_global_definitions): New function.


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