Commit Graph

154206 Commits

Author SHA1 Message Date
Jan Hubicka
227b76c3b4 opts.c (finish_options): Move test for flag_split_stack after it has been initialized.
* opts.c (finish_options): Move test for flag_split_stack after
	it has been initialized.

From-SVN: r249105
2017-06-11 09:33:22 +00:00
Jason Merrill
c3b0f4c600 * error.c (dump_expr): Use is_this_parameter.
From-SVN: r249104
2017-06-11 01:29:34 -04:00
Jason Merrill
a01f151f1e tree.h (id_equal): New.
* tree.h (id_equal): New.

	* dwarf2out.c, hsa-gen.c, ipa-devirt.c, omp-expand.c,
	omp-simd-clone.c, read-rtl-function.c, tree-chkp.c, tree.c: Use it
	instead of strcmp of IDENTIFIER_POINTER.
c-family/
	* c-ada-spec.c, c-pragma.c: Use it.
cp/
	* cp-tree.h, decl2.c, mangle.c, parser.c, pt.c, semantics.c: Use it.

From-SVN: r249103
2017-06-11 01:29:14 -04:00
GCC Administrator
dc77253832 Daily bump.
From-SVN: r249102
2017-06-11 00:16:34 +00:00
Jan Hubicka
09fcc0c01d ipa-inline-transform.c: Include function.h, cfg.h and basic-block.h
* ipa-inline-transform.c: Include function.h, cfg.h and basic-block.h
	(mark_all_inlined_calls_cdtor): Fix formating.
	(inline_transform): Rescale profile before inlining.

From-SVN: r249098
2017-06-10 23:18:44 +00:00
Jan Hubicka
1511c8c005 cgraph.h (cgraph_edge::clone): Update prototype.
* cgraph.h (cgraph_edge::clone): Update prototype.
	* cgraphclones.c (cgraph_edge::clone): Update profile scaling.
	(cgraph_node::create_clone): Update.
	(cgraph_node::create_version_clone): Update.
	* tree-inline.c (copy_bb): Update.
	(expand_call_inline): Update.

From-SVN: r249097
2017-06-10 23:07:11 +00:00
Segher Boessenkool
9a58d6cdbf rs6000: Factor out emit_vrsave_prologue
This is a second patch to make the prologue code more manageable.


	* config/rs6000/rs6000.c (emit_vrsave_prologue): New function,
	factored out from ...
	(rs6000_emit_prologue): ... here.

From-SVN: r249096
2017-06-11 00:22:54 +02:00
Segher Boessenkool
85e71e3505 rs6000: Factor out emit_split_stack_prologue
This is a first patch to make the prologue code more manageable.


	* config/rs6000/rs6000.c (emit_split_stack_prologue): New function,
	factored out from ...
	(rs6000_emit_prologue): ... here.

From-SVN: r249095
2017-06-11 00:21:34 +02:00
Jan Hubicka
e525ddf40f predict.c (drop_profile): Also drop individual bb/edge and cgraph edge counts.
* predict.c (drop_profile): Also drop individual bb/edge and cgraph
	edge counts.
	(handle_missing_profiles): Fix computation of tp_first_run.
	(counts_to_freqs): Do not touch freqs when count is 0.

From-SVN: r249094
2017-06-10 20:37:34 +00:00
Jan Hubicka
9a73a3c38e cgraphbuild.c (cgraph_edge::rebuild_references): Do not touch profile.
* cgraphbuild.c (cgraph_edge::rebuild_references): Do not touch
	profile.

From-SVN: r249093
2017-06-10 16:33:07 +00:00
Thomas Koenig
ac39f0e831 re PR fortran/80988 (171_swim fails)
2017-06-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/80988
	* frontend-passes.c (traverse_io_block):  Also
	check for variables occurring as indices multiple
	time in a single implied DO loop.

2017-06-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/80988
	* gfortran.dg/implied_do_io_3.f90:  New test.

From-SVN: r249092
2017-06-10 10:07:13 +00:00
Tom de Vries
18787c384a Add effective target signal
2017-06-10  Tom de Vries  <tom@codesourcery.com>

	* lib/target-supports.exp (check_effective_target_signal): New proc.
	* lib/gcc.exp (gcc_target_compile): Remove appending of
	-DSIGNAL_SUPPRESS to additional_flags.
	* gcc.c-torture/execute/ieee/ieee.exp: Add -DSIGNAL_SUPPRESS to
	additional_flags if effective target signal is not supported by the
	target.
	* gcc.c-torture/execute/20101011-1.c: Same.
	* gcc.dg/c99-stdint-1.c: Same.
	* gcc.dg/c99-stdint-2.c: Same.
	* gcc.dg/c99-stdint-5.c: Same.
	* gcc.dg/c99-stdint-6.c: Same.
	* gcc.dg/stdint-width-1.c: Same.

	* doc/sourcebuild.texi (Effective-Target Keywords, Environment
	attributes): Document signal effective target.

