Commit Graph

153782 Commits

Author SHA1 Message Date
Paul Thomas 7951af5409 backport: re PR fortran/78619 (ICE in copy_reference_ops_from_ref, at tree-ssa-sccvn.c:889)
2017-11-13  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk
	PR fortran/78619
	* check.c (same_type_check): Introduce a new argument 'assoc'
	with default value false. If this is true, use the symbol type
	spec of BT_PROCEDURE expressions.
	(gfc_check_associated): Set 'assoc' true in the call to
	'same_type_check'.

2017-11-13  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk
	PR fortran/78619
	* gfortran.dg/pr78619.f90: New test.

From-SVN: r254708
2017-11-13 20:43:26 +00:00
Janne Blomqvist 62adf57eea Introduce logical_type_node and use it
Backport from trunk.

Earlier GFortran used to redefine boolean_type_node, which in the rest
of the compiler means the C/C++ _Bool/bool type, to the Fortran
default logical type.  When this redefinition was removed, a few
issues surfaced. Namely,

1) PR 82869, where we created a boolean tmp variable, and passed it to
the runtime library as a Fortran logical variable of a different size.

2) Fortran specifies that logical operations should be done with the
default logical kind, not in any other kind.

3) Using 8-bit variables have some issues, such as
   - on x86, partial register stalls and length prefix changes.
      - s390 has a compare with immediate and jump instruction which
           works with 32-bit but not 8-bit quantities.

This patch addresses these issues by introducing a type
logical_type_node which is a Fortran LOGICAL variable of default
kind. It is then used in places were the Fortran standard mandates, as
well as for compiler generated temporary variables.

For x86-64, using the Polyhedron benchmark suite, no performance or
code size difference worth mentioning was observed.

Regtested on x86_64-pc-linux-gnu.

gcc/fortran/ChangeLog:

