* gcc.dg/gomp/openmp-simd-1.c: Cleanup original tree dump.
	* gcc.dg/gomp/openmp-simd-2.c: Ditto.
	* g++.dg/gomp/openmp-simd-1.C: Ditto.
	* g++.dg/gomp/openmp-simd-2.C: Ditto.
	* gfortran.dg/c_loc_test_22.f90: Ditto.
	* gcc.dg/tree-ssa/attr-alias-2.c: Cleanup optimized tree dump.
	* gcc.dg/tree-ssa/isolate-5.c: Ditto.
	* gcc.dg/tree-ssa/pr57361.c: Cleanup dse1 tree dump.
	* gcc.dg/vect/vect-124.c: Cleanup vect tree dump.
	* gcc.dg/pr57518.c: Cleanup ira rtl dump.
	* gcc.dg/tree-prof/cold_partition_label.c: Cleanup saved temps.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205408 138bc75d-0d04-0410-961f-82ee72b054a4
	PR middle-end/59152
	* omp-low.c (expand_omp_for_static_chunk): Don't set loop->latch
	for the inner loop if collapse_bb is non-NULL.
	(expand_omp_simd): Use cont_bb rather than e->dest as latch.

	* c-c++-common/gomp/pr59152.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205410 138bc75d-0d04-0410-961f-82ee72b054a4
	PR middle-end/59150
	* omp-low.c (lower_rec_input_clause): For reduction with placeholder
	of references to constant size types in simd loops, defer emitting
	initializer for the new_var, emit it later on only if not using
	SIMD arrays for it.

	* g++.dg/gomp/pr59150.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205411 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/58874
	* parser.c (cp_parser_late_parsing_for_member): For OpenMP UDRs
	pass 2 instead of 0 to finish_function.

	* g++.dg/gomp/pr58874.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205412 138bc75d-0d04-0410-961f-82ee72b054a4
	PR rtl-optimization/59166
	* ira.c (find_moveable_pseudos): Use DF_REF_REAL_LOC instead of
	DF_REF_LOC in validate_change call.
	(split_live_ranges_for_shrink_wrap): Likewise.

	* gcc.dg/torture/pr59166.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205413 138bc75d-0d04-0410-961f-82ee72b054a4
	PR middle-end/59273
	* tree-vect-generic.c (optimize_vector_constructor): Don't optimize
	if there isn't optab handler for the corresponding vector PLUS_EXPR.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205414 138bc75d-0d04-0410-961f-82ee72b054a4
	PR sanitizer/59258
	* ubsan.c (ubsan_source_location): Don't add any location
	to ADDR_EXPR in the ctor.  Revert 2013-11-22 change.
	(ubsan_create_data): Strip block info from LOC.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205415 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/59229
	* config/i386/i386.c (device_alg): Fix up formatting.
	(ix86_expand_set_or_movmem): Handle max_size < epilogue_size_needed
	similarly to count && count < epilogue_size_needed.  Fix up
	comment typo.
	* builtins.c (determine_block_size): Fix comment typo.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205416 138bc75d-0d04-0410-961f-82ee72b054a4
	PR tree-optimization/59014
	* tree-vrp.c (register_edge_assert_for_1): Don't look
	through conversions from non-integral types or through
	narrowing conversions.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205417 138bc75d-0d04-0410-961f-82ee72b054a4
