Commit Graph

155037 Commits

Author SHA1 Message Date
GCC Administrator
61612fa5da Daily bump.
From-SVN: r250412
2017-07-21 00:16:34 +00:00
Ian Lance Taylor
033e96a263 compiler: add explicit convert in Type_guard_expression::do_get_backend
The current recipe in Type_guard_expression for creating a Bexpression
    performs a type conversion at the Type level, but doesn't invoke
    Backend::convert_expression to capture the conversion for the back
    end. Add code to create a BE type conversion operation.
    
    Reviewed-on: https://go-review.googlesource.com/50373

From-SVN: r250400
2017-07-20 19:53:54 +00:00
Jakub Jelinek
2953b72fdd re PR target/80846 (auto-vectorized AVX2 horizontal sum should narrow to 128b right away, to be more efficient for Ryzen and Intel)
PR target/80846
	* config/i386/i386.c (ix86_expand_vector_init_general): Handle
	V2TImode and V4TImode.
	(ix86_expand_vector_extract): Likewise.
	* config/i386/sse.md (VMOVE): Enable V4TImode even for just
	TARGET_AVX512F, instead of only for TARGET_AVX512BW.
	(ssescalarmode): Handle V4TImode and V2TImode.
	(VEC_EXTRACT_MODE): Add V4TImode and V2TImode.
	(*vec_extractv2ti, *vec_extractv4ti): New insns.
	(VEXTRACTI128_MODE): New mode iterator.
	(splitter for *vec_extractv?ti first element): New.
	(VEC_INIT_MODE): New mode iterator.
	(vec_init<mode>): Consolidate 3 expanders into one using
	VEC_INIT_MODE mode iterator.

	* gcc.target/i386/avx-pr80846.c: New test.
	* gcc.target/i386/avx2-pr80846.c: New test.
	* gcc.target/i386/avx512f-pr80846.c: New test.

From-SVN: r250397
2017-07-20 18:36:18 +02:00
Alexander Monakov
f0a404561c lra-assigns.c: fix pseudo_compare_func
* lra-assigns.c (pseudo_compare_func): Fix comparison step based on
	non_spilled_static_chain_regno_p.

From-SVN: r250395
2017-07-20 18:15:55 +03:00
Alexander Monakov
109cca3b53 gimple-ssa-store-merging.c: fix sort_by_bitpos
* gimple-ssa-store-merging.c (sort_by_bitpos): Return 0 on equal bitpos.

From-SVN: r250394
2017-07-20 18:13:56 +03:00
Jan Hubicka
584bafb66d bb-reorder.c (connect_traces): Allow copying of blocks within single partition.
* bb-reorder.c (connect_traces): Allow copying of blocks within
	single partition.

From-SVN: r250390
2017-07-20 14:27:41 +00:00
Eric Botcazou
0574d9aeac Minor tweaks
From-SVN: r250386
2017-07-20 12:54:42 +00:00
Richard Biener
3fa4fad497 gimple.h (gimple_phi_result): Add gphi * overload.
2017-07-20  Richard Biener  <rguenther@suse.de>

	* gimple.h (gimple_phi_result): Add gphi * overload.
	(gimple_phi_result_ptr): Likewise.
	(gimple_phi_arg): Likewise.  Adjust index assert to only
	allow actual argument accesses rather than all slots available
	by capacity.
	(gimple_phi_arg_def): Add gphi * overload.
	* tree-phinodes.c (make_phi_node): Initialize only actual
	arguments.
	(resize_phi_node): Clear memory not covered by old node,
	do not initialize excess argument slots.
	(reserve_phi_args_for_new_edge): Initialize new argument slot
	completely.

From-SVN: r250385
2017-07-20 12:37:14 +00:00
Bin Cheng
73c4b4df26 re PR tree-optimization/81388 (Incorrect code generation with -O1)
PR tree-optimization/81388
	Revert r238585:
	2016-07-21  Bin Cheng  <bin.cheng@arm.com>

	* tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Clean up
	by removing computation of may_be_zero.

	gcc/testsuite
	PR tree-optimization/81388
	* gcc.dg/tree-ssa/pr81388-1.c: New test.
	* gcc.dg/tree-ssa/pr81388-2.c: New test.