2017-11-13  Janne Blomqvist  <jb@gcc.gnu.org>

	PR 82869
	* convert.c (truthvalue_conversion): Use logical_type_node.
	* trans-array.c (gfc_trans_allocate_array_storage): Likewise.
	(gfc_trans_create_temp_array): Likewise.
	(gfc_trans_array_ctor_element): Likewise.
	(gfc_trans_array_constructor_value): Likewise.
	(trans_array_constructor): Likewise.
	(trans_array_bound_check): Likewise.
	(gfc_conv_array_ref): Likewise.
	(gfc_trans_scalarized_loop_end): Likewise.
	(gfc_conv_array_extent_dim): Likewise.
	(gfc_array_init_size): Likewise.
	(gfc_array_allocate): Likewise.
	(gfc_trans_array_bounds): Likewise.
	(gfc_trans_dummy_array_bias): Likewise.
	(gfc_conv_array_parameter): Likewise.
	(duplicate_allocatable): Likewise.
	(duplicate_allocatable_coarray): Likewise.
	(structure_alloc_comps): Likewise
	(get_std_lbound): Likewise
	(gfc_alloc_allocatable_for_assignment): Likewise
	* trans-decl.c (add_argument_checking): Likewise
	(gfc_generate_function_code): Likewise
	* trans-expr.c (gfc_copy_class_to_class): Likewise
	(gfc_trans_class_array_init_assign): Likewise
	(gfc_trans_class_init_assign): Likewise
	(gfc_conv_expr_present): Likewise
	(gfc_conv_substring): Likewise
	(gfc_conv_cst_int_power): Likewise
	(gfc_conv_expr_op): Likewise
	(gfc_conv_procedure_call): Likewise
	(fill_with_spaces): Likewise
	(gfc_trans_string_copy): Likewise
	(gfc_trans_alloc_subarray_assign): Likewise
	(gfc_trans_pointer_assignment): Likewise
	(gfc_trans_scalar_assign): Likewise
	(fcncall_realloc_result): Likewise
	(alloc_scalar_allocatable_for_assignment): Likewise
	(trans_class_assignment): Likewise
	(gfc_trans_assignment_1): Likewise
	* trans-intrinsic.c (build_fixbound_expr): Likewise
	(gfc_conv_intrinsic_aint): Likewise
	(gfc_trans_same_strlen_check): Likewise
	(conv_caf_send): Likewise
	(trans_this_image): Likewise
	(conv_intrinsic_image_status): Likewise
	(trans_image_index): Likewise
	(gfc_conv_intrinsic_bound): Likewise
	(conv_intrinsic_cobound): Likewise
	(gfc_conv_intrinsic_mod): Likewise
	(gfc_conv_intrinsic_dshift): Likewise
	(gfc_conv_intrinsic_dim): Likewise
	(gfc_conv_intrinsic_sign): Likewise
	(gfc_conv_intrinsic_ctime): Likewise
	(gfc_conv_intrinsic_fdate): Likewise
	(gfc_conv_intrinsic_ttynam): Likewise
	(gfc_conv_intrinsic_minmax): Likewise
	(gfc_conv_intrinsic_minmax_char): Likewise
	(gfc_conv_intrinsic_anyall): Likewise
	(gfc_conv_intrinsic_arith): Likewise
	(gfc_conv_intrinsic_minmaxloc): Likewise
	(gfc_conv_intrinsic_minmaxval): Likewise
	(gfc_conv_intrinsic_btest): Likewise
	(gfc_conv_intrinsic_bitcomp): Likewise
	(gfc_conv_intrinsic_shift): Likewise
	(gfc_conv_intrinsic_ishft): Likewise
	(gfc_conv_intrinsic_ishftc): Likewise
	(gfc_conv_intrinsic_leadz): Likewise
	(gfc_conv_intrinsic_trailz): Likewise
	(gfc_conv_intrinsic_mask): Likewise
	(gfc_conv_intrinsic_spacing): Likewise
	(gfc_conv_intrinsic_rrspacing): Likewise
	(gfc_conv_intrinsic_size): Likewise
	(gfc_conv_intrinsic_sizeof): Likewise
	(gfc_conv_intrinsic_transfer): Likewise
	(gfc_conv_allocated): Likewise
	(gfc_conv_associated): Likewise
	(gfc_conv_same_type_as): Likewise
	(gfc_conv_intrinsic_trim): Likewise
	(gfc_conv_intrinsic_repeat): Likewise
	(conv_isocbinding_function): Likewise
	(conv_intrinsic_ieee_is_normal): Likewise
	(conv_intrinsic_ieee_is_negative): Likewise
	(conv_intrinsic_ieee_copy_sign): Likewise
	(conv_intrinsic_move_alloc): Likewise
	* trans-io.c (set_parameter_value_chk): Likewise
	(set_parameter_value_inquire): Likewise
	(set_string): Likewise
	* trans-openmp.c (gfc_walk_alloc_comps): Likewise
	(gfc_omp_clause_default_ctor): Likewise
	(gfc_omp_clause_copy_ctor): Likewise
	(gfc_omp_clause_assign_op): Likewise
	(gfc_omp_clause_dtor): Likewise
	(gfc_omp_finish_clause): Likewise
	(gfc_trans_omp_clauses): Likewise
	(gfc_trans_omp_do): Likewise
	* trans-stmt.c (gfc_trans_goto): Likewise
	(gfc_trans_sync): Likewise
	(gfc_trans_arithmetic_if): Likewise
	(gfc_trans_simple_do): Likewise
	(gfc_trans_do): Likewise
	(gfc_trans_forall_loop): Likewise
	(gfc_trans_where_2): Likewise
	(gfc_trans_allocate): Likewise
	(gfc_trans_deallocate): Likewise
	* trans-types.c (gfc_init_types): Initialize logical_type_node and
	their true/false trees.
	(gfc_get_array_descr_info): Use logical_type_node.
	* trans-types.h (logical_type_node): New tree.
	(logical_true_node): Likewise.
	(logical_false_node): Likewise.
	* trans.c (gfc_trans_runtime_check): Use logical_type_node.
	(gfc_call_malloc): Likewise
	(gfc_allocate_using_malloc): Likewise
	(gfc_allocate_allocatable): Likewise
	(gfc_add_comp_finalizer_call): Likewise
	(gfc_add_finalizer_call): Likewise
	(gfc_deallocate_with_status): Likewise
	(gfc_deallocate_scalar_with_status): Likewise
	(gfc_call_realloc): Likewise


