+2020-09-24 Alex Coplan <alex.coplan@arm.com>
+
+ * config/arm/arm-cpus.in (neoverse-n2): New.
+ * config/arm/arm-tables.opt: Regenerate.
+ * config/arm/arm-tune.md: Regenerate.
+ * doc/invoke.texi: Document support for Neoverse N2.
+
+2020-09-24 Alex Coplan <alex.coplan@arm.com>
+
+ * config/aarch64/aarch64-cores.def: Add Neoverse N2.
+ * config/aarch64/aarch64-tune.md: Regenerate.
+ * doc/invoke.texi: Document AArch64 support for Neoverse N2.
+
+2020-09-24 Richard Biener <rguenther@suse.de>
+
+ * vec.h (auto_vec<T, 0>::auto_vec (auto_vec &&)): New move CTOR.
+ (auto_vec<T, 0>::operator=(auto_vec &&)): Delete.
+ * hash-table.h (hash_table::expand): Use std::move when expanding.
+ * cfgloop.h (get_loop_exit_edges): Return auto_vec<edge>.
+ * cfgloop.c (get_loop_exit_edges): Adjust.
+ * cfgloopmanip.c (fix_loop_placement): Likewise.
+ * ipa-fnsummary.c (analyze_function_body): Likewise.
+ * ira-build.c (create_loop_tree_nodes): Likewise.
+ (create_loop_tree_node_allocnos): Likewise.
+ (loop_with_complex_edge_p): Likewise.
+ * ira-color.c (ira_loop_edge_freq): Likewise.
+ * loop-unroll.c (analyze_insns_in_loop): Likewise.
+ * predict.c (predict_loops): Likewise.
+ * tree-predcom.c (last_always_executed_block): Likewise.
+ * tree-ssa-loop-ch.c (ch_base::copy_headers): Likewise.
+ * tree-ssa-loop-im.c (store_motion_loop): Likewise.
+ * tree-ssa-loop-ivcanon.c (loop_edge_to_cancel): Likewise.
+ (canonicalize_loop_induction_variables): Likewise.
+ * tree-ssa-loop-manip.c (get_loops_exits): Likewise.
+ * tree-ssa-loop-niter.c (find_loop_niter): Likewise.
+ (finite_loop_p): Likewise.
+ (find_loop_niter_by_eval): Likewise.
+ (estimate_numbers_of_iterations): Likewise.
+ * tree-ssa-loop-prefetch.c (emit_mfence_after_loop): Likewise.
+ (may_use_storent_in_loop_p): Likewise.
+
+2020-09-24 Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi: Document -fipa-modref, ipa-modref-max-bases,
+ ipa-modref-max-refs, ipa-modref-max-accesses, ipa-modref-max-tests.
+ * ipa-modref-tree.c (test_insert_search_collapse): Update.
+ (test_merge): Update.
+ (gt_ggc_mx): New function.
+ * ipa-modref-tree.h (struct modref_access_node): New structure.
+ (struct modref_ref_node): Add every_access and accesses array.
+ (modref_ref_node::modref_ref_node): Update ctor.
+ (modref_ref_node::search): New member function.
+ (modref_ref_node::collapse): New member function.
+ (modref_ref_node::insert_access): New member function.
+ (modref_base_node::insert_ref): Do not collapse base if ref is 0.
+ (modref_base_node::collapse): Copllapse also refs.
+ (modref_tree): Add accesses.
+ (modref_tree::modref_tree): Initialize max_accesses.
+ (modref_tree::insert): Add access parameter.
+ (modref_tree::cleanup): New member function.
+ (modref_tree::merge): Add parm_map; merge accesses.
+ (modref_tree::copy_from): New member function.
+ (modref_tree::create_ggc): Add max_accesses.
+ * ipa-modref.c (dump_access): New function.
+ (dump_records): Dump accesses.
+ (dump_lto_records): Dump accesses.
+ (get_access): New function.
+ (record_access): Record access.
+ (record_access_lto): Record access.
+ (analyze_call): Compute parm_map.
+ (analyze_function): Update construction of modref records.
+ (modref_summaries::duplicate): Likewise; use copy_from.
+ (write_modref_records): Stream accesses.
+ (read_modref_records): Sream accesses.
+ (pass_ipa_modref::execute): Update call of merge.
+ * params.opt (-param=modref-max-accesses): New.
+ * tree-ssa-alias.c (alias_stats): Add modref_baseptr_tests.
+ (dump_alias_stats): Update.
+ (base_may_alias_with_dereference_p): New function.
+ (modref_may_conflict): Check accesses.
+ (ref_maybe_used_by_call_p_1): Update call to modref_may_conflict.
+ (call_may_clobber_ref_p_1): Update call to modref_may_conflict.
+
+2020-09-24 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/arm/arm.md (*stack_protect_combined_set_insn): For non-PIC,
+ load the address of the canary rather than the address of the
+ constant pool entry that points to it.
+ (*stack_protect_combined_test_insn): Likewise.
+
+2020-09-24 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/97085
+ * match.pd (mask ? { false,..} : { true, ..} -> ~mask): New.
+
+2020-09-24 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-modref-tree.h (modref_base::collapse): Release memory.
+ (modref_tree::create_ggc): New member function.
+ (modref_tree::colapse): Release memory.
+ (modref_tree::~modref_tree): New destructor.
+ * ipa-modref.c (modref_summaries::create_ggc): New function.
+ (analyze_function): Use create_ggc.
+ (modref_summaries::duplicate): Likewise.
+ (read_modref_records): Likewise.
+ (modref_read): Likewise.
+
+2020-09-24 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_rtx_costs): Pass mode to
+ reg_or_add_cint_operand and reg_or_sub_cint_operand.
+
+2020-09-24 Alan Modra <amodra@gmail.com>
+
+ PR target/93012
+ * config/rs6000/rs6000.c (num_insns_constant_gpr): Count rldimi
+ constants correctly.
+
+2020-09-24 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
+ Conditionally define __PCREL__.
+
+2020-09-24 Alan Modra <amodra@gmail.com>
+
+ PR target/97107
+ * config/rs6000/rs6000-internal.h (struct rs6000_stack): Improve
+ calls_p comment.
+ * config/rs6000/rs6000-logue.c (rs6000_stack_info): Likewise.
+ (rs6000_expand_split_stack_prologue): Emit the prologue for
+ functions that make a sibling call.
+
+2020-09-24 David Malcolm <dmalcolm@redhat.com>
+
+ * doc/analyzer.texi (Analyzer Paths): Add note about
+ -fno-analyzer-feasibility.
+ * doc/invoke.texi (Static Analyzer Options): Add
+ -fno-analyzer-feasibility.
+
2020-09-24 Paul A. Clarke <pc@us.ibm.com>
* doc/extend.texi: Add 'd' for doubleword variant of
+2020-09-24 David Malcolm <dmalcolm@redhat.com>
+
+ * analyzer.h (struct rejected_constraint): New decl.
+ * analyzer.opt (fanalyzer-feasibility): New option.
+ * diagnostic-manager.cc (path_builder::path_builder): Add
+ "problem" param and use it to initialize new field.
+ (path_builder::get_feasibility_problem): New accessor.
+ (path_builder::m_feasibility_problem): New field.
+ (dedupe_winners::add): Remove inversion of logic in "if" clause,
+ swapping if/else suites. In the !feasible_p suite, inspect
+ flag_analyzer_feasibility and add code to handle when this
+ is off, accepting the infeasible path, but recording the
+ feasibility_problem.
+ (diagnostic_manager::emit_saved_diagnostic): Pass the
+ feasibility_problem to the path_builder.
+ (diagnostic_manager::add_events_for_eedge): If we have
+ a feasibility_problem at this edge, use it to add a custom event.
+ * engine.cc (exploded_path::feasible_p): Pass a
+ rejected_constraint ** to model.maybe_update_for_edge and transfer
+ ownership of any created instance to any feasibility_problem.
+ (feasibility_problem::dump_to_pp): New.
+ * exploded-graph.h (feasibility_problem::feasibility_problem):
+ Drop "model" param; add rejected_constraint * param.
+ (feasibility_problem::~feasibility_problem): New.
+ (feasibility_problem::dump_to_pp): New decl.
+ (feasibility_problem::m_model): Drop field.
+ (feasibility_problem::m_rc): New field.
+ * program-point.cc (function_point::get_location): Handle
+ PK_BEFORE_SUPERNODE and PK_AFTER_SUPERNODE.
+ * program-state.cc (program_state::on_edge): Pass NULL to new
+ param of region_model::maybe_update_for_edge.
+ * region-model.cc (region_model::add_constraint): New overload
+ adding a rejected_constraint ** param.
+ (region_model::maybe_update_for_edge): Add rejected_constraint **
+ param and pass it to the various apply_constraints_for_ calls.
+ (region_model::apply_constraints_for_gcond): Add
+ rejected_constraint ** param and pass it to add_constraint calls.
+ (region_model::apply_constraints_for_gswitch): Likewise.
+ (region_model::apply_constraints_for_exception): Likewise.
+ (rejected_constraint::dump_to_pp): New.
+ * region-model.h (region_model::maybe_update_for_edge):
+ Add rejected_constraint ** param.
+ (region_model::add_constraint): New overload adding a
+ rejected_constraint ** param.
+ (region_model::apply_constraints_for_gcond): Add
+ rejected_constraint ** param.
+ (region_model::apply_constraints_for_gswitch): Likewise.
+ (region_model::apply_constraints_for_exception): Likewise.
+ (struct rejected_constraint): New.
+
2020-09-23 David Malcolm <dmalcolm@redhat.com>
PR analyzer/97178
+2020-09-24 Nathan Sidwell <nathan@acm.org>
+
+ * cp-tree.h (duplicate_decls): Default is_friend to false.
+ (xref_tag): Default tag_scope & tpl_header_p to ts_current & false.
+ (push_template_decl_real): Default is_friend to false. Rename to
+ ...
+ (push_template_decl): ... here. Delete original decl.
+ * name-lookup.h (pushdecl_namespace_level): Default is_friend to
+ false.
+ (pushtag): Default tag_scope to ts_current.
+ * coroutines.cc (morph_fn_to_coro): Drop default args to xref_tag.
+ * decl.c (start_decl): Drop default args to duplicate_decls.
+ (start_enum): Drop default arg to pushtag & xref_tag.
+ (start_preparsed_function): Pass DECL_FRIEND_P to
+ push_template_decl.
+ (grokmethod): Likewise.
+ * friend.c (do_friend): Rename push_template_decl_real calls.
+ * lambda.c (begin_lamnbda_type): Drop default args to xref_tag.
+ (vla_capture_type): Likewise.
+ * name-lookup.c (maybe_process_template_type_declaration): Rename
+ push_template_decl_real call.
+ (pushdecl_top_level_and_finish): Drop default arg to
+ pushdecl_namespace_level.
+ * pt.c (push_template_decl_real): Assert no surprising friend
+ functions. Rename to ...
+ (push_template_decl): ... here. Delete original function.
+ (lookup_template_class_1): Drop default args from pushtag.
+ (instantiate_class_template_1): Likewise.
+ * ptree.c (debug_overload): Print hidden and using markers.
+ * rtti.c (init_rtti_processing): Drop refault args from xref_tag.
+ (build_dynamic_cast_1, tinfo_base_init): Likewise.
+ * semantics.c (begin_class_definition): Drop default args to
+ pushtag.
+
+2020-09-24 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/97186
+ * pt.c (maybe_instantiate_noexcept): Local externs are never
+ member fns.
+
2020-09-23 Nathan Sidwell <nathan@acm.org>
* name-lookup.h (typedef cxx_binding): Delete tdef.
+2020-09-24 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/96495
+ * trans-expr.c (gfc_conv_procedure_call): Take the deallocation
+ of allocatable result components of a scalar result outside the
+ scalarization loop. Find and use the stored result.
+
2020-09-21 Harald Anlauf <anlauf@gmx.de>
Paul Thomas <pault@gcc.gnu.org>
+2020-09-24 Nathan Sidwell <nathan@acm.org>
+
+ * objcp-decl.c (objcp_start_struct): Drop default args to
+ xref_tag.
+ (objcp_xref_tag): Likewise.
+
2020-01-01 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
+2020-09-24 Nathan Sidwell <nathan@acm.org>
+
+ * g++.dg/template/local-var1.C: New.
+
+2020-09-24 Nathan Sidwell <nathan@acm.org>
+
+ * g++.dg/template/local-fn4.C: Add target c++11
+
+2020-09-24 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/97186
+ * g++.dg/template/local10.C: Rename ...
+ * g++.dg/template/local-fn3.C: .. here. Require lto.
+ * g++.dg/template/local-fn4.C: New.
+
+2020-09-24 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/tree-ssa/modref-1.c: New test.
+
+2020-09-24 Tom de Vries <tdevries@suse.de>
+
+ * gcc.dg/tls/thr-cse-1.c: Scan final dump instead of assembly for
+ nvptx.
+
+2020-09-24 Tom de Vries <tdevries@suse.de>
+
+ * gcc.dg/independent-cloneids-1.c: Use scan-rtl-dump instead of
+ scan-assembler.
+
+2020-09-24 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/97085
+ * gcc.dg/pr97192.c: New testcase.
+
+2020-09-24 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/96495
+ * gfortran.dg/alloc_comp_result_2.f90 : New test.
+
+2020-09-24 Tom de Vries <tdevries@suse.de>
+
+ * gcc.dg/pr87314-1.c: Add nvptx-specific scan-assembler directive.
+
+2020-09-24 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.target/arm/stack-protector-5.c: New test.
+ * gcc.target/arm/stack-protector-6.c: Likewise.
+
+2020-09-24 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.target/arm/stack-protector-3.c: New test.
+ * gcc.target/arm/stack-protector-4.c: Likewise.
+
+2020-09-24 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/97085
+ * gcc.dg/vect/pr97085.c: New testcase.
+
+2020-09-24 Tom de Vries <tdevries@suse.de>
+
+ * gcc.dg/pr94600-1.c: Require effective target non_strict_align for
+ scan-rtl-dump-times.
+ * gcc.dg/pr94600-3.c: Same.
+
+2020-09-24 Tom de Vries <tdevries@suse.de>
+
+ * c-c++-common/builtin-has-attribute-3.c: Compile with -DSKIP_ALIAS
+ for effective target ! alias.
+
+2020-09-24 Kewen Lin <linkw@linux.ibm.com>
+
+ PR tree-optimization/97075
+ * gcc.target/powerpc/p9-vec-length-full-6.c: Adjust.
+
+2020-09-24 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/93355
+ * gcc.dg/analyzer/pr93355-localealias-feasibility.c: New test.
+ * gcc.dg/analyzer/pr93355-localealias-simplified.c: New test.
+ * gcc.dg/analyzer/pr93355-localealias.c: New test.
+
+2020-09-24 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/analyzer/feasibility-2.c: New test.
+
2020-09-23 Martin Sebor <msebor@redhat.com>
PR middle-end/97175
+2020-09-24 Mark Wielaard <mark@klomp.org>
+
+ * dwarf2.def: Add DWARF5 Unit type header encoding macros
+ DW_UT_FIRST, DW_UT and DW_UT_END.
+ * dwarf2.h (enum dwarf_unit_type): Removed and define using
+ DW_UT_FIRST, DW_UT and DW_UT_END macros.
+ (DW_CIE_VERSION): Removed.
+ (get_DW_UT_name): New function declaration.
+
2020-09-15 Tobias Burnus <tobias@codesourcery.com>
PR fortran/96668
+2020-09-24 Nathan Sidwell <nathan@acm.org>
+
+ * libcp1plugin.cc (supplement_binding): Drop default args to
+ duplicate_decls.
+ (safe_pushtag): Drop scope parm. Drop default args to pushtag.
+ (safe_pushdecl_maybe_friend): Rename to ...
+ (safe_pushdecl): ... here. Drop is_friend parm. Drop default args
+ to pushdecl.
+ (plugin_build_decl): Adjust safe_pushdecl & safe_pushtag calls.
+ (plugin_build_constant): Adjust safe_pushdecl call.
+
2020-09-10 Nathan Sidwell <nathan@acm.org>
* libcp1plugin.cc (plugin_build_call_expr): Use DECL_LOCAL_DECL_P.
+2020-09-24 Alan Modra <amodra@gmail.com>
+
+ * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
+ location of .Lret.
+
+2020-09-24 Alan Modra <amodra@gmail.com>
+
+ * src/powerpc/linux64.S (ffi_call_LINUX64): Don't emit global
+ entry when __PCREL__. Call using @notoc. Add nops.
+ * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Likewise.
+ (ffi_go_closure_linux64): Likewise.
+
2020-04-25 Maciej W. Rozycki <macro@wdc.com>
* Makefile.am (DISTCLEANFILES): New variable.
+2020-09-24 Mark Wielaard <mark@klomp.org>
+
+ * dwarfnames.c (get_DW_UT_name): Define using DW_UT_FIRST, DW_UT
+ and DW_UT_END.
+
2020-09-08 Felix Willgerodt <felix.willgerodt@intel.com>
* floatformat.c (floatformat_bfloat16_big): New.
+2020-09-24 Antony Polukhin <antoshkka@gmail.com>
+
+ PR libstdc++/71579
+ * include/std/type_traits (invoke_result, is_invocable)
+ (is_invocable_r, is_nothrow_invocable, is_nothrow_invocable_r):
+ Add static_asserts to make sure that the arguments of the type
+ traits are not misused with incomplete types.
+ * testsuite/20_util/invoke_result/incomplete_args_neg.cc: New test.
+ * testsuite/20_util/is_invocable/incomplete_args_neg.cc: New test.
+ * testsuite/20_util/is_invocable/incomplete_neg.cc: New test.
+ * testsuite/20_util/is_nothrow_invocable/incomplete_args_neg.cc:
+ New test.
+ * testsuite/20_util/is_nothrow_invocable/incomplete_neg.cc: Check
+ for error on incomplete type usage in trait.
+
+2020-09-24 Patrick Palka <ppalka@redhat.com>
+
+ * include/std/ranges (__detail::__boxable): Split out the
+ associated constraints of __box into here.
+ (__detail::__box): Use the __boxable concept. Define a leaner
+ partial specialization for semiregular types.
+ (single_view::_M_value): Give it [[no_unique_address]].
+ (filter_view::_M_pred): Likewise.
+ (transform_view::_M_fun): Likewise.
+ (take_while_view::_M_pred): Likewise.
+ (drop_while_view::_M_pred):: Likewise.
+ * testsuite/std/ranges/adaptors/detail/semiregular_box.cc: New
+ test.
+
+2020-09-24 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/configure.xml: Correct name of option.
+ * doc/html/*: Regenerate.
+
2020-09-22 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/97167