runtime: Fix handling of surrogate pairs in string([]rune).


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205425 138bc75d-0d04-0410-961f-82ee72b054a4
libgo: Update to current Go library.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205426 138bc75d-0d04-0410-961f-82ee72b054a4
Fix checking of gimple types

	* gengtype.c (struct seen_tag): New.
	(already_seen_tag): New.
	(mark_tag_as_seen): New.
	(walk_subclasses): Support having multiple subclasses using the
	same tag by tracking which tags have already been seen, and using
	this to avoid adding duplicate cases to the "switch" statement.
	The call to already_seen_tag introduces an O(N^2) when running
	gengtype on N, the number of tags, due to the repeated linear
	search, but currently max(N) is relatively small (the number of
	GSS codes, which is 26).
	(walk_type): Pass in a seen_tag for use by the walk_subclasses
	recursion.

	* gimple.def (GIMPLE_OMP_ATOMIC_STORE, GIMPLE_OMP_RETURN): Rename
	underlying GSS values for these codes (from GSS_OMP_ATOMIC_STORE to
	GSS_OMP_ATOMIC_STORE_LAYOUT) to make clear that although
	GIMPLE_OMP_RETURN happens to share the data layout of
	GIMPLE_OMP_ATOMIC_STORE, they are not otherwise related.
	(GIMPLE_OMP_PARALLEL, GIMPLE_OMP_TARGET): Likewise, rename
	underlying GSS value from GSS_OMP_PARALLEL to
	GSS_OMP_PARALLEL_LAYOUT to make clear that these gimple codes are
	not directly related; they merely share in-memory layout.
	(GIMPLE_OMP_SINGLE, GIMPLE_OMP_TEAMS): Likewise, rename GSS values
	for these two codes from GSS_OMP_SINGLE to GSS_OMP_SINGLE_LAYOUT.

	* gsstruct.def (GSS_OMP_PARALLEL, gimple_statement_omp_parallel):
	Rename to...
	(GSS_OMP_PARALLEL_LAYOUT, gimple_statement_omp_parallel_layout):
	...these.
	(GSS_OMP_SINGLE, gimple_statement_omp_single): Rename to...
	(GSS_OMP_SINGLE_LAYOUT, gimple_statement_omp_single_layout):
	...these.
	(GSS_OMP_ATOMIC_STORE, gimple_statement_omp_atomic_store): Rename
	to...
	(GSS_OMP_ATOMIC_STORE_LAYOUT, gimple_statement_omp_atomic_store):
	...these.

	* gimple.h (gimple_statement_resx): New subclass of
	gimple_statement_eh_ctrl, with the invariant that
	stmt->code == GIMPLE_RESX.
	(gimple_statement_eh_dispatch): New subclass of
	gimple_statement_eh_ctrl, with the invariant that
	stmt->code == GIMPLE_EH_DISPATH.

	(gimple_statement_omp_parallel): The existing class expressed
	a layout (GSS_OMP_PARALLEL), but the codes with that layout
	are not all related, so it makes more sense for this class to
	express a *code* (GIMPLE_OMP_PARALLEL).  GSS_OMP_PARALLEL has
	been renamed to GSS_OMP_PARALLEL_LAYOUT to express this, so
	rename the existing gimple_statement_omp_parallel class to...
	(gimple_statement_omp_parallel_layout): ...this, expressing
	a statement of structure layout GSS_OMP_PARALLEL_LAYOUT.
	(gimple_statement_omp_taskreg): New subclass of
	gimple_statement_omp_parallel_layout, expressing the invariant
	that the code is one of GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK,
	as used by the various gimple_omp_taskreg_ accessors.
	(gimple_statement_omp_parallel): Reintroduce this class, this time
	as a subclass of gimple_statement_omp_taskreg to express the
	invariant stmt->code == GIMPLE_OMP_PARALLEL.
	(gimple_statement_omp_target) New class, subclassing
	gimple_statement_omp_parallel_layout, to express the invariant
	stmt->code == GIMPLE_OMP_TARGET.
	(gimple_statement_omp_task): Update to inherit from
	gimple_statement_omp_taskreg rather than
	gimple_statement_omp_parallel.

	(gimple_statement_omp_single): Rename to...
	(gimple_statement_omp_single_layout): ...this, expressing the
	invariant that the layout is GSS_OMP_SINGLE_LAYOUT.
	(gimple_statement_omp_single): ...and reintroduce this name as
	a subclass of gimple_statement_omp_single_layout, expressing
	the invariant that code == GIMPLE_OMP_SINGLE.
	(gimple_statement_omp_teams): New class, subclassing
	gimple_statement_omp_single_layout, for the code GIMPLE_OMP_TEAMS.

	(gimple_statement_omp_atomic_store): Rename to...
	(gimple_statement_omp_atomic_store_layout): ...this, expressing
	the invariant that the layout is GSS_OMP_ATOMIC_STORE_LAYOUT.
	(gimple_statement_omp_atomic_store): ...and reintroduce this
	name as a subclass of gimple_statement_omp_atomic_store_layout
	with code == GIMPLE_OMP_ATOMIC_STORE.
	(gimple_statement_omp_return): New class, subclassing
	gimple_statement_omp_atomic_store_layout for the code
	GIMPLE_OMP_RETURN.

	(is_a_helper <gimple_statement_eh_ctrl>::test): Delete.
	(is_a_helper <gimple_statement_resx>::test): New.
	(is_a_helper <gimple_statement_eh_dispatch>::test): New.
	(is_a_helper <gimple_statement_omp_atomic_store>::test): Only
	check for GIMPLE_OMP_ATOMIC_STORE, not for GIMPLE_OMP_RETURN.
	(is_a_helper <gimple_statement_omp_return>::test): New.
	(is_a_helper <gimple_statement_omp_taskreg>::test): New.
	(is_a_helper <gimple_statement_omp_parallel>::test): Only check
	for GIMPLE_OMP_PARALLEL, not for GIMPLE_OMP_TASK or
	GIMPLE_OMP_TARGET.
	(is_a_helper <gimple_statement_omp_target>::test): New.
	(is_a_helper <gimple_statement_omp_single>::test): Only check
	for GIMPLE_OMP_SINGLE, not for GIMPLE_OMP_TEAMS.
	(is_a_helper <gimple_statement_omp_teams>::test): New.

	(is_a_helper <const gimple_statement_eh_ctrl>::test): Delete.
	(is_a_helper <const gimple_statement_resx>::test): New.
	(is_a_helper <const gimple_statement_eh_dispatch>::test): New.
	(is_a_helper <const gimple_statement_omp_atomic_store>::test): Only
	check for GIMPLE_OMP_ATOMIC_STORE, not for GIMPLE_OMP_RETURN.
	(is_a_helper <const gimple_statement_omp_return>::test): New.
	(is_a_helper <const gimple_statement_omp_taskreg>::test): New.
	(is_a_helper <const gimple_statement_omp_parallel>::test): Only
	check for GIMPLE_OMP_PARALLEL, not for GIMPLE_OMP_TASK or
	GIMPLE_OMP_TARGET.
	(is_a_helper <const gimple_statement_omp_target>::test): New.
	(is_a_helper <const gimple_statement_omp_single>::test): Only
	check for GIMPLE_OMP_SINGLE, not for GIMPLE_OMP_TEAMS.
	(is_a_helper <const gimple_statement_omp_teams>::test): New.

	(gimple_omp_return_set_lhs, gimple_omp_return_lhs,
	gimple_omp_return_lhs_ptr): Replace bogus downcasts to
	gimple_statement_omp_atomic_store with downcasts to
	gimple_statement_omp_return, thus requiring that the code be
	GIMPLE_OMP_RETURN.
	(gimple_resx_region, gimple_resx_set_region): Replace bogus
	downcasts to gimple_statement_eh_ctrl with downcasts to
	gimple_statement_resx, thus requiring that the code be
	GIMPLE_RESX.
	(gimple_eh_dispatch_region, gimple_eh_dispatch_set_region):
	Replace bogus downcasts to const gimple_statement_eh_ctrl with
	downcasts to gimple_statement_eh_dispatch, thus requiring that
	the code be GIMPLE_EH_DISPATCH.
	(gimple_omp_taskreg_clauses, gimple_omp_taskreg_clauses_ptr)
	gimple_omp_taskreg_set_clauses, gimple_omp_taskreg_child_fn,
	gimple_omp_taskreg_child_fn_ptr, gimple_omp_taskreg_set_child_fn,
	gimple_omp_taskreg_data_arg, gimple_omp_taskreg_data_arg_ptr,
	gimple_omp_taskreg_set_data_arg): Replace bogus downcasts to
	gimple_statement_omp_parallel with downcasts to
	gimple_statement_omp_taskreg, thus requiring that the code be
	either GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK.
	(gimple_omp_target_clauses, gimple_omp_target_clauses_ptr
	gimple_omp_target_set_clauses, gimple_omp_target_child_fn
	gimple_omp_target_child_fn_ptr, gimple_omp_target_set_child_fn
	gimple_omp_target_data_arg, gimple_omp_target_data_arg_ptr
	gimple_omp_target_set_data_arg): Replace bogus downcasts to
	gimple_statement_omp_parallel with downcasts to
	gimple_statement_omp_target, thus requiring that the code be
	GIMPLE_OMP_TARGET.
	(gimple_omp_teams_clauses, gimple_omp_teams_clauses_ptr
	gimple_omp_teams_set_clauses): Replace bogus downcasts to
	gimple_statement_omp_single with downcasts to
	gimple_statement_omp_teams, thus requiring that the code be
	GIMPLE_OMP_TEAMS.

	* gimple.c (gimple_build_resx): Fix bogus as_a<> to use
	gimple_statement_resx.
	(gimple_build_eh_dispatch): Fix bogus as_a<> to use
	gimple_statement_eh_dispatch.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205428 138bc75d-0d04-0410-961f-82ee72b054a4
        * config/ia64/hpux.h (TARGET_LIBC_HAS_FUNCTION): Fix typo.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205432 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-27  Marek Polacek  <polacek@redhat.com>

	* ubsan.c (ubsan_type_descriptor): If varpool_get_node returns NULL
	for a decl, recreate that decl.  Save into the hash table VAR_DECLs
	rather than ADDR_EXPRs.