From-SVN: r250384
2017-07-20 12:02:19 +00:00
Jan Hubicka
77e5edafaf re PR middle-end/81030 (ICE on valid code at -O1 (only) on x86_64-linux-gnu: verify_flow_info failed)
PR middle-end/81030
	* cfgbuild.c (find_many_sub_basic_blocks): Update REG_BR_PROB note
	when gimple level profile disagrees with what RTL expander did.
	* gcc.dg/pr81030.c: New test.

From-SVN: r250383
2017-07-20 11:27:31 +00:00
Richard Biener
891ad31c7b re PR tree-optimization/61171 (vectorization fails for a reduction in presence of subtraction)
2017-07-20  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61171
	* tree-vectorizer.h (slp_instance): Add reduc_phis member.
	(vect_analyze_stmt): Add slp instance parameter.
	(vectorizable_reduction): Likewise.
	* tree-vect-loop.c (vect_analyze_loop_operations): Adjust.
	(vect_is_simple_reduction): Deal with chains not detected
	as SLP reduction chain, specifically not properly associated
	chains containing a mix of plus/minus.
	(get_reduction_op): Remove.
	(get_initial_defs_for_reduction): Simplify, pass in whether
	this is a reduction chain, pass in the SLP node for the PHIs.
	(vect_create_epilog_for_reduction): Get the SLP instance as
	arg and adjust.
	(vectorizable_reduction): Get the SLP instance as arg.
	During analysis remember the SLP node with the PHIs in the
	instance.  Simplify getting at the vectorized reduction PHIs.
	* tree-vect-slp.c (vect_slp_analyze_node_operations): Pass
	through SLP instance.
	(vect_slp_analyze_operations): Likewise.
	* tree-vect-stms.c (vect_analyze_stmt): Likewise.
	(vect_transform_stmt): Likewise.

	* g++.dg/vect/pr61171.cc: New testcase.
	* gfortran.dg/vect/pr61171.f: Likewise.
	* gcc.dg/vect/vect-reduc-11.c: Likewise.

From-SVN: r250382
2017-07-20 11:17:21 +00:00
Richard Biener
f971b2813d slp-43.c: Increase loop count to enable vectorization with V64QImode.
2017-07-20  Richard Biener  <rguenther@suse.de>

	* gcc.dg/vect/slp-43.c: Increase loop count to enable vectorization
	with V64QImode.
	* gcc.dg/vect/slp-45.c: Likewise.

From-SVN: r250380
2017-07-20 10:03:34 +00:00
Tom de Vries
c9930ecd9c Fix phi arg location in find_implicit_erroneous_behavior
2017-07-20  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/81489
	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior): Move
	read of phi arg location to before loop that modifies phi.