From-SVN: r249091
2017-06-10 06:59:49 +00:00
Tom de Vries
0069a00991 Add effective target stack_size
2017-06-10  Tom de Vries  <tom@codesourcery.com>

	* lib/target-supports.exp (check_effective_target_stack_size)
	(dg-effective-target-value): New proc.
	* lib/gcc.exp (gcc_target_compile): Remove adding of DSTACK_SIZE to
	additional_flags.
	* lib/objc.exp (objc_target_compile): Same.
	* lib/profopt.exp (profopt-get-options): Allow dg-additional-options.
	* g++.old-deja/g++.eh/badalloc1.C: Add -DSTACK_SIZE=<value> using
	dg-additional-options.
	* gcc.c-torture/compile/20080806-1.c: Same.
	* gcc.c-torture/compile/920723-1.c: Same.
	* gcc.c-torture/compile/930621-1.c: Same.
	* gcc.c-torture/compile/991214-2.c: Same.
	* gcc.c-torture/compile/bcopy.c: Same.
	* gcc.c-torture/compile/memtst.c: Same.
	* gcc.c-torture/compile/msp.c: Same.
	* gcc.c-torture/compile/stuct.c: Same.
	* gcc.c-torture/execute/20011008-3.c: Same.
	* gcc.c-torture/execute/20030209-1.c: Same.
	* gcc.c-torture/execute/20031012-1.c: Same.
	* gcc.c-torture/execute/20040805-1.c: Same.
	* gcc.c-torture/execute/920410-1.c: Same.
	* gcc.c-torture/execute/920501-7.c: Same.
	* gcc.c-torture/execute/921113-1.c: Same.
	* gcc.c-torture/execute/921202-1.c: Same.
	* gcc.c-torture/execute/921208-2.c: Same.
	* gcc.c-torture/execute/930106-1.c: Same.
	* gcc.c-torture/execute/930406-1.c: Same.
	* gcc.c-torture/execute/950221-1.c: Same.
	* gcc.c-torture/execute/960521-1.c: Same.
	* gcc.c-torture/execute/980605-1.c: Same.
	* gcc.c-torture/execute/comp-goto-1.c: Same.
	* gcc.c-torture/execute/comp-goto-2.c: Same.
	* gcc.c-torture/execute/memcpy-1.c: Same.
	* gcc.c-torture/execute/multi-ix.c: Same.
	* gcc.c-torture/execute/nestfunc-4.c: Same.
	* gcc.c-torture/execute/pr20621-1.c: Same.
	* gcc.c-torture/execute/pr23135.c: Same.
	* gcc.c-torture/execute/pr28982b.c: Same.
	* gcc.dg/loop-3.c: Same.
	* gcc.dg/struct-ret-3.c: Same.
	* gcc.dg/torture/stackalign/comp-goto-1.c: Same.
	* gcc.dg/torture/stackalign/non-local-goto-4.c: Same.
	* gcc.dg/tree-prof/comp-goto-1.c: Same.
	* gcc.dg/tree-prof/pr44777.c: Same.

	* doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
	Document effective target stack_size.

From-SVN: r249090
2017-06-10 06:59:26 +00:00
Jason Merrill
e6d7d61861 Missing bits from N4268, constant evaluation for all non-type args.
* call.c (build_converted_constant_expr): Rename from
	build_integral_nontype_arg_conv, handle all types.
	* pt.c (convert_nontype_argument): In C++17 call it for all types.
	Move NOP stripping inside pointer case, don't strip ADDR_EXPR.
	* cvt.c (strip_fnptr_conv): Also strip conversions to the same type.

From-SVN: r249089
2017-06-09 20:40:50 -04:00
Jason Merrill
8b8b203a26 Overhaul pointer-to-member conversion and template argument handling.
* call.c (standard_conversion): Avoid creating ck_pmem when the
	class type is the same.
	* cvt.c (can_convert_qual): Split from
	perform_qualification_conversions.
	* constexpr.c (cxx_eval_constant_expression): Check it.
	* typeck.c (convert_ptrmem): Only cplus_expand_constant if
	adjustment is necessary.
	* pt.c (check_valid_ptrmem_cst_expr): Compare class types.
	(convert_nontype_argument): Avoid redundant error.

