From 8be127cac959d0f0ca0f8f9aa311828a9ee03f24 Mon Sep 17 00:00:00 2001 From: GCC Administrator Date: Tue, 13 Oct 2020 00:16:26 +0000 Subject: [PATCH] Daily bump. --- gcc/ChangeLog | 222 ++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 5 + gcc/analyzer/ChangeLog | 55 ++++++++++ gcc/cp/ChangeLog | 13 +++ gcc/d/ChangeLog | 10 ++ gcc/fortran/ChangeLog | 6 ++ gcc/testsuite/ChangeLog | 109 ++++++++++++++++++++ libphobos/ChangeLog | 10 ++ libstdc++-v3/ChangeLog | 39 +++++++ 10 files changed, 470 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a5dadb9c37c..27cbf29206b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,225 @@ +2020-10-12 Alexandre Oliva + + * builtins.c (mathfn_built_in_type): Use CFN_ enumerators. + +2020-10-12 Andrew MacLeod + + PR tree-optimization/97381 + * gimple-range-gori.cc (gori_compute::compute_operand2_range): If a range cannot be + calculated through operand 2, return false. + +2020-10-12 Aldy Hernandez + + PR tree-optimization/97378 + * range-op.cc (operator_trunc_mod::wi_fold): Return VARYING for mod by zero. + +2020-10-12 David Malcolm + + * doc/invoke.texi: Document -Wanalyzer-write-to-const and + -Wanalyzer-write-to-string-literal. + +2020-10-12 Martin Sebor + + PR middle-end/97342 + PR middle-end/97023 + PR middle-end/96384 + * builtins.c (access_ref::access_ref): Initialize new member. Use + new enum. + (access_ref::size_remaining): Define new member function. + (inform_access): Handle expressions referencing objects. + (gimple_call_alloc_size): Call get_size_range instead of get_range. + (gimple_call_return_array): New function. + (get_range): Rename... + (get_offset_range): ...to this. Improve detection of ranges from + types of expressions. + (gimple_call_return_array): Adjust calls to get_range per above. + (compute_objsize): Same. Set maximum size or offset instead of + failing for unknown objects and handle more kinds of expressions. + (compute_objsize): Call access_ref::size_remaining. + (compute_objsize): Have transitional wrapper fail for pointers + into unknown objects. + (expand_builtin_strncmp): Call access_ref::size_remaining and + handle new cases. + * builtins.h (access_ref::size_remaining): Declare new member function. + (access_ref::set_max_size_range): Define new member function. + (access_ref::add_ofset, access_ref::add_max_ofset): Same. + (access_ref::add_base0): New data member. + * calls.c (get_size_range): Change argument type. Handle new + condition. + * calls.h (get_size_range): Adjust signature. + (enum size_range_flags): Define new type. + * gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref): Correct + argument to get_size_range. + * tree-ssa-strlen.c (get_range): Handle anti-ranges. + (maybe_warn_overflow): Check DECL_P before assuming it's one. + +2020-10-12 Martin Sebor + + PR c++/96511 + PR middle-end/96384 + * builtins.c (get_range): Return full range of type when neither + value nor its range is available. Fail for ranges inverted due + to the signedness of offsets. + (compute_objsize): Handle more special array members. Handle + POINTER_PLUS_EXPR and VIEW_CONVERT_EXPR that come up in front end + code. + (access_ref::offset_bounded): Define new member function. + * builtins.h (access_ref::eval): New data member. + (access_ref::offset_bounded): New member function. + (access_ref::offset_zero): New member function. + (compute_objsize): Declare a new overload. + * gimple-array-bounds.cc (array_bounds_checker::check_array_ref): Use + enum special_array_member. + * tree.c (component_ref_size): Use special_array_member. + * tree.h (special_array_member): Define a new type. + (component_ref_size): Change signature. + +2020-10-12 Jan Hubicka + + * ipa-modref.c (modref_summaries): Remove field IPA. + (class modref_summary_lto): New global variable. + (class modref_summaries_lto): New. + (modref_summary::modref_summary): Remove loads_lto and stores_lto. + (modref_summary::~modref_summary): Remove loads_lto and stores_lto. + (modref_summary::useful_p): Do not use lto_useful. + (modref_records_lto): New typedef. + (struct modref_summary_lto): New type. + (modref_summary_lto::modref_summary_lto): New member function. + (modref_summary_lto::~modref_summary_lto): New member function. + (modref_summary_lto::useful_p): New member function. + (modref_summary::dump): Do not handle lto. + (modref_summary_lto::dump): New member function. + (get_modref_function_summary): Use optimization_summary. + (merge_call_side_effects): Use optimization_summary. + (analyze_call): Use optimization_summary. + (struct summary_ptrs): New struture. + (analyze_load): Update to handle separate lto and non-lto summaries. + (analyze_store): Likewise. + (analyze_stmt): Likewise. + (remove_summary): Break out from ... + (analyze_function): ... here; update to handle seprated summaries. + (modref_summaries::insert): Do not handle lto summary. + (modref_summaries_lto::insert): New member function. + (modref_summaries::duplicate): Do not handle lto summary. + (modref_summaries_lto::duplicate): New member function. + (read_modref_records): Expect nolto_ret or lto_ret to be NULL> + (modref_write): Write lto summary. + (read_section): Handle separated summaries. + (modref_read): Initialize separated summaries. + (modref_transform): Handle separated summaries. + (pass_modref::execute): Turn summary to optimization_summary; handle + separate summaries. + (ignore_edge): Handle separate summaries. + (ipa_merge_modref_summary_after_inlining): Likewise. + (collapse_loads): Likewise. + (modref_propagate_in_scc): Likewise. + (pass_ipa_modref::execute): Likewise. + (ipa_modref_c_finalize): Likewise. + * ipa-modref.h (modref_records_lto): Remove typedef. + (struct modref_summary): Remove stores_lto, loads_lto and finished + fields; remove lto_useful_p member function. + +2020-10-12 Richard Biener + + * tree-vect-data-refs.c (vect_slp_analyze_instance_dependence): + Use SLP_TREE_REPRESENTATIVE. + * tree-vectorizer.h (_slp_tree::vertex): New member used + for graphds interfacing. + * tree-vect-slp.c (vect_build_slp_tree_2): Allocate space + for PHI SLP children. + (vect_analyze_slp_backedges): New function filling in SLP + node children for PHIs that correspond to backedge values. + (vect_analyze_slp): Call vect_analyze_slp_backedges for the + graph. + (vect_slp_analyze_node_operations): Deal with a cyclic graph. + (vect_schedule_slp_instance): Likewise. + (vect_schedule_slp): Likewise. + (slp_copy_subtree): Remove. + (vect_slp_rearrange_stmts): Likewise. + (vect_attempt_slp_rearrange_stmts): Likewise. + (vect_slp_build_vertices): New functions. + (vect_slp_permute): Likewise. + (vect_slp_perms_eq): Likewise. + (vect_optimize_slp): Remove special code to elide + permutations with SLP reductions. Implement generic + permute optimization. + +2020-10-12 Christophe Lyon + + * config/arm/arm.c (arm_preferred_simd_mode): Use E_FOOmode + instead of FOOmode. + +2020-10-12 Martin Liska + + PR tree-optimization/97079 + * internal-fn.c (internal_fn_stored_value_index): Handle also + .MASK_STORE_LANES. + * tree-vect-patterns.c (vect_recog_over_widening_pattern): Bail + out for unsupported TREE_TYPE. + +2020-10-12 Richard Biener + + * tree-vect-slp.c (vect_bb_partition_graph_r): Use visited + hash-map. + (vect_bb_partition_graph): Likewise. + +2020-10-12 Duan bo + + PR target/96757 + * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Add + the identification and handling of the dropped situation in the + cond expression processing phase. + +2020-10-12 Tobias Burnus + + * doc/invoke.texi (nvptx's -misa): Update default to sm_35. + +2020-10-12 Kyrylo Tkachov + + PR target/97349 + * config/aarch64/arm_neon.h (vdupq_n_p8, vdupq_n_p16, + vdupq_n_p64, vdupq_n_s8, vdupq_n_s16, vdupq_n_u8, vdupq_n_u16): + Fix argument type. + +2020-10-12 Ilya Leoshkevich + + * config/s390/s390-protos.h (s390_build_signbit_mask): New + function. + * config/s390/s390.c (s390_contiguous_bitmask_vector_p): + Bitcast the argument to an integral mode. + (s390_expand_vec_init): Do not call + s390_contiguous_bitmask_vector_p with a scalar argument. + (s390_build_signbit_mask): New function. + * config/s390/vector.md (copysign3): Use bitwise + operations. + +2020-10-12 Aldy Hernandez + + PR tree-optimization/97371 + * range-op.cc (operator_rshift::op1_range): Ignore shifts larger than + or equal to type precision. + +2020-10-12 Martin Liska + + * ipa-modref.c (merge_call_side_effects): Clear modref_parm_map + fields in the vector. + +2020-10-12 Richard Biener + + * tree-vect-slp.c (vect_analyze_slp_instance): Set matches to true + after successful discovery but forced split. + +2020-10-12 Tom de Vries + + * config/nvptx/nvptx.opt (-msoft-stack-reserve-local): Rename to ... + (-msoft-stack-reserve-local=): ... this. + +2020-10-12 Richard Biener + + PR tree-optimization/97357 + * tree-ssa-loop-split.c (ssa_semi_invariant_p): Abnormal + SSA names are not semi invariant. + 2020-10-11 Iain Sandoe * config/darwin.c (darwin_globalize_label): Make a subset of diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 02373369eab..4d019bc9672 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20201012 +20201013 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 98e0f455525..b8c8470903f 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2020-10-12 Alexandre Oliva + + * libgnat/a-ngelfu.ads (Sin, Cos): Make the single-argument + functions inline. + 2020-10-11 Alexandre Oliva * libgnat/a-numaux.ads: Make all imports Intrinsic. diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index d8453cb4459..5930954dfcc 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,58 @@ +2020-10-12 David Malcolm + + PR analyzer/97258 + * engine.cc (impl_region_model_context::on_escaped_function): New + vfunc. + (exploded_graph::add_function_entry): Use m_functions_with_enodes + to implement idempotency. + (add_any_callbacks): New. + (exploded_graph::build_initial_worklist): Use the above to find + callbacks that are reachable from global initializers. + (exploded_graph::on_escaped_function): New. + * exploded-graph.h + (impl_region_model_context::on_escaped_function): New decl. + (exploded_graph::on_escaped_function): New decl. + (exploded_graph::m_functions_with_enodes): New field. + * region-model-reachability.cc + (reachable_regions::reachable_regions): Replace "store" param with + "model" param; use it to initialize m_model. + (reachable_regions::add): When getting the svalue for the region, + call get_store_value on the model rather than using an initial + value. + (reachable_regions::mark_escaped_clusters): Add ctxt param and + use it to call on_escaped_function when a function_region escapes. + * region-model-reachability.h + (reachable_regions::reachable_regions): Replace "store" param with + "model" param. + (reachable_regions::mark_escaped_clusters): Add ctxt param. + (reachable_regions::m_model): New field. + * region-model.cc (region_model::handle_unrecognized_call): Update + for change in reachable_regions ctor. + (region_model::handle_unrecognized_call): Pass ctxt to + mark_escaped_clusters. + (region_model::get_reachable_svalues): Update for change in + reachable_regions ctor. + (region_model::get_initial_value_for_global): Read-only variables + keep their initial values. + * region-model.h (region_model_context::on_escaped_function): New + vfunc. + (noop_region_model_context::on_escaped_function): New. + +2020-10-12 David Malcolm + + * analyzer.opt (Wanalyzer-write-to-const): New. + (Wanalyzer-write-to-string-literal): New. + * region-model-impl-calls.cc (region_model::impl_call_memcpy): + Call check_for_writable_region. + (region_model::impl_call_memset): Likewise. + (region_model::impl_call_strcpy): Likewise. + * region-model.cc (class write_to_const_diagnostic): New. + (class write_to_string_literal_diagnostic): New. + (region_model::check_for_writable_region): New. + (region_model::set_value): Call check_for_writable_region. + * region-model.h (region_model::check_for_writable_region): New + decl. + 2020-10-07 David Malcolm PR analyzer/97116 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c28ae8c90cb..0fb4795f70b 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,16 @@ +2020-10-12 Martin Sebor + + PR c++/97201 + * error.c (dump_type_suffix): Handle both the C and C++ forms of + zero-length arrays. + +2020-10-12 Martin Sebor + + PR c++/96511 + PR middle-end/96384 + * init.c (warn_placement_new_too_small): Call builtin_objsize instead + of duplicating what it does. + 2020-10-08 Jason Merrill PR c++/96805 diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index 1ae51991fb1..58a732f26b5 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,13 @@ +2020-10-12 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd 70aabfb51 + +2020-10-12 Iain Buclaw + + * dmd/MERGE: Merge upstream dmd 3a9790525 + * d-target.cc (Target::isVectorTypeSupported): Adjust return codes for + invalid size and invalid base type. + 2020-09-12 Iain Buclaw PR d/97002 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 8de4b38746d..18985fed4f0 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2020-10-12 Mark Eggleston + + PR fortran/96099 + * decl.c (gfc_match_implicit): Check for numeric and logical + types. + 2020-10-07 Paul Thomas PR fortran/47469 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 12c7d8fe384..51108e50181 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,112 @@ +2020-10-12 David Malcolm + + PR analyzer/97258 + * gcc.dg/analyzer/callbacks-1.c: New test. + * gcc.dg/analyzer/callbacks-2.c: New test. + * gcc.dg/analyzer/callbacks-3.c: New test. + +2020-10-12 Andrew MacLeod + + * gcc.dg/pr97381.c: New test. + +2020-10-12 Aldy Hernandez + + * gcc.dg/pr97378.c: New test. + +2020-10-12 David Malcolm + + PR c/83347 + PR middle-end/90404 + PR analyzer/95007 + * gcc.dg/analyzer/write-to-const-1.c: New test. + * gcc.dg/analyzer/write-to-string-literal-1.c: New test. + +2020-10-12 Martin Sebor + + PR c++/97201 + * g++.dg/warn/Wplacement-new-size-8.C: Adjust expected message. + * g++.dg/warn/Warray-bounds-10.C: New test. + * g++.dg/warn/Warray-bounds-11.C: New test. + * g++.dg/warn/Warray-bounds-12.C: New test. + * g++.dg/warn/Warray-bounds-13.C: New test. + +2020-10-12 Martin Sebor + + PR middle-end/97342 + PR middle-end/97023 + PR middle-end/96384 + * c-c++-common/Wrestrict.c: Adjust comment. + * gcc.dg/Wstringop-overflow-34.c: Remove xfail. + * gcc.dg/Wstringop-overflow-43.c: Remove xfails. Adjust regex patterns. + * gcc.dg/pr51683.c: Prune out expected warning. + * gcc.target/i386/pr60693.c: Same. + * g++.dg/warn/Wplacement-new-size-8.C: New test. + * gcc.dg/Wstringop-overflow-41.c: New test. + * gcc.dg/Wstringop-overflow-44.s: New test. + * gcc.dg/Wstringop-overflow-45.c: New test. + * gcc.dg/Wstringop-overflow-46.c: New test. + * gcc.dg/Wstringop-overflow-47.c: New test. + * gcc.dg/Wstringop-overflow-49.c: New test. + * gcc.dg/Wstringop-overflow-50.c: New test. + * gcc.dg/Wstringop-overflow-51.c: New test. + * gcc.dg/Wstringop-overflow-52.c: New test. + * gcc.dg/Wstringop-overflow-53.c: New test. + * gcc.dg/Wstringop-overflow-54.c: New test. + * gcc.dg/Wstringop-overflow-55.c: New test. + * gcc.dg/Wstringop-overread-5.c: New test. + +2020-10-12 Martin Sebor + + PR c++/96511 + PR middle-end/96384 + * g++.dg/init/strlen.C: Add expected warning. + * g++.dg/warn/Wplacement-new-size-1.C: Relax warnings. + * g++.dg/warn/Wplacement-new-size-2.C: Same. + * g++.dg/warn/Wplacement-new-size-6.C: Same. + * gcc.dg/Warray-bounds-58.c: Adjust + * gcc.dg/Wstringop-overflow-37.c: Same. + * g++.dg/warn/Wplacement-new-size-7.C: New test. + +2020-10-12 Christophe Lyon + + PR tree-optimization/97357 + * gcc.dg/pr97357.c: Call setjmp instead of _setjmp. + +2020-10-12 Richard Biener + + * gcc.dg/vect/bb-slp-50.c: New testcase. + * gcc.dg/vect/bb-slp-51.c: Likewise. + +2020-10-12 Martin Liska + + PR tree-optimization/97079 + * gcc.target/aarch64/sve/pr97079.c: New test. + +2020-10-12 Duan bo + + PR target/96757 + * gcc.target/aarch64/pr96757.c: New test. + +2020-10-12 Kyrylo Tkachov + + PR target/97349 + * gcc.target/aarch64/simd/pr97349.c: New test. + +2020-10-12 Aldy Hernandez + + * gcc.dg/pr97371.c: New test. + +2020-10-12 Richard Biener + + PR tree-optimization/97357 + * gcc.dg/pr97357.c: New testcase. + +2020-10-12 Mark Eggleston + + PR fortran/96099 + * gfortran.dg/pr96099_1.f90: New test. + * gfortran.dg/pr96099_2.f90: New test. + 2020-10-11 Iain Sandoe * obj-c++.dg/plugin/diagnostic-test-expressions-1.mm: diff --git a/libphobos/ChangeLog b/libphobos/ChangeLog index d8c9914e0b5..c736041bfde 100644 --- a/libphobos/ChangeLog +++ b/libphobos/ChangeLog @@ -1,3 +1,13 @@ +2020-10-12 Maciej W. Rozycki + + * libdruntime/config/mips/switchcontext.S [__mips_hard_float]: + Use L.D and S.D generic assembly instructions rather than LDC1 + and SDC1 MIPS II hardware instructions. + +2020-10-12 Iain Buclaw + + * testsuite/lib/libphobos.exp: Define tool_timeout, set to 600. + 2020-09-10 Iain Buclaw PR d/95680 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 199f4f7be97..5cd339384bd 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,42 @@ +2020-10-12 Patrick Palka + + * include/std/ranges (take_while_view::begin): Constrain the + const overload further as per LWG 3450. + (take_while_view::end): Likewise. + * testsuite/std/ranges/adaptors/take_while.cc: Add test for LWG + 3450. + +2020-10-12 Patrick Palka + + PR libstdc++/95322 + * include/std/ranges (take_view::_CI): Define this alias + template as per LWG 3449 and remove ... + (take_view::_Sentinel::_CI): ... this type alias. + (take_view::_Sentinel::operator==): Adjust use of _CI + accordingly. Define a second overload that accepts an iterator + of the opposite constness as per LWG 3449. + (take_while_view::_Sentinel::operator==): Likewise. + * testsuite/std/ranges/adaptors/95322.cc: Add tests for LWG 3449. + +2020-10-12 Jonathan Wakely + + * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.20 format. + +2020-10-12 Jonathan Wakely + + * doc/doxygen/user.cfg.in (PREDEFINED): Use __cplusplus=201703L + so that C++17 features are documented. + +2020-10-12 Jonathan Wakely + + * include/bits/stl_algobase.h (copy, move, copy_backward) + (move_backward): Fix documentation for returned iterator. + +2020-10-12 Martin Sebor + + PR c++/97201 + * libsupc++/new (operator new): Add attribute alloc_size and malloc. + 2020-10-11 Clement Chigot * config/os/aix/t-aix: Add complementary mode object file to -- 2.30.2