From-SVN: r250378
2017-07-20 07:16:01 +00:00
Naveen H.S
2071f8f980 match.pd (((m1 >/</>=/<= m2) * d -> (m1 >/</>=/<= m2) ? d : 0): New pattern.
gcc
	* match.pd (((m1 >/</>=/<= m2) * d -> (m1 >/</>=/<= m2) ? d : 0):
	New pattern.

gcc/testsuite
	* gcc.dg/tree-ssa/vrp116.c: New Test.

From-SVN: r250377
2017-07-20 03:57:48 +00:00
GCC Administrator
b882559a11 Daily bump.
From-SVN: r250376
2017-07-20 00:16:24 +00:00
Jan Hubicka
205b602693 re PR regression/81331 (missed Eh delivery in partitioned function)
PR middle-end/81331
	* except.c (execute): Fix ordering issue.

From-SVN: r250370
2017-07-19 21:06:55 +00:00
Gerald Pfeifer
a8d6055a56 * math/powq.c (powq): Use uint32_t instead of u_int32_t.
From-SVN: r250367
2017-07-19 19:53:58 +00:00
Jonathan Wakely
304a15ec64 PR libstdc++/81476 Optimise vector insertion from input iterators
PR libstdc++/81476
	* include/bits/vector.tcc (vector::_M_range_insert<_InputIterator>):
	Only insert elements one-by-one when inserting at the end.
	* testsuite/performance/23_containers/insert/81476.cc: New.

From-SVN: r250366
2017-07-19 20:32:15 +01:00
Segher Boessenkool
6cdcce60ff combine: Fix for PR81423
We here have an AND of a SUBREG of an LSHIFTRT.  If that SUBREG is
paradoxical, the extraction we form is the length of the size of the
inner mode, which includes some bits that should not be in the result.
Just give up in that case.


	PR rtl-optimization/81423
	* combine.c (make_compound_operation_int): Don't try to optimize
	the AND of a SUBREG of an LSHIFTRT if that SUBREG is paradoxical.

From-SVN: r250365
2017-07-19 21:31:26 +02:00
Michael Meissner
a6722e5bf2 cpu-builtin-1.c: Change test to use #ifdef __BUILTIN_CPU_SUPPORTS to see if...
2017-07-19  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/cpu-builtin-1.c: Change test to use #ifdef
	__BUILTIN_CPU_SUPPORTS to see if the GLIBC is new enough that
	__builtin_cpu_is and __builtin_cpu_supports are supported.

From-SVN: r250364
2017-07-19 19:29:16 +00:00
Segher Boessenkool
3d50b6045a simplify-rtx: The truncation of an IOR can have all bits set (PR81423)
... if it is an IOR with a constant with all bits set in the mode
that is truncated to, for example.  Handle that case.


	PR rtl-optimization/81423
	* simplify-rtx.c (simplify_truncation): Handle truncating an IOR
	with a constant that is -1 in the truncated to mode.

From-SVN: r250363
2017-07-19 21:28:41 +02:00
Steven Munroe
ccfa843f67 Fix up plafform testes in check headers.
Fix up plafform testes in check headers. After a resent GCC change
the previously submitted BMI/BMI2 intrinsic test started to fail
with a warning/error.

[gcc/testsuite]

2017-07-19  Steven Munroe  <munroesj@gcc.gnu.org>

	* gcc.target/powerpc/bmi-check.h (main): Skip unless
	__BUILTIN_CPU_SUPPORTS__ defined.
	* gcc.target/powerpc/bmi2-check.h (main): Skip unless
	__BUILTIN_CPU_SUPPORTS__ defined.

From-SVN: r250362
2017-07-19 19:04:50 +00:00
Jan Hubicka
8b5d71cd61 predict.c (propagate_unlikely_bbs_forward): Break out from ...
* predict.c (propagate_unlikely_bbs_forward): Break out from ...
	(determine_unlikely_bbs): ... here.
	* predict.h (propagate_unlikely_bbs_forward): Declare.
	* cfgexpand.c (pass_expand::execute): Use it.
	* bb-reorder.c (sanitize_hot_paths): Do not consider known to be
	unlikely edges.
	(find_rarely_executed_basic_blocks_and_crossing_edges): Use
	propagate_unlikely_bbs_forward.

From-SVN: r250360
2017-07-19 18:09:39 +00:00
Jan Hubicka
95a60a5c8c predict.c (propagate_unlikely_bbs_forward): Break out from ...
* predict.c (propagate_unlikely_bbs_forward): Break out from ...
	(determine_unlikely_bbs): ... here.
	* predict.h (propagate_unlikely_bbs_forward): Declare.
	* cfgexpand.c (pass_expand::execute): Use it.
	* bb-reorder.c (sanitize_hot_paths): Do not consider known to be
	unlikely edges.
	(find_rarely_executed_basic_blocks_and_crossing_edges): Use
	propagate_unlikely_bbs_forward.

From-SVN: r250359
2017-07-19 18:08:53 +00:00
Jan Hubicka
3fa410c082 re PR regression/81331 (missed Eh delivery in partitioned function)
PR middle-end/81331
	* except.c (maybe_add_nop_after_section_switch): New function.
	(execute): Use it.

From-SVN: r250358
2017-07-19 18:08:07 +00:00
Volker Reichelt
57c51668ee new (bad_array_new_length): Remove redundant semicolon after in-class member function definition.
* libsupc++/new (bad_array_new_length): Remove redundant
        semicolon after in-class member function definition.
        * include/bits/locale_facets.h (ctype_byname, num_put): Likewise.
        * include/bits/locale_facets_nonio.h (time_put_byname): Likewise.
        * include/bits/random.h (mersenne_twister_engine): Likewise.
        * include/tr1/random.h (mersenne_twister): Likewise
        * include/ext/random (simd_fast_mersenne_twister_engine): Likewise.
        * include/ext/rope (char_producer, _Rope_char_consumer,
        _Rope_self_destruct_ptr, _Rope_const_iterator, _Rope_iterator):
        Likewise.
        * include/ext/ropeimpl.h (_Rope_flatten_char_consumer,
        _Rope_insert_char_consumer): Likewise.

From-SVN: r250357
2017-07-19 16:59:00 +00:00
Jakub Jelinek
77011afe7f ada-tree.h (TYPE_OBJECT_RECORD_TYPE, [...]): Use TYPE_MIN_VALUE_RAW instead of TYPE_MINVAL.
* gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE,
	TYPE_GCC_MIN_VALUE): Use TYPE_MIN_VALUE_RAW instead of TYPE_MINVAL.
	(TYPE_GCC_MAX_VALUE): Use TYPE_MAX_VALUE_RAW instead of TYPE_MAXVAL.

From-SVN: r250355
2017-07-19 17:55:47 +02:00
John Marino
de7422048e Fix Unwind support on DragonFly BSD after sigtramp move
2017-07-19  John Marino  <gnugcc@marino.st>

	* config/i386/dragonfly-unwind.h: Handle sigtramp relocation.

From-SVN: r250354
2017-07-19 16:55:11 +01:00
Jonathan Wakely
e020783cd6 Fix indentation in std::basic_filebuf member functions
* include/bits/fstream.tcc (basic_filebuf::xsgetn)
	(basic_filebuf::xsputn, basic_filebuf::seekoff): Fix indentation.

From-SVN: r250353
2017-07-19 16:46:04 +01:00
Tom de Vries
8f860bca00 Fix assert in gimple_phi_set_arg
2017-07-19  Tom de Vries  <tom@codesourcery.com>

	* gimple.h (gimple_phi_set_arg): Make assert more strict.

From-SVN: r250352
2017-07-19 15:33:50 +00:00
Tom de Vries
a6e07e27e7 Fix assert in gimple_phi_arg
2017-07-19  Tom de Vries  <tom@codesourcery.com>

	* gimple.h (gimple_phi_arg): Make assert more strict.

From-SVN: r250351
2017-07-19 15:33:40 +00:00
Steven Munroe
a85492f3cd Now adding the mmintrin.h intrinsic headers. The DG tests will follow.
2017-07-19  Steven Munroe  <munroesj@gcc.gnu.org>

	* config.gcc (powerpc*-*-*): Add mmintrin.h.
	* config/rs6000/mmintrin.h: New file.
	* config/rs6000/x86intrin.h [__ALTIVEC__]: Include mmintrin.h.

From-SVN: r250350
2017-07-19 15:24:42 +00:00
Jonathan Wakely
4e66b02bc1 Fix indentation in libstdc++ testsuite utils
* testsuite/util/testsuite_iterators.h: Fix indentation.

From-SVN: r250349
2017-07-19 15:49:00 +01:00
Nathan Sidwell
4a18c06666 class.c (add_implicitly_declared_members): Use classtype_has_move_assign_or_move_ctor_p.
* class.c (add_implicitly_declared_members): Use
	classtype_has_move_assign_or_move_ctor_p.
	(classtype_has_move_assign_or_move_ctor,
	classtype_has_user_move_assign_or_move_ctor_p): Merge into ...
	(classtype_has_move_assign_or_move_ctor_p): ... this new function.
	* cp-tree.h (classtype_has_user_move_assign_or_move_ctor_p):
	Replace with ...
	(classtype_has_move_assign_or_move_ctor_p): ... this.
	* method.c (maybe_explain_implicit_delete, lazily_declare_fn): Adjust.
	* tree.c (type_has_nontrivial_copy_init): Adjust.

From-SVN: r250344
2017-07-19 13:28:21 +00:00
Jakub Jelinek
1eba086706 re PR libquadmath/65757 (gfortran gives incorrect result for anint with real*16 argument)
PR libquadmath/65757
	* quadmath-imp.h (math_opt_barrier, math_force_eval,
	math_narrow_eval, math_check_force_underflow,
	math_check_force_underflow_nonneg): Define.
	* math/ceilq.c: Backport changes from upstream glibc
	between 2012-11-01 and 2017-07-13.
	* math/remquoq.c: Likewise.
	* math/expq.c: Likewise.
	* math/llroundq.c: Likewise.
	* math/logq.c: Likewise.
	* math/atanq.c: Likewise.
	* math/nearbyintq.c: Likewise.
	* math/scalblnq.c: Likewise.
	* math/finiteq.c: Likewise.
	* math/atanhq.c: Likewise.
	* math/expm1q.c: Likewise.
	* math/sinhq.c: Likewise.
	* math/log10q.c: Likewise.
	* math/rintq.c: Likewise.
	* math/roundq.c: Likewise.
	* math/fmaq.c: Likewise.
	* math/erfq.c: Likewise.
	* math/log2q.c: Likewise.
	* math/lroundq.c: Likewise.
	* math/j1q.c: Likewise.
	* math/scalbnq.c: Likewise.
	* math/truncq.c: Likewise.
	* math/frexpq.c: Likewise.
	* math/sincosq.c: Likewise.
	* math/tanhq.c: Likewise.
	* math/asinq.c: Likewise.
	* math/coshq.c: Likewise.
	* math/j0q.c: Likewise.
	* math/asinhq.c: Likewise.
	* math/floorq.c: Likewise.
	* math/sinq_kernel.c: Likewise.
	* math/powq.c: Likewise.
	* math/hypotq.c: Likewise.
	* math/sincos_table.c: Likewise.
	* math/rem_pio2q.c: Likewise.
	* math/nextafterq.c: Likewise.
	* math/log1pq.c: Likewise.
	* math/sincosq_kernel.c: Likewise.
	* math/tanq.c: Likewise.
	* math/acosq.c: Likewise.
	* math/lrintq.c: Likewise.
	* math/llrintq.c: Likewise.

From-SVN: r250343
2017-07-19 15:12:58 +02:00
Jakub Jelinek
564e405c13 re PR tree-optimization/81346 (Missed constant propagation into comparison)
PR tree-optimization/81346
	* match.pd: Optimize (X - 1U) <= INT_MAX-1U into (int) X > 0.

	* gcc.dg/tree-ssa/pr81346-5.c: New test.

From-SVN: r250342
2017-07-19 15:10:05 +02:00
Tom de Vries
3717fbe35e Add v2di support for nvptx
2017-07-19  Tom de Vries  <tom@codesourcery.com>

	* config/nvptx/nvptx-modes.def: Add V2DImode.
	* config/nvptx/nvptx-protos.h (nvptx_data_alignment): Declare.
	* config/nvptx/nvptx.c (nvptx_ptx_type_from_mode): Handle V2DImode.
	(nvptx_output_mov_insn): Handle lack of mov.b128.
	(nvptx_print_operand): Handle 'H' and 'L' codes.
	(nvptx_vector_mode_supported): Allow V2DImode.
	(nvptx_preferred_simd_mode): New function.
	(nvptx_data_alignment): New function.
	(TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Redefine to
	nvptx_preferred_simd_mode.
	* config/nvptx/nvptx.h (STACK_BOUNDARY, BIGGEST_ALIGNMENT): Change from
	64 to 128 bits.
	(DATA_ALIGNMENT): Define.  Set to nvptx_data_alignment.

	* config/nvptx/nvptx.md (VECIM): Add V2DI.

	* gcc.target/nvptx/decl-init.c: Update alignment.
	* gcc.target/nvptx/slp-2-run.c: New test.
	* gcc.target/nvptx/slp-2.c: New test.
	* gcc.target/nvptx/v2di.c: New test.

	* testsuite/libgomp.oacc-c/vec.c: New test.

From-SVN: r250341
2017-07-19 13:05:35 +00:00
Tom de Vries
b98b34b708 Add v2si support for nvptx
2017-07-19  Tom de Vries  <tom@codesourcery.com>

	* config/nvptx/nvptx-modes.def: New file.  Add V2SImode.
	* config/nvptx/nvptx.c (nvptx_ptx_type_from_mode): Handle V2SImode.
	(nvptx_vector_mode_supported): New function.  Allow V2SImode.
	(TARGET_VECTOR_MODE_SUPPORTED_P): Redefine to nvptx_vector_mode_supported.
	* config/nvptx/nvptx.md (VECIM): New mode iterator. Add V2SI.
	(mov<VECIM>_insn): New define_insn.
	(define_expand "mov<VECIM>): New define_expand.

	* gcc.target/nvptx/slp-run.c: New test.
	* gcc.target/nvptx/slp.c: New test.
	* gcc.target/nvptx/v2si-cvt.c: New test.
	* gcc.target/nvptx/v2si-run.c: New test.
	* gcc.target/nvptx/v2si.c: New test.
	* gcc.target/nvptx/vec.inc: New test.

From-SVN: r250340
2017-07-19 13:05:21 +00:00
Tom de Vries
1310ff035d Add generic v2 vector mode support for nvptx
2017-07-19  Tom de Vries  <tom@codesourcery.com>

	* config/nvptx/nvptx.c (nvptx_print_operand): Handle v2 vector mode.

From-SVN: r250339
2017-07-19 13:05:09 +00:00
Jakub Jelinek
8d1628eb33 re PR tree-optimization/81346 (Missed constant propagation into comparison)
PR tree-optimization/81346
	* fold-const.h (fold_div_compare, range_check_type): Declare.
	* fold-const.c (range_check_type): New function.
	(build_range_check): Use range_check_type.
	(fold_div_compare): No longer static, rewritten into
	a match.pd helper function.
	(fold_comparison): Don't call fold_div_compare here.
	* match.pd (X / C1 op C2): New optimization using fold_div_compare
	as helper function.

	* gcc.dg/tree-ssa/pr81346-1.c: New test.
	* gcc.dg/tree-ssa/pr81346-2.c: New test.
	* gcc.dg/tree-ssa/pr81346-3.c: New test.
	* gcc.dg/tree-ssa/pr81346-4.c: New test.
	* gcc.target/i386/umod-3.c: Hide comparison against 1 from the
	compiler to avoid X / C1 op C2 optimization to trigger.

From-SVN: r250338
2017-07-19 14:31:59 +02:00
Nathan Sidwell
20deef65ae tree.h (TYPE_MINVAL, [...]): Rename to ...
gcc/
	* tree.h (TYPE_MINVAL, TYPE_MAXVAL): Rename to ...
	(TYPE_MIN_VALUE_RAW, TYPE_MAX_VALUE_RAW): ... these.
	* tree.c (find_decls_types_r, verify_type): Use
	TYPE_{MIN,MAX}_VALUE_RAW.
	* lto-streamer-out.c (DFS::DFS_write_tree_body): Likewise.
	(hash_tree): Likewise.
	* tree-streamer-in.c (lto_input_ts_type_non_common_tree_pointers):
	Likewise.
	* tree-streamer-out.c (write_ts_type_non_common_tree_pointers):
	Likewise.

	gcc/cp/
	* cp-tree.h (PACK_EXPANSION_PARAMETER_PACKS,
	PACK_EXPANSION_EXTRA_ARGS): Use TYPE_{MIN,MAX}_VALUE_RAW.

	gcc/lto/
	* lto.c (mentions_vars_p_type): Use TYPE_{MIN,MAX}_VALUE_RAW.
	(compare_tree_sccs_1, lto_fixup_prevailing_decls): Likewise.

	gcc/objc/
	* objc-act.h (CLASS_NST_METHODS, CLASS_CLS_METHODS): Use
	TYPE_{MIN,MAX}_VALUE_RAW.

From-SVN: r250337
2017-07-19 12:01:18 +00:00
Martin Liska
4d6ababc62 Fix an UBSAN test-case (PR sanitizer/63361).
2017-07-19  Martin Liska  <mliska@suse.cz>

	PR sanitizer/63361
	* c-c++-common/ubsan/float-cast-overflow-1.c: Add either
	-ffloat-store or -mieee for targets that need it.

From-SVN: r250336
2017-07-19 06:50:34 +00:00
Tom de Vries
d83cc5ccf7 Handle equal-argument loop exit phi in expand_omp_for_static_chunk
2017-07-18  Tom de Vries  <tom@codesourcery.com>

	PR middle-end/81464
	* omp-expand.c (expand_omp_for_static_chunk): Handle equal-argument loop
	exit phi.

	* gfortran.dg/pr81464.f90: New test.

From-SVN: r250335
2017-07-19 06:25:40 +00:00
Yury Gribov
8994b66f0d Add myself to MAINTAINERS.
From-SVN: r250334
2017-07-19 05:25:47 +00:00
Jonathan Wakely
1f78c47bf0 Use dg-require-fileio in new test
* testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: Add dg-require.

From-SVN: r250333
2017-07-19 01:23:00 +01:00
GCC Administrator
af15ea9d0e Daily bump.
From-SVN: r250332
2017-07-19 00:16:19 +00:00
Jonathan Wakely
fddcd19abf PR libstdc++/81395 fix crash when write follows large read
PR libstdc++/81395
	* include/bits/fstream.tcc (basic_filebuf::xsgetn): Don't set buffer
	pointers for write mode after reading.
	* testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: New.

From-SVN: r250328
2017-07-19 00:39:34 +01:00
Ian Lance Taylor
6033b55bd9 compiler: insert backend type conversion for closure func ptr
In Func_expression::do_get_backend when creating the backend
    representation for a closure, create a backend type conversion to
    account for potential differences between the closure struct type
    (where the number of fields is dependent on the number of values
    referenced in the closure) and the generic function descriptor type
    (struct with single function pointer field).
    
    Reviewed-on: https://go-review.googlesource.com/49255

From-SVN: r250327
2017-07-18 23:29:15 +00:00
Ian Lance Taylor
9e45ca5f83 re PR go/81451 (missing futex check - libgo/runtime/thread-linux.c:12:0 futex.h:13:12: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘long’)
PR go/81451
    runtime: inline runtime_osinit
    
    We had two identical copies of runtime_osinit. They set runtime_ncpu,
    a variable that is no longer used. Removing that leaves us with two lines.
    Inline those two lines in the two places the function was called.
    
    This fixes GCC PR 81451.
    
    Reviewed-on: https://go-review.googlesource.com/48862

From-SVN: r250326
2017-07-18 23:14:29 +00:00
Ian Lance Taylor
ab86687fee compiler: pass correct 'function' flag to circular_pointer_type
The code in Named_type::do_get_backend was not passing the correct
    flag value for circular function types to Backend::circular_pointer_type
    (it was always setting this flag to false). Pass a true value if the
    type being converted is a function type.
    
    Reviewed-on: https://go-review.googlesource.com/49330

From-SVN: r250325
2017-07-18 22:31:00 +00:00