From-SVN: r249088
2017-06-09 20:40:44 -04:00
GCC Administrator
5248689192 Daily bump.
From-SVN: r249087
2017-06-10 00:16:18 +00:00
Jason Merrill
bf31620ceb Don't fold conversion from a constant variable.
* call.c (convert_like_real): Remove "inner" parameter.
	Don't replace a constant with its value.
	* cp-gimplify.c (cp_fully_fold): Use cp_fold_rvalue.

From-SVN: r249083
2017-06-09 18:46:51 -04:00
David Malcolm
b09649fdc6 Add support for mutually-incompatible fix-it hints
This patch adds a method:
  rich_location::fixits_cannot_be_auto_applied
for ensuring that mutually-incompatible fix-its hints don't
lead to insane output from -fdiagnostics-generate-patch.

Fix-it hints within such rich_location instances are printed
as normal by diagnostic_show_locus, but don't affect the output
of -fdiagnostics-generate-patch.

gcc/ChangeLog:
	* diagnostic.c (diagnostic_report_diagnostic): Only add fixits
	to the edit_context if they can be auto-applied.

gcc/testsuite/ChangeLog:
	* gcc.dg/plugin/diagnostic-test-show-locus-bw.c
	(test_mutually_exclusive_suggestions): New test function.
	* gcc.dg/plugin/diagnostic-test-show-locus-generate-patch.c
	(test_mutually_exclusive_suggestions): New test function.
	* gcc.dg/plugin/diagnostic-test-show-locus-parseable-fixits.c
	(test_mutually_exclusive_suggestions): New test function.
	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
	(test_show_locus): Add special-case for
	"test_mutually_exclusive_suggestions".

libcpp/ChangeLog:
	* include/line-map.h
	(rich_location::fixits_cannot_be_auto_applied): New method.
	(rich_location::fixits_can_be_auto_applied_p): New accessor.
	(rich_location::m_fixits_cannot_be_auto_applied): New field.
	* line-map.c (rich_location::rich_location): Initialize new field.

From-SVN: r249081
2017-06-09 20:57:38 +00:00
Jason Merrill
c5d6c6d94e Fix template argument of nullptr_t type.
* pt.c (convert_nontype_argument): Check NULLPTR_TYPE_P rather than
	nullptr_node.

From-SVN: r249080
2017-06-09 16:18:06 -04:00
Jason Merrill
3d2e25a240 Fix array decay handling in constant expressions.
* parser.c (cp_parser_constant_expression): Check
	potential_rvalue_constant_expression after decay_conversion.
	* pt.c (convert_nontype_argument): Don't require linkage in C++17.

From-SVN: r249079
2017-06-09 16:13:44 -04:00
Jason Merrill
55c5c0ad3c PR c++/80384 - ICE with dependent noexcept-specifier
* pt.c (dependent_type_p_r) [FUNCTION_TYPE]: Check for dependent
	noexcept-specifier.

From-SVN: r249078
2017-06-09 16:13:38 -04:00
Jason Merrill
948d0d9137 * constexpr.c (potential_constant_expression_1): Allow 'this' capture.
From-SVN: r249077
2017-06-09 16:13:32 -04:00
Ian Lance Taylor
a1f427e9a5 opts.c (finish_options): If -fsplit-stack, disable implicit -forder-blocks-and-partition.
gcc/:
	* opts.c (finish_options): If -fsplit-stack, disable implicit
	-forder-blocks-and-partition.
	* doc/invoke.texi (Optimize Options): Document that when using
	-fsplit-stack -forder-blocks-and-partition is not implicitly
	enabled.
gcc/go/:
	* go-lang.c (go_langhook_post_options): If -fsplit-stack is turned
	on, disable implicit -forder-blocks-and-partition.
gcc/testsuite/:
	* gcc.dg/tree-prof/split-1.c: New test.