gcc/testsuite/ChangeLog:

2017-11-13  Janne Blomqvist  <jb@gcc.gnu.org>

	PR 82869
	* gfortran.dg/logical_temp_io.f90: New test.
	* gfortran.dg/logical_temp_io_kind8.f90: New test.

From-SVN: r254706
2017-11-13 22:01:20 +02:00
Rainer Orth f512f6f96b Use -xbrace_comment=no with recent Solaris/x86 as
Backport from mainline
	2017-10-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac (gcc_cv_as_ix86_xbrace_comment): Check if assembler
	supports -xbrace_comment option.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Define.
	(ASM_CPU_SPEC): Use it.

From-SVN: r254681
2017-11-13 12:38:16 +00:00
GCC Administrator 6d4e81840e Daily bump.
From-SVN: r254668
2017-11-13 00:16:16 +00:00
GCC Administrator 8eae0ada26 Daily bump.
From-SVN: r254662
2017-11-12 00:16:12 +00:00
GCC Administrator d665945628 Daily bump.
From-SVN: r254646
2017-11-11 00:16:10 +00:00
Eric Botcazou 98598f0537 utils.c (convert): Add comment and do not fall through to the next case.
* gcc-interface/utils.c (convert) <RECORD_TYPE>: Add comment and do
	not fall through to the next case.
	<ARRAY_TYPE>: Deal specially with a dereference from another array
	type with the same element type.

From-SVN: r254619
2017-11-10 08:23:20 +00:00
GCC Administrator 72369bbdd6 Daily bump.
From-SVN: r254616
2017-11-10 00:16:11 +00:00
Segher Boessenkool 2ae87906ec Backport PRs 64682, 69567, 69737, 82683
Backport from mainline
	2017-11-01  Segher Boessenkool  <segher@kernel.crashing.org>

	PR rtl-optimization/64682
	PR rtl-optimization/69567
	PR rtl-optimization/69737
	PR rtl-optimization/82683
	* combine.c (distribute_notes) <REG_DEAD>: If the new I2 sets the same
	register mentioned in the note, drop the note, unless it came from I3,
	in which case it should go to I3 again.

From-SVN: r254564
2017-11-09 11:21:06 +01:00
GCC Administrator d04c03ee0e Daily bump.
From-SVN: r254558
2017-11-09 00:16:08 +00:00
GCC Administrator fd1675d082 Daily bump.
From-SVN: r254515
2017-11-08 00:16:15 +00:00
Eric Botcazou 2364fa7f79 re PR rtl-optimization/81803 (miscompilation at -O1 on mips64el)
PR rtl-optimization/81803
	* lra-constraints.c (curr_insn_transform): Also reload the whole
	register for a strict subreg no wider than a word if this is for
	a WORD_REGISTER_OPERATIONS target.

From-SVN: r254488
2017-11-07 07:44:58 +00:00
GCC Administrator cf0cc17f25 Daily bump.
From-SVN: r254482
2017-11-07 00:16:10 +00:00
Paul Thomas d006aa2b09 backport: re PR fortran/78641 ([OOP] ICE on polymorphic allocatable function in array constructor)
2017-11-06  Paul Thomas  <pault@gcc.gnu.org>

	Backported from trunk
	PR fortran/78641
	* resolve.c (resolve_ordinary_assign): Do not add the _data
	component for class valued array constructors being assigned
	to derived type arrays.
	* trans-array.c (gfc_trans_array_ctor_element): Take the _data
	of class valued elements for assignment to derived type arrays.

