* g++.dg/ext/sync-4.C: Require sync_long_long_runtime support.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204383 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/58984
	* ipa-prop.c (ipa_load_from_parm_agg_1): Add SIZE_P argument,
	set *SIZE_P if non-NULL on success.
	(ipa_load_from_parm_agg, ipa_analyze_indirect_call_uses): Adjust
	callers.
	(ipcp_transform_function): Likewise.  Punt if size of access
	is different from TYPE_SIZE on v->value's type.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204385 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-05  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* tree-ssa-alias.h (ranges_overlap_p): Handle negative offsets.
	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Likewise.

gcc/testsuite/
	* gcc.dg/tree-ssa/alias-26.c: New file.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204388 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-05  Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/58958
gcc/
	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Use
	get_addr_base_and_unit_offset instead of get_ref_base_and_extent.

gcc/testsuite/
	* gcc.dg/tree-ssa/pr58958.c: New file.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204389 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/i386.c (ix86_float_exceptions_rounding_supported_p):
	New function.
	(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): Define.

c-family:
	* c-cppbuiltin.c (cpp_iec_559_value): Test
	flag_excess_precision_cmdline not flag_excess_precision.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204390 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-05  Richard Biener  <rguenther@suse.de>

	PR middle-end/58941
	* tree-dfa.c (get_ref_base_and_extent): Merge common code
	in MEM_REF and TARGET_MEM_REF handling.  Make sure to
	process trailing array detection before diving into the
	view-converted object (and possibly apply some extra offset).

	* gcc.dg/torture/pr58941.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204391 138bc75d-0d04-0410-961f-82ee72b054a4
don't try and free what must be a null vector when reserving 0 elements
in va_heap::reserve

2013-11-05  Trevor Saunders  <tsaunders@mozilla.com>

	* vec.c (vec_prefix::calculate_allocation): Don't try to handle the
	case of no prefix and reserving zero slots, because when that's the
	case we'll never get here.
	* vec.h (va_heap::reserve): Don't try and handle
	vec_prefix::calculate_allocation returning zero because that should
	never happen.

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

2013-11-05  Andrew MacLeod  <amacleod@redhat.com>

	* tree-outof-ssa.c (queue_phi_copy_p): Combine phi_ssa_name_p from 
	gimple.h and the rest of the condition in eliminate_build.
	(eliminate_build): Call new routine.
	* gimple.h (phi_ssa_name_p): Delete.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204393 138bc75d-0d04-0410-961f-82ee72b054a4
Don't use mode wider than Pmode for size in movmem/setmem

gcc/

	PR middle-end/58981
	* doc/md.texi (@code{movmem@var{m}}): Specify Pmode as mode of
	pattern, instead of word_mode.

	* expr.c (emit_block_move_via_movmem): Don't use mode wider than
	Pmode for size.
	(set_storage_via_setmem): Likewise.

gcc/testsuite/

	PR middle-end/58981
	* gcc.dg/pr58981.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204394 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/vector.md (vec_pack_sfix_trunc_v2df): Adjust for
	little endian.
	(vec_pack_ufix_trunc_v2df): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204395 138bc75d-0d04-0410-961f-82ee72b054a4
Disable libcilkrts when C++ is not used.

2013-11-04  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * configure.ac: Added libcilkrts to noconfig list when C++ is not
        supported.
        * configure: Regenerated.




git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204396 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58955
	* tree-loop-distribution.c (pg_add_dependence_edges): Fix
	edge direction.

	* gcc.dg/torture/pr58955-1.c: New testcase.
	* gcc.dg/torture/pr58955-2.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204398 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-05  Richard Biener  <rguenther@suse.de>

	PR ipa/58492
	* passes.def (all_passes): Start with pass_fixup_cfg again.

	* gcc.dg/ipa/pr58492.c: New testcase.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204399 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-05  Paolo Carlini  <paolo.carlini@oracle.com>
	
	PR c++/58724
	* doc/extend.texi [visibility ("visibility_type")]: Add example
	about visibility attribute on namespace declaration.

/cp
2013-11-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58724
	* name-lookup.c (handle_namespace_attrs): Use get_attribute_name.