From-SVN: r249071
2017-06-09 18:44:28 +00:00
Jan Hubicka
cb59f689a3 builtin-attrs.def (ATTR_NORETURN_NOTHROW_LEAF_COLD_LIST, [...]): New.
* builtin-attrs.def (ATTR_NORETURN_NOTHROW_LEAF_COLD_LIST,
	ATTR_CONST_NORETURN_NOTHROW_LEAF_COLD_LIST,
	ATTR_TMPURE_NORETURN_NOTHROW_LEAF_COLD_LIST): New.
	* builtins.def (abort, trap, unreachable): Declare cold.
	* calls.c (flags_from_decl_or_type): Lookup ECF_COLD.
	* tree-core.h (ECF_COLD): New.
	* tree.c (set_call_expr_flags): Handle ECF_COLD.
	(build_common_builtin_nodes): Mark unreachable and abort as cold.

	* class.c (build_vtbl_initializer): Mark dvirt_fn as cold.
	* decl.c (cxx_init_decl_processing, push_throw_library_fn): Likewise.
	(excpet.c): Mark terminate as cold.

	* gcc.dg/predict-14.c: Avoid cold function detection.
	* gcc.target/i386/umod-3.c: Likewise.

From-SVN: r249070
2017-06-09 18:36:50 +00:00
Jan Hubicka
d225aa745d * predict.c (unlikely_executed_stmt_p): Cleanup.
From-SVN: r249069
2017-06-09 18:34:29 +00:00
Jan Hubicka
e813ee3485 * predict.c (unlikely_executed_stmt_p): Cleanup.
From-SVN: r249068
2017-06-09 18:32:47 +00:00
Tamar Christina
f66e642373 aarch64.md (lrint<GPF:mode><GPI:mode>2): New.
2017-06-09  Tamar Christina  <tamar.christina@arm.com>

	* config/aarch64/aarch64.md (lrint<GPF:mode><GPI:mode>2): New.

gcc/testsuite/
2017-06-09  Tamar Christina  <tamar.christina@arm.com>

	* gcc.target/aarch64/lrint-matherr.h: New.
	* gcc.target/aarch64/inline-lrint_1.c: New.
	* gcc.target/aarch64/inline-lrint_2.c: New.
	* gcc.target/aarch64/no-inline-lrint_1.c: New.
	* gcc.target/aarch64/no-inline-lrint_2.c: New.

From-SVN: r249064
2017-06-09 13:33:35 +00:00
Richard Biener
2866f21d19 tree-ssa-loop-im.c (execute_sm): Do not force multi-threaded model if the ref is always written to.
2017-06-09  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-im.c (execute_sm): Do not force multi-threaded
	model if the ref is always written to.

From-SVN: r249063
2017-06-09 13:31:27 +00:00
Tamar Christina
37b68a4389 arm.c (arm_rtx_costs_internal): Make sdiv more expensive than udiv.
2017-06-09  Tamar Christina  <tamar.christina@arm.com>

	* config/arm/arm.c (arm_rtx_costs_internal): Make sdiv more expensive than udiv.


gcc/testsuite/
2017-06-09  Tamar Christina  <tamar.christina@arm.com>

	* gcc.target/arm/sdiv_costs_1.c: New.