testsuite/
	* c-c++-common/ubsan/undefined-1.c: New test.


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

	PR tree-optimization/59288
	* tree-vect-loop.c (get_initial_def_for_induction): Do not
	re-analyze the PHI but use STMT_VINFO_LOOP_PHI_EVOLUTION_PART.

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205434 138bc75d-0d04-0410-961f-82ee72b054a4
	PR middle-end/59138
	* expr.c (emit_group_store): Don't write past the end of the structure.
	(store_bit_field): Fix formatting.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205436 138bc75d-0d04-0410-961f-82ee72b054a4
Don't create out-of-bounds BIT_FIELD_REF.

2013-11-27  Tom de Vries  <tom@codesourcery.com>
	    Marc Glisse  <marc.glisse@inria.fr>

	PR middle-end/59037
	* semantics.c (cxx_fold_indirect_ref): Don't create out-of-bounds
	BIT_FIELD_REF.

	* fold-const.c (fold_indirect_ref_1): Don't create out-of-bounds
	BIT_FIELD_REF.
	* gimple-fold.c (gimple_fold_indirect_ref): Same.
	* tree-cfg.c (verify_expr): Give error if BIT_FIELD_REF is
	out-of-bounds.

	* c-c++-common/pr59037.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205438 138bc75d-0d04-0410-961f-82ee72b054a4
Handle vector increment/decrement in build_unary_op

2013-11-27  Tom de Vries  <tom@codesourcery.com>
	    Marc Glisse  <marc.glisse@inria.fr>

	PR c++/59032
	* c-typeck.c (build_unary_op): Allow vector increment and decrement.

	* typeck.c (cp_build_unary_op): Allow vector increment and decrement.

	* c-c++-common/pr59032.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205439 138bc75d-0d04-0410-961f-82ee72b054a4
Properly set ld_library_path in cilk-plus tests

	* gcc.dg/cilk-plus/cilk-plus.exp: Append to ld_library_path.
	Call set_ld_library_path_env_vars.
	* g++.dg/cilk-plus/cilk-plus.exp: Likewise.

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