/testsuite
2013-11-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58724
	* g++.dg/cpp0x/gen-attrs-56.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204401 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/experimental/optional: Use __and_<> and __not_<> in
	conditions. Style fixes.
	(__constexpr_addressof, swap): Make inline.
	* testsuite/experimental/optional/cons/copy.cc: Adjust constants for
	32-bit targets.
	* testsuite/experimental/optional/cons/move.cc: Likewise.
	* testsuite/experimental/optional/cons/value.cc: Likewise.
	* testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.

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

	* config/i386/i386-c.c (ix86_target_macros): Define _SOFT_FLOAT
	for !TARGET_80387.
	* config/i386/rtemself.h (TARGET_OS_CPP_BUILTINS): Do not define
	_SOFT_FLOAT here.
	(LONG_DOUBLE_TYPE_SIZE): New define.
	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Ditto.

libgcc/

	* config/i386/32/sfp-machine.h (_FP_MUL_MEAT_S): Define.
	(_FP_MUL_MEAT_D): Ditto.
	(_FP_DIV_MEAT_S): Ditto.
	(_FP_DIV_MEAT_D): Ditto.
	* config.host (i[34567]86-*-rtems*): Remove i386/t-softfp, add
	t-softfp-sfdf and t-softfp to tmake_file.

M    gcc/config/i386/i386-c.c
M    gcc/config/i386/rtemself.h
M    gcc/ChangeLog
M    libgcc/ChangeLog
M    libgcc/config.host
M    libgcc/config/i386/32/sfp-machine.h


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204404 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/58868
	* decl.c (check_initializer): Don't use build_vec_init for arrays
	of trivial type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204406 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204407 138bc75d-0d04-0410-961f-82ee72b054a4
Support empty structs in gengtype

gcc/
	* gengtype-parse.c (struct_field_seq): Support empty structs.



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


	* gimple.h: Move some prototypes to gimple-expr.h and add to include
	list.
	(extract_ops_from_tree, gimple_call_addr_fndecl, is_gimple_reg_type):
	Move to gimple-expr.h.
	* gimple-expr.h: New file.  Relocate some prototypes from gimple.h.
	(types_compatible_p, is_gimple_reg_type, is_gimple_variable,
	is_gimple_id, virtual_operand_p, is_gimple_addressable,
	is_gimple_constant, extract_ops_from_tree, gimple_call_addr_fndecl):
	Relocate here.
	* gimple.c (extract_ops_from_tree_1, gimple_cond_get_ops_from_tree,
	gimple_set_body, gimple_body, gimple_has_body_p, is_gimple_lvalue,
	is_gimple_condexpr, is_gimple_addressable, is_gimple_constant,
	is_gimple_address, is_gimple_invariant_address,
	is_gimple_ip_invariant_address, is_gimple_min_invariant,
	is_gimple_ip_invariant, is_gimple_variable, is_gimple_id,
	virtual_operand_p, is_gimple_reg, is_gimple_val, is_gimple_asm_val,
	is_gimple_min_lval, is_gimple_call_addr, is_gimple_mem_ref_addr,
	gimple_decl_printable_name, useless_type_conversion_p,
	types_compatible_p, gimple_can_coalesce_p, copy_var_decl): Move to 
	gimple-expr.[ch].
	* gimple-expr.c: New File.
	(useless_type_conversion_p, gimple_set_body, gimple_body,
	gimple_has_body_p, gimple_decl_printable_name, copy_var_decl,
	gimple_can_coalesce_p, extract_ops_from_tree_1, 
	gimple_cond_get_ops_from_tree, is_gimple_lvalue, is_gimple_condexpr,
	is_gimple_address, is_gimple_invariant_address,
	is_gimple_ip_invariant_address, is_gimple_min_invariant,
	is_gimple_ip_invariant, is_gimple_reg, is_gimple_val,
	is_gimple_asm_val, is_gimple_min_lval, is_gimple_call_addr,
	is_gimple_mem_ref_addr): Relocate here.
	* Makefile.in (OBJS): Add gimple-expr.o.



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