+2020-06-10 Martin Liska <mliska@suse.cz>
+
+ * gcc-changelog/git_commit.py: Fix renamed files in
+ parse_git_name_status.
+ * gcc-changelog/test_email.py: Add test for it.
+
+2020-06-10 Martin Liska <mliska@suse.cz>
+
+ * gcc-changelog/git_commit.py: Add more supported prefixes.
+ * gcc-changelog/test_email.py: Fix one flake8 error.
+ * gcc-changelog/test_patches.txt: Add tested for newly
+ supported prefixes.
+
+2020-06-10 Jonathan Wakely <jwakely@redhat.com>
+
+ * gcc-changelog/git_commit.py (GitCommit.parse_changelog):
+ Improve error strings.
+ * gcc-changelog/test_email.py: Update expected errors.
+
2020-06-09 Jonathan Wakely <jwakely@redhat.com>
* gcc-changelog/git_email.py: Set exit status on error.
+2020-06-10 Martin Sebor <msebor@redhat.com>
+
+ PR middle-end/95353
+ PR middle-end/92939
+ * builtins.c (inform_access): New function.
+ (check_access): Call it. Add argument.
+ (addr_decl_size): Remove.
+ (get_range): New function.
+ (compute_objsize): New overload. Only use compute_builtin_object_size
+ with raw memory function.
+ (check_memop_access): Pass new argument to compute_objsize and
+ check_access.
+ (expand_builtin_memchr, expand_builtin_strcat): Same.
+ (expand_builtin_strcpy, expand_builtin_stpcpy_1): Same.
+ (expand_builtin_stpncpy, check_strncat_sizes): Same.
+ (expand_builtin_strncat, expand_builtin_strncpy): Same.
+ (expand_builtin_memcmp): Same.
+ * builtins.h (check_nul_terminated_array): Declare extern.
+ (check_access): Add argument.
+ (struct access_ref, struct access_data): New structs.
+ * gimple-ssa-warn-restrict.c (clamp_offset): New helper.
+ (builtin_access::overlap): Call it.
+ * tree-object-size.c (decl_init_size): Declare extern.
+ (addr_object_size): Correct offset computation.
+ * tree-object-size.h (decl_init_size): Declare.
+ * tree-ssa-strlen.c (handle_integral_assign): Remove a call
+ to maybe_warn_overflow when assigning to an SSA_NAME.
+
+2020-06-10 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.c (vect_determine_vectorization_factor):
+ Skip debug stmts.
+ (_loop_vec_info::_loop_vec_info): Likewise.
+ (vect_update_vf_for_slp): Likewise.
+ (vect_analyze_loop_operations): Likewise.
+ (update_epilogue_loop_vinfo): Likewise.
+ * tree-vect-patterns.c (vect_determine_precisions): Likewise.
+ (vect_pattern_recog): Likewise.
+ * tree-vect-slp.c (vect_detect_hybrid_slp): Likewise.
+ (_bb_vec_info::_bb_vec_info): Likewise.
+ * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized):
+ Likewise.
+
+2020-06-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/95576
+ * tree-vect-slp.c (vect_slp_bb): Skip leading debug stmts.
+
+2020-06-10 Haijian Zhang <z.zhanghaijian@huawei.com>
+
+ PR target/95523
+ * config/aarch64/aarch64-sve-builtins.h
+ (sve_switcher::m_old_maximum_field_alignment): New member.
+ * config/aarch64/aarch64-sve-builtins.cc
+ (sve_switcher::sve_switcher): Save maximum_field_alignment in
+ m_old_maximum_field_alignment and clear maximum_field_alignment.
+ (sve_switcher::~sve_switcher): Restore maximum_field_alignment.
+
+2020-06-10 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (_slp_tree::vec_stmts): Make it a vector
+ of gimple * stmts.
+ (_stmt_vec_info::vec_stmts): Likewise.
+ (vec_info::stmt_vec_info_ro): New flag.
+ (vect_finish_replace_stmt): Adjust declaration.
+ (vect_finish_stmt_generation): Likewise.
+ (vectorizable_induction): Likewise.
+ (vect_transform_reduction): Likewise.
+ (vectorizable_lc_phi): Likewise.
+ * tree-vect-data-refs.c (vect_create_data_ref_ptr): Do not
+ allocate stmt infos for increments.
+ (vect_record_grouped_load_vectors): Adjust.
+ * tree-vect-loop.c (vect_create_epilog_for_reduction): Likewise.
+ (vectorize_fold_left_reduction): Likewise.
+ (vect_transform_reduction): Likewise.
+ (vect_transform_cycle_phi): Likewise.
+ (vectorizable_lc_phi): Likewise.
+ (vectorizable_induction): Likewise.
+ (vectorizable_live_operation): Likewise.
+ (vect_transform_loop): Likewise.
+ * tree-vect-patterns.c (vect_pattern_recog): Set stmt_vec_info_ro.
+ * tree-vect-slp.c (vect_get_slp_vect_def): Adjust.
+ (vect_get_slp_defs): Likewise.
+ (vect_transform_slp_perm_load): Likewise.
+ (vect_schedule_slp_instance): Likewise.
+ (vectorize_slp_instance_root_stmt): Likewise.
+ * tree-vect-stmts.c (vect_get_vec_defs_for_operand): Likewise.
+ (vect_finish_stmt_generation_1): Do not allocate a stmt info.
+ (vect_finish_replace_stmt): Do not return anything.
+ (vect_finish_stmt_generation): Likewise.
+ (vect_build_gather_load_calls): Adjust.
+ (vectorizable_bswap): Likewise.
+ (vectorizable_call): Likewise.
+ (vectorizable_simd_clone_call): Likewise.
+ (vect_create_vectorized_demotion_stmts): Likewise.
+ (vectorizable_conversion): Likewise.
+ (vectorizable_assignment): Likewise.
+ (vectorizable_shift): Likewise.
+ (vectorizable_operation): Likewise.
+ (vectorizable_scan_store): Likewise.
+ (vectorizable_store): Likewise.
+ (vectorizable_load): Likewise.
+ (vectorizable_condition): Likewise.
+ (vectorizable_comparison): Likewise.
+ (vect_transform_stmt): Likewise.
+ * tree-vectorizer.c (vec_info::vec_info): Initialize
+ stmt_vec_info_ro.
+ (vec_info::replace_stmt): Copy over stmt UID rather than
+ unsetting/setting a stmt info allocating a new UID.
+ (vec_info::set_vinfo_for_stmt): Assert !stmt_vec_info_ro.
+
+2020-06-10 Aldy Hernandez <aldyh@redhat.com>
+
+ * gimple-loop-versioning.cc (loop_versioning::name_prop::get_value):
+ Add stmt parameter.
+ * gimple-ssa-evrp.c (class evrp_folder): New.
+ (class evrp_dom_walker): Remove.
+ (execute_early_vrp): Use evrp_folder instead of evrp_dom_walker.
+ * tree-ssa-ccp.c (ccp_folder::get_value): Add stmt parameter.
+ * tree-ssa-copy.c (copy_folder::get_value): Same.
+ * tree-ssa-propagate.c (substitute_and_fold_engine::replace_uses_in):
+ Pass stmt to get_value.
+ (substitute_and_fold_engine::replace_phi_args_in): Same.
+ (substitute_and_fold_dom_walker::after_dom_children): Call
+ post_fold_bb.
+ (substitute_and_fold_dom_walker::foreach_new_stmt_in_bb): New.
+ (substitute_and_fold_dom_walker::propagate_into_phi_args): New.
+ (substitute_and_fold_dom_walker::before_dom_children): Adjust to
+ call virtual functions for folding, pre_folding, and post folding.
+ Call get_value with PHI. Tweak dump.
+ * tree-ssa-propagate.h (class substitute_and_fold_engine):
+ New argument to get_value.
+ New virtual function pre_fold_bb.
+ New virtual function post_fold_bb.
+ New virtual function pre_fold_stmt.
+ New virtual function post_new_stmt.
+ New function propagate_into_phi_args.
+ * tree-vrp.c (vrp_folder::get_value): Add stmt argument.
+ * vr-values.c (vr_values::extract_range_from_stmt): Adjust dump
+ output.
+ (vr_values::fold_cond): New.
+ (vr_values::simplify_cond_using_ranges_1): Call fold_cond.
+ * vr-values.h (class vr_values): Add
+ simplify_cond_using_ranges_when_edge_is_known.
+
+2020-06-10 Martin Liska <mliska@suse.cz>
+
+ PR sanitizer/94910
+ * asan.c (asan_emit_stack_protection): Emit
+ also **SavedFlagPtr(FakeStack, class_id) = 0 in order to release
+ a stack frame.
+
+2020-06-10 Tamar Christina <tamar.christina@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Adjust costs for mul.
+
+2020-06-10 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-data-refs.c (vect_vfa_access_size): Adjust.
+ (vect_record_grouped_load_vectors): Likewise.
+ * tree-vect-loop.c (vect_create_epilog_for_reduction): Likewise.
+ (vectorize_fold_left_reduction): Likewise.
+ (vect_transform_reduction): Likewise.
+ (vect_transform_cycle_phi): Likewise.
+ (vectorizable_lc_phi): Likewise.
+ (vectorizable_induction): Likewise.
+ (vectorizable_live_operation): Likewise.
+ (vect_transform_loop): Likewise.
+ * tree-vect-slp.c (vect_get_slp_defs): New function, split out
+ from overload.
+ * tree-vect-stmts.c (vect_get_vec_def_for_operand_1): Remove.
+ (vect_get_vec_def_for_operand): Likewise.
+ (vect_get_vec_def_for_stmt_copy): Likewise.
+ (vect_get_vec_defs_for_stmt_copy): Likewise.
+ (vect_get_vec_defs_for_operand): New function.
+ (vect_get_vec_defs): Likewise.
+ (vect_build_gather_load_calls): Adjust.
+ (vect_get_gather_scatter_ops): Likewise.
+ (vectorizable_bswap): Likewise.
+ (vectorizable_call): Likewise.
+ (vectorizable_simd_clone_call): Likewise.
+ (vect_get_loop_based_defs): Remove.
+ (vect_create_vectorized_demotion_stmts): Adjust.
+ (vectorizable_conversion): Likewise.
+ (vectorizable_assignment): Likewise.
+ (vectorizable_shift): Likewise.
+ (vectorizable_operation): Likewise.
+ (vectorizable_scan_store): Likewise.
+ (vectorizable_store): Likewise.
+ (vectorizable_load): Likewise.
+ (vectorizable_condition): Likewise.
+ (vectorizable_comparison): Likewise.
+ (vect_transform_stmt): Adjust and remove no longer applicable
+ sanity checks.
+ * tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize
+ STMT_VINFO_VEC_STMTS.
+ (vec_info::free_stmt_vec_info): Relase it.
+ * tree-vectorizer.h (_stmt_vec_info::vectorized_stmt): Remove.
+ (_stmt_vec_info::vec_stmts): Add.
+ (STMT_VINFO_VEC_STMT): Remove.
+ (STMT_VINFO_VEC_STMTS): New.
+ (vect_get_vec_def_for_operand_1): Remove.
+ (vect_get_vec_def_for_operand): Likewise.
+ (vect_get_vec_defs_for_stmt_copy): Likewise.
+ (vect_get_vec_def_for_stmt_copy): Likewise.
+ (vect_get_vec_defs): New overloads.
+ (vect_get_vec_defs_for_operand): New.
+ (vect_get_slp_defs): Declare.
+
+2020-06-10 Qian Chao <qianchao9@huawei.com>
+
+ PR tree-optimization/95569
+ * trans-mem.c (expand_assign_tm): Ensure that rtmp is marked TREE_ADDRESSABLE.
+
+2020-06-10 Martin Liska <mliska@suse.cz>
+
+ PR tree-optimization/92860
+ * optc-save-gen.awk: Generate new function cl_optimization_compare.
+ * opth-gen.awk: Generate declaration of the function.
+
2020-06-09 Michael Meissner <meissner@linux.ibm.com>
* config/rs6000/ppc-auxv.h (PPC_PLATFORM_FUTURE): Allocate
+2020-06-10 Arnaud Charlet <charlet@adacore.com>
+
+ * libgnat/s-aomoar.ads, libgnat/s-aomoar.adb: New files.
+ * libgnat/s-atopar.ads: Move...
+ * libgnat/s-aoinar.ads: Here.
+ * libgnat/s-atopar.adb: Move...
+ * libgnat/s-aoinar.adb: Here.
+ * impunit.adb: Update list of runtime files.
+ * Makefile.rtl (GNATRTL_NONTASKING_OBJS=): Adjust.
+
+2020-06-10 Arnaud Charlet <charlet@adacore.com>
+
+ * snames.ads-tmpl (Name_Characters_Assertion_Check,
+ Name_Containers_Assertion_Check,
+ Name_Interfaces_Assertion_Check, Name_IO_Assertion_Check,
+ Name_Numerics_Assertion_Check, Name_Strings_Assertion_Check,
+ Name_System_Assertion_Check): New constants.
+ * types.ads (Characters_Assertion_Check,
+ Containers_Assertion_Check, Interfaces_Assertion_Check,
+ IO_Assertion_Check, Numerics_Assertion_Check,
+ Strings_Assertion_Check, System_Assertion_Check): New constants.
+ (All_Checks): Update accordingly.
+
+2020-06-10 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * exp_ch3.adb (Build_Equivalent_Record_Aggregate): Return Empty
+ if Etype of record component has predicates.
+
+2020-06-10 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch3.adb (Build_Init_Statements): Implement the notion of
+ "require late initialization".
+
+2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.adb (Copy_And_Maybe_Dereference): Temporarily copy
+ the parent node of the original tree when dereferencing.
+
+2020-06-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_warn.adb (Warn_On_Overlapping_Actuals): Add a warning when
+ two actuals in a call overlap, both are composite types that may
+ be passed by reference, and only one of them is writable.
+
+2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch4.adb (Expand_N_In): Use an expression with actions to
+ insert the PE raise statement for the Unchecked_Union case.
+
+2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch4.adb (Analyze_Call): Use idiomatic condition.
+ * sem_res.adb (Resolve_Call): Remove obsolete code.
+
+2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.adb (Copy_And_Maybe_Dereference): New function.
+ (Build_Access_Record_Constraint): Use it to copy the prefix.
+ (Build_Actual_Array_Constraint): Likewise.
+ (Build_Actual_Record_Constraint): Likewise.
+
+2020-06-10 Bob Duff <duff@adacore.com>
+
+ * sem_prag.adb (Invariant): Remove the pragma removing code. It
+ doesn't work to remove the pragma, because various flags are set
+ during Build_Invariant_Procedure_Declaration and
+ Build_Invariant_Procedure_Body that need to be set to avoid the
+ spurious warnings.
+ * exp_util.adb (Make_Invariant_Call): Avoid calling the
+ invariant-checking procedure if the body is empty. This is an
+ optimization.
+
+2020-06-10 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * doc/gnat_ugn/gnat_utility_programs.rst: Fix gnatmetric
+ switches description.
+
+2020-06-10 Arnaud Charlet <charlet@adacore.com>
+
+ * repinfo-input.ads, repinfo-input.adb, repinfo.adb,
+ repinfo.ads: Update header.
+
+2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (In_Place_Assign_OK): Do not necessarily return
+ false for a type with discriminants.
+ (Convert_To_Assignments): Use Parent_Node and Parent_Kind more
+ consistently. In the in-place assignment case, first apply a
+ discriminant check if need be, and be prepared for a rewritten
+ aggregate as a result.
+
+2020-06-10 Arnaud Charlet <charlet@adacore.com>
+
+ * atree.adb, contracts.adb, debug.adb, freeze.adb,
+ repinfo-input.adb, repinfo.adb, sem_attr.adb, sem_ch10.adb,
+ sem_ch13.adb, sem_ch3.adb, sem_ch5.adb, sem_ch6.adb,
+ sem_ch8.adb, sem_ch9.adb, sem_disp.adb, sem_eval.adb,
+ sem_prag.adb: Remove more references to ASIS.
+
+2020-06-10 Arnaud Charlet <charlet@adacore.com>
+
+ * libgnat/s-secsta.adb (Round_Up): Fix typo in exception
+ message.
+
+2020-06-10 Piotr Trojanek <trojanek@adacore.com>
+
+ * par-ch4.adb (P_Membership_Test): Fix typo in a grammar rule.
+
+2020-06-10 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Remove
+ expansion of First and Last attributes.
+
+2020-06-10 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Remove folding
+ for Enum_Rep attribute.
+ * exp_spark.adb (Expand_SPARK_N_Attribute_Reference): Remove
+ duplicated code for folding Enum_Rep attribute.
+ * sem_attr.adb (Eval_Attribute): Relax condition for folding
+ Enum_Rep attribute; previously dead code is now executed when
+ the attribute prefix is an enumeration literal; refine type in
+ processing of Enum_Val.
+
+2020-06-10 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Analyze_Declarations): Adjust the machinery that
+ takes care of late body overriding of initialize, adjust,
+ finalize. Remove ASIS mode code.
+
+2020-06-10 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads (Access_Subprogram_Wrapper): New attribute of
+ Subprogram_Type entities. Denotes subprogram constructed for
+ Access_To_Subprogram types that include pre- and postconditions.
+ * einfo.adb: Subprogram bodies for Access_Subprogram_Wrapper.
+ * exp_ch6.adb (Expand_Call): An indirect call through an
+ Access_To_subprogram that includes contracts is rewritten as a
+ call to the corresponding Access_ ubprogram_Wrapper. Handle
+ derived types that inherit contract from parent.
+ * sem_prag.adb (Build_Access_Subprogram_Wrapper): Build
+ subprogram declaration for subprogram that incorporates the
+ contracts of an Access_To_Subprogram type declaration. Build
+ corresponding body and attach it to freeze actions for type.
+ * sem_util.ads, sem_util.adb (Is_Access_Subprogram_Wrapper):
+ Utility that uses signature of the subprogram to determine
+ whether it is a generated wrapper for an Access_To_Subprogram
+ type.
+
+2020-06-10 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * par-ch6.adb (P_Subprogram): Make sure the specification
+ belongs to a procedure.
+
+2020-06-10 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch13.adb (All_Membership_Choices_Static): Assert an AST
+ property documented in sinfo.ads and simplify an excessive
+ condition.
+
+2020-06-10 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Fix a copy-paste
+ mistake in comment.
+ * sem_res.adb (Flag_Effectively_Volatile_Objects): Fix a type in
+ the SPARK RM rule number.
+ * exp_ch4.adb, sem_util.adb: Fix style in single line comments.
+
+2020-06-10 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_aux.ads, sem_aux.adb (Get_Low_Bound): Remove.
+
+2020-06-10 Arnaud Charlet <charlet@adacore.com>
+
+ * scn.adb (Determine_License): Remove.
+
+2020-06-10 Justin Squirek <squirek@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Add condition to
+ handle processing of objects initialized by a call to a function
+ return an anonymous access type.
+ * exp_ch6.adb, exp_ch6.ads
+ (Has_Unconstrained_Access_Discriminants): Moved to sem_util.adb
+ (Needs_Result_Accessibility_Level): Moved to sem_util.adb
+ * sem_util.adb, sem_util.ads
+ (Has_Unconstrained_Access_Discriminants): Moved from exp_ch6.adb
+ (Needs_Result_Accessibility_Level): Moved from exp_ch6.adb
+ * sem_res.adb (Valid_Conversion): Add condition for the special
+ case where the operand of a conversion is the result of an
+ anonymous access type
+
+2020-06-10 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * par-ch6.adb (P_Subprogram): Reject duplicate subprogram
+ declarations.
+
+2020-06-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Insert_Post_Call_Actions): Deal with the context
+ of an if-expression and with a call written in prefixed notation.
+
+2020-06-10 Gary Dismukes <dismukes@adacore.com>
+
+ * einfo.ads: Minor reformatting of a comment.
+ * exp_aggr.adb: Minor reformatting and a grammar correction.
+ * exp_attr.adb: Minor reformatting and a typo fix in some
+ comments.
+ * sem_ch12.adb: Fix three typos in comments.
+
2020-06-09 Javier Miranda <miranda@adacore.com>
* sem_ch6.adb (New_Overloaded_Entity): Add missing call to check
+2020-06-10 Martin Liska <mliska@suse.cz>
+
+ PR tree-optimization/92860
+ * c-attribs.c (handle_optimize_attribute):
+ Save global options and compare it after parsing of function
+ attribute.
+ * c-pragma.c (opt_stack::saved_global_options): New field.
+ (handle_pragma_push_options): Save global_options.
+ (handle_pragma_pop_options): Compare them after pop.
+
2020-06-09 Jakub Jelinek <jakub@redhat.com>
PR c/95580
+2020-06-10 Iain Sandoe <iain@sandoe.co.uk>
+
+ PR c++/95440
+ * call.c (add_candidates): Use vec_safe_length() for
+ testing the arguments list.
+ (build_new_method_call_1): Use vec_safe_is_empty() when
+ checking for an empty args list.
+
+2020-06-10 Marek Polacek <polacek@redhat.com>
+
+ PR c++/95562
+ * parser.c (cp_parser_direct_declarator): Clear
+ CP_PARSER_FLAGS_DELAY_NOEXCEPT if the declarator kind is not
+ cdk_id.
+
2020-06-09 Iain Sandoe <iain@sandoe.co.uk>
PR c++/95137
+2020-06-10 Alexandre Oliva <oliva@adacore.com>
+
+ PR rtl-optimization/51447
+ * gcc.c-torture/execute/pr51447.c (main): Preserve call-saved
+ register.
+
+2020-06-10 Iain Sandoe <iain@sandoe.co.uk>
+
+ PR c++/95440
+ * g++.dg/coroutines/pr95440.C: New test.
+
+2020-06-10 Martin Sebor <msebor@redhat.com>
+
+ PR middle-end/95353
+ PR middle-end/92939
+ * c-c++-common/Wstringop-truncation.c: Remove an xfail.
+ * gcc.dg/Warray-bounds-46.c: Remove a bogus warning.
+ * gcc.dg/Wrestrict-9.c: Disable -Wstringop-overflow.
+ * gcc.dg/Wstringop-overflow-12.c: Remove xfails.
+ * gcc.dg/Wstringop-overflow-28.c: Same.
+ * gcc.dg/builtin-stringop-chk-4.c: Same.
+ * gcc.dg/builtin-stringop-chk-5.c: Same.
+ * gcc.dg/builtin-stringop-chk-8.c: Same.
+ * gcc.dg/strlenopt-74.c: Avoid buffer overflow.
+ * gcc.dg/Wstringop-overflow-34.c: New test.
+ * gcc.dg/Wstringop-overflow-35.c: New test.
+ * gcc.dg/Wstringop-overflow-36.c: New test.
+ * gcc.dg/Wstringop-overflow-37.c: New test.
+ * gcc.dg/Wstringop-overflow-38.c: New test.
+
+2020-06-10 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/95576
+ * g++.dg/vect/pr95576.cc: New testcase.
+
+2020-06-10 Haijian Zhang <z.zhanghaijian@huawei.com>
+
+ PR target/95523
+ * gcc.target/aarch64/sve/pr95523.c: New test.
+
+2020-06-10 Marek Polacek <polacek@redhat.com>
+
+ PR c++/95562
+ * g++.dg/cpp0x/noexcept60.C: New test.
+
+2020-06-10 Aldy Hernandez <aldyh@redhat.com>
+
+ * gcc.dg/tree-ssa/ssa-dse-30.c: Adjust test for folding of
+ memmove happening later.
+
+2020-06-10 Tamar Christina <tamar.christina@arm.com>
+
+ * gcc.target/aarch64/asimd-mull-elem.c: New test.
+
+2020-06-10 Qian Chao <qianchao9@huawei.com>
+
+ PR tree-optimization/95569
+ * gcc.dg/tm/pr95569.c: New test.
+
2020-06-09 Michael Meissner <meissner@linux.ibm.com>
* gcc.target/powerpc/clone3.c: New test for using 'future' with
+2020-06-10 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/95578
+ * include/bits/ranges_algo.h (__lexicographical_compare_fn):
+ Also check that the iterator and sentinel have the same type before
+ applying the unwrapping optimization for __normal_iterator.
+ Split the check into two, one for the first iterator/sentinel
+ pair and another for second iterator/sentinel pair. Remove uses
+ of __niter_base, and remove uses of std::move on a
+ __normal_iterator.
+ * include/bits/ranges_algobase.h (__equal_fn): Likewise.
+ (__copy_or_move): Likewise. Perform similar adjustments for
+ the reverse_iterator and move_iterator optimizations. Inline
+ the checks into the if-constexprs, and use using-declarations to
+ make them less visually noisy. Remove uses of __niter_wrap.
+ (__copy_or_move_backward): Likewise.
+ * testsuite/25_algorithms/copy/95578.cc: New test.
+ * testsuite/25_algorithms/copy_backward/95578.cc: New test.
+ * testsuite/25_algorithms/equal/95578.cc: New test.
+ * testsuite/25_algorithms/lexicographical_compare/95578.cc: New test.
+ * testsuite/25_algorithms/move/95578.cc: New test.
+ * testsuite/25_algorithms/move_backward/95578.cc: New test.
+
+2020-06-10 François Dumont <fdumont@gcc.gnu.org>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/deque.tcc (__lex_cmp_dit): New.
+ (__lexicographical_compare_aux1): Define overloads for deque
+ iterators.
+ * include/bits/stl_algobase.h (__lexicographical_compare::__3way):
+ New static member function.
+ (__lexicographical_compare<true>::__3way): Likewise.
+ (__lexicographical_compare<true>::__lc): Use __3way.
+ (__lexicographical_compare_aux): Rename to
+ __lexicographical_compare_aux1 and declare overloads for deque
+ iterators.
+ (__lexicographical_compare_aux): Define new forwarding function
+ that calls __lexicographical_compare_aux1 and declare new overloads
+ for safe iterators.
+ (lexicographical_compare): Do not use __niter_base on
+ parameters.
+ * include/debug/safe_iterator.tcc
+ (__lexicographical_compare_aux): Define overloads for safe
+ iterators.
+ * testsuite/25_algorithms/lexicographical_compare/1.cc: Add
+ checks with random access iterators.
+ * testsuite/25_algorithms/lexicographical_compare/deque_iterators/1.cc:
+ New test.
+
2020-06-09 Jonathan Wakely <jwakely@redhat.com>
* include/bits/stl_iterator.h (move_iterator::operator=): Define.