From-SVN: r249062
2017-06-09 13:22:39 +00:00
Jonathan Wakely
53d01fd9e9 Support move-only deleters in std::shared_ptr (LWG 2802)
* doc/xml/manual/intro.xml: Document LWG 2802, 2873 and 2942 changes.
	* include/bits/shared_ptr.h (shared_ptr): Use rvalues for deleters
	(LWG 2802).
	* include/bits/shared_ptr_base.h (_Sp_ebo_helper, _Sp_counted_deleter
	(_Sp_counted_deleter::_Impl, __shared_count, __shared_ptr): Likewise.
	* testsuite/20_util/shared_ptr/cons/lwg2802.cc: New.

From-SVN: r249061
2017-06-09 14:20:37 +01:00
Tom de Vries
37f30285a9 Add "sorry, target cannot support label values" for nvptx
2017-06-09  Tom de Vries  <tom@codesourcery.com>

	PR target/80855
	* config/nvptx/nvptx.md (define_expand "mov<QHSDISDFM>"): Error out with
	"target cannot support label values" when encountering LABEL_REF.

	* gcc.target/nvptx/label-values.c: New test.

From-SVN: r249060
2017-06-09 13:11:52 +00:00
Thomas Preud'homme
051508d769 [ARM] Allow arm_arch_*_ok to test several macros
2017-06-09  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    * lib/target-supports.exp (check_effective_target_arm_arch_FUNC_ok):
    Test for null definitions instead of them being undefined.  Add entry
    for ARMv7VE.  Reindent entry for ARMv8-M Baseline.  Add comment warning
    about using the effective target for architecture extension.
    (check_effective_target_arm_arch_v7ve_ok): Remove.
    (add_options_for_arm_arch_v7ve): Likewise.

From-SVN: r249059
2017-06-09 12:55:38 +00:00
Martin Liska
4f751c5437 Speed-up indirect-call instrumentation
2017-06-09  Martin Liska  <mliska@suse.cz>

	* tree-profile.c (gimple_gen_ic_profiler): Update comment.
	(gimple_gen_ic_func_profiler): Emit direct comparison
	of __gcov_indirect_call_callee with NULL.
	(gimple_gen_time_profiler): Change probability from
	PROB_VERY_UNLIKELY to PROB_UNLIKELY.
2017-06-09  Martin Liska  <mliska@suse.cz>

	* libgcov-profiler.c (__gcov_indirect_call_profiler_v2):
	Reset __gcov_indirect_call_callee to NULL.

From-SVN: r249058
2017-06-09 12:54:53 +00:00
Jan Hubicka
f05d82a711 profile.c (edge_gcov_counts): Turn to pointer.
* profile.c (edge_gcov_counts): Turn to pointer.
	(compute_branch_probabilities, compute_branch_probabilities): Update.
	(branch_prob): Do not clear edge_gcov_count.
	* profile.h (edge_gcov_counts): Turn to pointer.
	(edge_gcov_count): Update.

From-SVN: r249057
2017-06-09 11:45:46 +00:00
Jan Hubicka
ffb9d1b140 profile.c (edge_gcov_counts): Turn to pointer.
* profile.c (edge_gcov_counts): Turn to pointer.
	(compute_branch_probabilities, compute_branch_probabilities): Update.
	* profile.h (edge_gcov_counts): Turn to pointer.
	(edge_gcov_count): Update.

From-SVN: r249056
2017-06-09 11:38:35 +00:00
Jan Hubicka
323eb0898c * gimple.h (gimple_check_failed): Mark cold.
From-SVN: r249055
2017-06-09 11:36:59 +00:00
Jonathan Wakely
225ab2b07b Add deduction guides for sequence containers (P0433R2, partial)
* include/bits/forward_list.h (forward_list): Add deduction guide.
	* include/bits/stl_deque.h (deque): Likewise.
	* include/bits/stl_list.h (list): Likewise.
	* include/bits/stl_vector.h (vector): Likewise.
	* testsuite/23_containers/deque/cons/deduction.cc: New.
	* testsuite/23_containers/forward_list/cons/deduction.cc: New.
	* testsuite/23_containers/list/cons/deduction.cc: New.
	* testsuite/23_containers/vector/cons/deduction.cc: New.

From-SVN: r249054
2017-06-09 12:04:53 +01:00
Richard Biener
01a8cacc96 re PR tree-optimization/66623 (Unsafe FP math reduction used in strict math mode)
2017-06-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66623
	* tree-vect-loop.c (vect_is_simple_reduction): Cleanup,
	refactor check_reduction into two parts, properly computing
	whether we have to check reduction validity for outer loop
	vectorization.

	* gcc.dg/vect/pr66623.c: New testcase.

From-SVN: r249053
2017-06-09 09:40:45 +00:00
Richard Biener
6d1115c545 re PR tree-optimization/79483 ([graphite] ICE: verify_ssa failed (error: definition in block 31 does not dominate use in block 28))
2017-06-09  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79483
	* graphite-scop-detection.c (order): New global.
	(get_order): Compute bb to order mapping that satisfies code
	generation constraints.
	(cmp_pbbs): New helper.
	(build_scops): Start domwalk at entry block, sort generated
	pbbs.

	* gcc.dg/graphite/pr79483.c: New testcase.

From-SVN: r249052
2017-06-09 09:36:06 +00:00
Richard Biener
6ba856d450 re PR ipa/81007 (ICE with virtual function in broken class)
2017-06-09  Richard Biener  <rguenther@suse.de>

	PR middle-end/81007
	* ipa-polymorphic-call.c
	(ipa_polymorphic_call_context::restrict_to_inner_class):
	Skip FIELD_DECLs with error_mark_node type.
	* passes.def (all_lowering_passes): Run pass_build_cgraph_edges
	last again.

	* g++.dg/pr81007.C: New testcase.

From-SVN: r249051
2017-06-09 09:35:05 +00:00
Tamar Christina
903c723b9d Reverted r249005 until PowerPC and AIX issues sorted.
From-SVN: r249050
2017-06-09 08:10:51 +00:00
Jakub Jelinek
48e692477f hard-reg-1-nov.c (mpx_test): Use "esp" instead of "rsp" for -m32.
* gcc.target/i386/mpx/hard-reg-1-nov.c (mpx_test): Use "esp"
	instead of "rsp" for -m32.
	* gcc.target/i386/mpx/hard-reg-2-lbv.c: Require sse2_runtime effective
	target, add -msse2 to dg-options.
	* gcc.target/i386/mpx/hard-reg-2-nov.c: Likewise.
	* gcc.target/i386/mpx/hard-reg-2-ubv.c: Likewise.

From-SVN: r249049
2017-06-09 10:02:00 +02:00
Martin Liska
d88382176e Come up with selftests for predict.c.
2017-06-09  Martin Liska  <mliska@suse.cz>

	* predict.c (struct branch_predictor): New struct.
	(test_prediction_value_range): New test.
	(predict_c_tests): New function.
	* selftest-run-tests.c (selftest::run_tests): Run the function.
	* selftest.h: Declare new tests.

From-SVN: r249048
2017-06-09 07:38:52 +00:00
Ian Lance Taylor
1ee77fbdea compiler: additional lvalue/rvalue context fixes
Fix lvalue/rvalue context mixup Set_and_use_temporary_expression's
    do_get_backend() method. Enhance Mark_lvalue_varexprs to handle
    conversions and temporary reference expressions, since occasionally
    the front end emits code such as "deref(conv(tempref)) = ...".
    
    Reviewed-on: https://go-review.googlesource.com/45141

From-SVN: r249047
2017-06-09 04:35:57 +00:00
Segher Boessenkool
120ef1d50a rs6000: Don't add an immediate to r0 (PR80966)
If there is a large stack frame the rs6000 -fstack-limit code would
calculate the new stack pointer value using two insns (an addis and
an addi), with r0 as temporary.  Such instructions do not exist.

This patch changes add<mode>3 to expand using a different strategy in
such cases; to FAIL if there is no way to do it (namely, if the source
is r0 and there is no way to get a temporary reg); and it changes
rs6000_emit_allocate_stack to assert gen_add3_insn did in fact emit
instructions.


	PR target/80966
	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Assert that
	gen_add3_insn did not fail.
	* config/rs6000/rs6000.md (add<mode>3): If asked to add a constant to
	r0, construct that number in a temporary reg and add that reg to r0.
	If asked to put the result in r0 as well, fail.

gcc/testsuite/
	* gcc.target/powerpc/stack-limit.c: New testcase.

From-SVN: r249046
2017-06-09 05:46:08 +02:00
GCC Administrator
ff67045361 Daily bump.
From-SVN: r249045
2017-06-09 00:16:23 +00:00
Will Schmidt
271be653c4 rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vec_eqv.
[gcc]

2017-06-08  Will Schmidt  <will_schmidt@vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
	for early expansion of vec_eqv.

[gcc/testsuite]

2017-06-08  Will Schmidt  <will_schmidt@vnet.ibm.com>

	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-char.c: New.
	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-float.c: New.
	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-floatdouble.c: New.
	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-int.c: New.
	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-longlong.c: New.
	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-short.c: New.

From-SVN: r249040
2017-06-08 20:51:42 +00:00
Jakub Jelinek
8ab7005b14 re PR c/81006 (ICE with zero-size array and #pragma omp task depend)
PR c/81006
	* c-typeck.c (handle_omp_array_sections_1): Convert TYPE_MAX_VALUE
	to sizetype before size_binop.

	* semantics.c (handle_omp_array_sections_1): Convert TYPE_MAX_VALUE
	to sizetype before size_binop.

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

From-SVN: r249035
2017-06-08 21:10:49 +02:00
Ian Lance Taylor
20e96b489e libgo: update to 1.8.3 release
Reviewed-on: https://go-review.googlesource.com/45150

From-SVN: r249033
2017-06-08 19:02:12 +00:00
Jakub Jelinek
34361776fb re PR c++/81011 (ICE with #pragma omp task and inaccessible copy-constructor)
PR c++/81011
	* cp-gimplify.c (cxx_omp_finish_clause): When changing clause
	to OMP_CLAUSE_SHARED, also clear OMP_CLAUSE_SHARED_FIRSTPRIVATE
	and OMP_CLAUSE_SHARED_READONLY flags.

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

From-SVN: r249031
2017-06-08 20:55:04 +02:00