2017-11-06  Paul Thomas  <pault@gcc.gnu.org>

	Backported from trunk
	PR fortran/78641
	* gfortran.dg/class_66.f90: New test.

From-SVN: r254444
2017-11-06 10:40:11 +00:00
Paul Thomas cc44302bc6 [multiple changes]
2017-11-06  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/69739
	* trans-expr.c (gfc_map_intrinsic_function): Return false for
	bounds without the DIM argument instead of ICEing.

2017-11-06  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/69739
	* gfortran.dg/pr69739.f90: New test.

From-SVN: r254442
2017-11-06 10:14:29 +00:00
GCC Administrator cdfabae2ab Daily bump.
From-SVN: r254434
2017-11-06 00:16:11 +00:00
Andreas Tobler 4561f563ec backport: re PR libgcc/82635 (std::thread's join broken on FreeBSD with all GCCs >= 5)
2017-11-05  Andreas Tobler  <andreast@gcc.gnu.org>

    Backport from mainline
    2017-11-04  Andreas Tobler  <andreast@gcc.gnu.org>

    PR libgcc/82635
    * config/i386/freebsd-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Use a
    sysctl to determine whether we're in a trampoline.
    Keep the pattern matching method for systems without
    KERN_PROC_SIGTRAMP sysctl.

From-SVN: r254431
2017-11-05 20:30:41 +01:00
Paul Thomas b5172328dd re PR fortran/81447 ([7/8] gfortran fails to recognize the exact dynamic type of a polymorphic entity that was allocated in a external procedure)
2017-11-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/81447
	PR fortran/82783
	* resolve.c (resolve_component): There is no need to resolve
	the components of a use associated vtype.
	(resolve_fl_derived): Unconditionally generate a vtable for any
	module derived type, as long as the standard is F2003 or later
	and it is not a vtype or a PDT template.

2017-11-05  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/81447
	* gfortran.dg/class_65.f90: New test.
	* gfortran.dg/alloc_comp_basics_1.f90: Increase builtin_free
	count from 18 to 21.
	* gfortran.dg/allocatable_scalar_9.f90: Increase builtin_free
	count from 32 to 54.
	* gfortran.dg/auto_dealloc_1.f90: Increase builtin_free
	count from 4 to 10.
	* gfortran.dg/coarray_lib_realloc_1.f90: Increase builtin_free
	count from 3 to 6. Likewise _gfortran_caf_deregister from 2 to
	3, builtin_malloc from 1 to 4 and builtin_memcpy|= MEM from
	2 to 5.
	* gfortran.dg/finalize_28.f90: Increase builtin_free
	count from 3 to 6.
	* gfortran.dg/move_alloc_15.f90: Increase builtin_free and
	builtin_malloc counts from 11 to 14.
	* gfortran.dg/typebound_proc_27.f03: Increase builtin_free
	count from 7 to 10. Likewise builtin_malloc from 12 to 15.

From-SVN: r254429
2017-11-05 16:56:14 +00:00
GCC Administrator cd45ac3b3d Daily bump.
From-SVN: r254414
2017-11-05 00:16:08 +00:00
Steven G. Kargl 6cdeebc0e6 re PR fortran/82796 (Private+equivalence in used module breaks compilation of pure function)
2017-11-04  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/82796
	* resolve.c (resolve_equivalence): An entity in a common block within
 	a module cannot appear in an equivalence statement if the entity is
	with a pure procedure.

2017-11-04  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/82796
	* gfortran.dg/equiv_pure.f90: New test.

From-SVN: r254409
2017-11-04 16:41:09 +00:00
Andre Vehreschild 56d687fec3 trans-expr.c (gfc_trans_assignment_1): Character kind conversion may create a loop variant temporary, too.
gcc/fortran/ChangeLog:

2017-11-04  Andre Vehreschild  <vehre@gcc.gnu.org>

	* trans-expr.c (gfc_trans_assignment_1): Character kind conversion may
	create a loop variant temporary, too.
	* trans-intrinsic.c (conv_caf_send): Treat char arrays as arrays and
	not as scalars.
	* trans.c (get_array_span): Take the character kind into account when
	doing pointer arithmetic.

gcc/testsuite/ChangeLog:

2017-11-04  Andre Vehreschild  <vehre@gcc.gnu.org>

	* gfortran.dg/coarray/send_char_array_1.f90: New test.

From-SVN: r254408
2017-11-04 15:37:03 +01:00
GCC Administrator 74d0b7cff0 Daily bump.
From-SVN: r254401
2017-11-04 00:16:11 +00:00
Paul Thomas 726e7a70b9 re PR fortran/81735 (double free or corruption (fasttop) error (SIGABRT) with character(:) and custom return type with allocatable)
2017-11-03  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/81735
	* trans-decl.c (gfc_trans_deferred_vars): Correct case where
	'tmp' can be used unititialized.

2017-11-03  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/81735
	* gfortran.dg/pr81735.f90: New test.

From-SVN: r254389
2017-11-03 19:01:29 +00:00
Wilco Dijkstra cebaca3600 PR60580: Fix frame pointer option magic
To fix PR60580 simplify the logic in aarch64_override_options_after_change_1 (). 
If the frame pointer is enabled, set it to a special value that behaves similar
to frame pointer omission.  If we don't do this all leaf functions will get a
frame pointer even if flag_omit_leaf_frame_pointer is set.

If flag_omit_frame_pointer has this special value, we must force the frame
pointer if not in a leaf function.  We also need to force it in a leaf function
if flag_omit_frame_pointer is not set or if LR is used.

Doing this allows both -fomit-frame-pointer and -fomit-leaf-frame-pointer to be
independently set and changed in each function with the expected behaviour.

    gcc/
	PR middle-end/60580
	* config/aarch64/aarch64.c (aarch64_frame_pointer_required)
	Check special value of flag_omit_frame_pointer.
	(aarch64_can_eliminate): Likewise.
	(aarch64_override_options_after_change_1): Simplify handling of
	-fomit-frame-pointer and -fomit-leaf-frame-pointer.

From-SVN: r254377
2017-11-03 15:01:10 +00:00
GCC Administrator a3d5fd7670 Daily bump.
From-SVN: r254363
2017-11-03 00:16:16 +00:00
Eric Botcazou f92892ddbb Move testsuite entry to proper file
From-SVN: r254347
2017-11-02 15:02:23 +00:00
GCC Administrator 64e562b214 Daily bump.
From-SVN: r254333
2017-11-02 00:16:10 +00:00
Tamar Christina 64814d1e43 backport: [multiple changes]
2017-11-01  Tamar Christina  <tamar.christina@arm.com>                                                                                                           

        Backported from trunk
        * gcc.dg/vect/vect-align-1.c: Fix vect_hw_misalign condition.
        * gcc.dg/vect/vect-align-2.c: Likewise.
        * gcc.dg/vect/vect-multitypes-1.c: Likewise

2017-11-01  Tamar Christina  <tamar.christina@arm.com>

        Backported from trunk
        * gcc.dg/vect/vect-multitypes-1.c: Correct target selector.

2017-11-01  Christophe Lyon  <christophe.lyon@linaro.org>

        Backported from trunk
        * lib/target-supports.exp (check_effective_target_vect_hw_misalign):
        Fix arm check.

From-SVN: r254301
2017-11-01 11:57:48 +00:00
Paul Thomas 3ce323d917 re PR libfortran/80850 (Sourced allocate() fails to allocate a pointer)
2017-11-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/80850
	* trans_expr.c (gfc_conv_procedure_call): When passing a class
	argument to an unlimited polymorphic dummy, it is wrong to cast
	the passed expression as unlimited, unless it is unlimited. The
	correct way is to assign to each of the fields and set the _len
	field to zero.

2017-11-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/80850
	* gfortran.dg/class_64_f90 : New test.

From-SVN: r254299
2017-11-01 11:29:07 +00:00
Martin Jambor aafe60b2f4 [PR 81702] Remove devirtualization assert
2017-11-01  Martin Jambor  <mjambor@suse.cz>

	PR c++/81702
	* gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert.

testsuite/
	* g++.dg/tree-ssa/pr81702.C: New test.

From-SVN: r254295
2017-11-01 11:35:13 +01:00
Paul Thomas 1281989b2b re PR libfortran/80850 (Sourced allocate() fails to allocate a pointer)
2017-11-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/80850
	* trans_expr.c (gfc_conv_procedure_call): When passing a class
	argument to an unlimited polymorphic dummy, it is wrong to cast
	the passed expression as unlimited, unless it is unlimited. The
	correct way is to assign to each of the fields and set the _len
	field to zero.

2017-11-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/80850
	* gfortran.dg/class_64_f90 : New test.

From-SVN: r254293
2017-11-01 09:33:26 +00:00
GCC Administrator 9f746a1f29 Daily bump.
From-SVN: r254286
2017-11-01 00:16:16 +00:00
Uros Bizjak 902b2d9d0a re PR target/82772 (GCC crashes as compiling ags_thread.c source file on alpha architecture)
PR target/82772
	* config/alpha/sync.md (fetchop_constr) <and>: Change to "rINM".

From-SVN: r254254
2017-10-31 11:34:55 +01:00
GCC Administrator 9e87e3a81e Daily bump.
From-SVN: r254248
2017-10-31 00:16:10 +00:00
Paolo Carlini 4fb0491161 re PR c++/82085 (ICE: Template variable reference used in nested template alias)
/cp
2017-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/82085
	* pt.c (tsubst_copy_and_build, [INDIRECT_REF]): For a REFERENCE_REF_P,
	unconditionally call convert_from_reference.

/testsuite
2017-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/82085
	* g++.dg/cpp1y/var-templ56.C: New.

From-SVN: r254240
2017-10-30 19:17:40 +00:00
GCC Administrator 5a69d9d5da Daily bump.
From-SVN: r254209
2017-10-30 00:16:18 +00:00
GCC Administrator 56ee567a87 Daily bump.
From-SVN: r254202
2017-10-29 00:16:09 +00:00
Andre Vehreschild 202536931c check.c (gfc_check_co_reduce): Clarify error message.
gcc/fortran/ChangeLog:

2017-10-28  Andre Vehreschild  <vehre@gcc.gnu.org>

	* check.c (gfc_check_co_reduce): Clarify error message.

From-SVN: r254198
2017-10-28 16:56:06 +02:00
Paul Thomas d138f8ec62 re PR fortran/81758 ([OOP] Broken vtab)
2017-10-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/81758
	* trans-expr.c (trans_class_vptr_len_assignment): 'vptr_expr'
	must only be set if the right hand side expression is of type
	class.

2017-10-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/81758
	* gfortran.dg/class_63.f90: New test.

From-SVN: r254196
2017-10-28 08:53:19 +00:00
GCC Administrator 6db8d46fb4 Daily bump.
From-SVN: r254191
2017-10-28 00:16:13 +00:00
Jakub Jelinek 9dccb36f6b backport: re PR c++/82159 (ICE: in assign_temp, at function.c:961)
Backported from mainline
	2017-10-12  Jakub Jelinek  <jakub@redhat.com>

	PR c++/82159
	* expr.c (store_field): Don't optimize away bitsize == 0 store
	from CALL_EXPR with addressable return type.

	* g++.dg/opt/pr82159-2.C: New test.

From-SVN: r254181
2017-10-27 22:35:06 +02:00
Jakub Jelinek 02a55dcbaf backport: re PR c++/82373 (syntax error in error message)
Backported from mainline
	2017-10-04  Jakub Jelinek  <jakub@redhat.com>

	PR c++/82373
	* error.c (dump_function_decl): If show_return, call dump_type_suffix
	on the same return type dump_type_prefix has been called on.

	* g++.dg/cpp1y/pr82373.C: New test.

From-SVN: r254180
2017-10-27 22:34:22 +02:00
Jakub Jelinek d84264fb75 backport: re PR sanitizer/81715 (asan-stack=1 redzone allocation is too inflexible)
Backported from mainline
	2017-09-21  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/81715
	* tree-inline.c (expand_call_inline): Emit clobber stmts for
	VAR_DECLs to which addressable non-volatile parameters are mapped
	and for id->retvar after the return value assignment, though
	for -fsanitize=kernel-address only.  Clear id->retval and id->retbnd
	after inlining.

	* g++.dg/asan/pr81715.C: New test.

From-SVN: r254179
2017-10-27 22:33:35 +02:00
Jakub Jelinek 7b3d2ce965 backport: re PR c/82234 (__builtin_shuffle is not in the keyword index)
Backported from mainline
	2017-09-18  Jakub Jelinek  <jakub@redhat.com>

	PR c/82234
	* doc/extend.texi: Add @findex entry for __builtin_shuffle.

From-SVN: r254178
2017-10-27 22:32:47 +02:00
Jakub Jelinek eeecd15ffc backport: re PR rtl-optimization/82192 (gcc produces incorrect code with -O2 and bit-field)
Backported from mainline
	2017-09-15  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/82192
	* combine.c (make_extraction): Don't look through non-paradoxical
	SUBREGs or TRUNCATE if pos + len is or might be bigger than
	inner's mode.

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

From-SVN: r254177
2017-10-27 22:32:21 +02:00
Jerry DeLisle ee3ac71709 Rimvydas (RJ)
2017-10-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Rimvydas (RJ)

	Backport from trunk
	PR libgfortran/81938
	io/format.c (free_format_data): Don't try to free vlist
	descriptors past the end of the fnode array.

From-SVN: r254169
2017-10-27 18:51:35 +00:00
Jakub Jelinek dba9a0fe80 re PR target/82703 (Wrong addition of std::array components with -O2 -ftree-loop-vectorize -ftree-slp-vectorize (works fine with -O2))
PR target/82703
	* config/i386/i386-protos.h (maybe_get_pool_constant): Removed.
	* config/i386/i386.c (maybe_get_pool_constant): Removed.
	(ix86_split_to_parts): Use avoid_constant_pool_reference instead of
	maybe_get_pool_constant.
	* config/i386/predicates.md (zero_extended_scalar_load_operand):
	Likewise.

	* gcc.dg/pr82703.c: New test.

From-SVN: r254146
2017-10-27 14:25:34 +02:00
GCC Administrator c14baec783 Daily bump.
From-SVN: r254130
2017-10-27 00:16:15 +00:00
GCC Administrator 8c8bbddf95 Daily bump.
From-SVN: r254095
2017-10-26 00:16:09 +00:00
Jonathan Wakely 21197715b3 Update C++17 library status documentation
* doc/xml/manual/status_cxx1998.xml: Correct statement about
        what the doc covers.
        * doc/xml/manual/status_cxx2011.xml: Likewise.
        * doc/xml/manual/status_cxx2014.xml: Likewise.
	* doc/xml/manual/status_cxx2017.xml: Update C++17 status, and
	information on feature-test macros.
        * doc/xml/manual/status_cxxtr1.xml: Correct statement about what
        the doc covers.
        * doc/xml/manual/status_cxxtr24733.xml: Likewise.
	* doc/html/*: Regenerate.

From-SVN: r254080
2017-10-25 15:18:43 +01:00