Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Thu, 8 Jul 2021 00:16:27 +0000 (00:16 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Thu, 8 Jul 2021 00:16:27 +0000 (00:16 +0000)
gcc/ChangeLog
gcc/DATESTAMP
gcc/ada/ChangeLog
gcc/analyzer/ChangeLog
gcc/testsuite/ChangeLog

index 1d07abd..8f06b05 100644 (file)
@@ -1,3 +1,43 @@
+2021-07-07  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/100137
+       PR tree-optimization/99121
+       PR tree-optimization/97027
+       * builtins.c (access_ref::access_ref): Also set offmax.
+       (access_ref::offset_in_range): Define new function.
+       (access_ref::add_offset): Set offmax.
+       (access_ref::inform_access): Handle access_none.
+       (handle_mem_ref): Clear ostype.
+       (compute_objsize_r): Handle ASSERT_EXPR.
+       * builtins.h (struct access_ref): Add offmax member.
+       * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref): Use
+       compute_objsize() and simplify.
+
+2021-07-07  Peter Bergner  <bergner@linux.ibm.com>
+
+       * config/rs6000/rs6000-call.c (mma_init_builtins): Use VSX_BUILTIN_LXVP
+       and VSX_BUILTIN_STXVP.
+
+2021-07-07  Martin Sebor  <msebor@redhat.com>
+
+       PR target/101363
+       * config/aarch64/aarch64.c (aarch64_simd_lane_bounds): Remove
+       a stray %K from error_at() missed in r12-2088.
+
+2021-07-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99728
+       * tree-ssa-loop-im.c (gather_mem_refs_stmt): Record
+       aggregate copies.
+       (mem_refs_may_alias_p): Add assert we handled aggregate
+       copies elsewhere.
+       (sm_seq_valid_bb): Give up when running into aggregate copies.
+       (ref_indep_loop_p): Handle aggregate copies as never
+       being invariant themselves but allow other refs to be
+       disambiguated against them.
+       (can_sm_ref_p): Do not try to apply store-motion to aggregate
+       copies.
+
 2021-07-06  Indu Bhagat  <indu.bhagat@oracle.com>
 
        PR debug/101283
index b905321..d944002 100644 (file)
@@ -1 +1 @@
-20210707
+20210708
index 7d17f9e..f04e184 100644 (file)
@@ -1,3 +1,249 @@
+2021-07-07  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * s-oscons-tmplt.c (MSG_WAITALL): Remove wrong #ifdef
+       __MINWGW32__.
+
+2021-07-07  Gary Dismukes  <dismukes@adacore.com>
+
+       * einfo-utils.adb (Primitive_Operations): Default to returning
+       Direct_Primitive_Operations in the case of concurrent types
+       (when Corresponding_Record_Type not present).
+       * sem_ch9.adb (Analyze_Protected_Type_Declaration): Initialize
+       Direct_Primitive_Operations to an empty element list.
+       (Analyze_Task_Type_Declaration): Initialize
+       Direct_Primitive_Operations to an empty element list.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_eval.adb (Set_Checking_Potentially_Static_Expression):
+       Stronger assertion.
+
+2021-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch12.adb (Analyze_Subprogram_Instantiation): Mark Anon_Id
+       intrinsic before calling Analyze_Instance_And_Renamings because
+       this flag may be propagated to other nodes.
+
+2021-07-07  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * s-oscons-tmplt.c (TCP_KEEPCNT TCP_KEEPIDLE, TCP_KEEPINTVL):
+       Hardcode on Windows if undefined.
+
+2021-07-07  Bob Duff  <duff@adacore.com>
+
+       * checks.adb (Install_Primitive_Elaboration_Check): Do not
+       generate elaboration checks for primitives if pragma Pure or
+       Preelaborate is present.  Misc comment fixes, including
+       referring to the correct kind of check (elaboration, not
+       accessibility).
+       * checks.ads, restrict.adb, sem_cat.ads, sinfo.ads: Minor
+       reformatting and comment fixes.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Simplify processing of pragma
+       CPP_Constructor.
+
+2021-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/g-debpoo.adb (Code_Address_For_Allocate_End): Default
+       Initialize.
+
+2021-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/s-atocou.ads, libgnat/s-atocou__builtin.adb: Code
+       cleanups.
+
+2021-07-07  Gary Dismukes  <dismukes@adacore.com>
+
+       * freeze.adb (Check_Inherited_Conditions): Setting of Ekind,
+       LSP_Subprogram, and Is_Wrapper needs to happen for null
+       procedures as well as other wrapper cases, so the code is moved
+       from the else part in front of the if statement.  (Fixes a
+       latent bug encountered while working on this set of changes.)
+       * sem_attr.adb (Resolve_Attribute): Report an error for the case
+       of an Access attribute applied to a primitive of an abstract
+       type when the primitive has any nonstatic Pre'Class or
+       Post'Class expressions.
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): Report an error for
+       the case of a actual subprogram associated with a nonabstract
+       formal subprogram when the actual is a primitive of an abstract
+       type and the primitive has any nonstatic Pre'Class or Post'Class
+       expressions.
+       * sem_disp.adb (Check_Dispatching_Context): Remove special
+       testing for null procedures, and replace it with a relaxed test
+       that avoids getting an error about illegal calls to abstract
+       subprograms in cases where RM 6.1.1(7/5) applies in
+       Pre/Post'Class aspects. Also, remove special test for
+       Postcondition, which seems to be unnecessary, update associated
+       comments, and fix a typo in one comment.
+       (Check_Dispatching_Call): Remove an unneeded return statement,
+       and report an error for the case of a nondispatching call to a
+       nonabstract subprogram of an abstract type where the subprogram
+       has nonstatic Pre/Post'Class aspects.
+       * sem_util.ads
+       (Is_Prim_Of_Abst_Type_With_Nonstatic_CW_Pre_Post): New function.
+       (In_Pre_Post_Condition): Add a flag formal Class_Wide_Only,
+       defaulted to False, for indicating whether the function should
+       only test for the node being within class-wide pre- and
+       postconditions.
+       * sem_util.adb
+       (Is_Prim_Of_Abst_Type_With_Nonstatic_CW_Pre_Post): New function
+       to determine whether a subprogram is a primitive of an abstract
+       type where the primitive has class-wide Pre/Post'Class aspects
+       specified with nonstatic expressions.
+       (In_Pre_Post_Condition): Extend testing to account for the new
+       formal Class_Wide_Only.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch12.adb (Check_Shared_Variable_Control_Aspects): Errors
+       emitted via Check_Volatility_Compatibility are now emitted at
+       Actual, just like other errors emitted by
+       Check_Shared_Variable_Control_Aspects.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * uname.adb (Get_Unit_Name): Simplify with a bounded string
+       buffer; also, this addresses a ??? comment about the max length
+       being exceeded.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * uname.adb (Get_Body_Name, Get_Parent_Body_Name,
+       Get_Parent_Spec_Name, Get_Spec_Name, Is_Child_Name,
+       Is_Body_Name, Is_Spec_Name, Name_To_Unit_Name): Use a local
+       instead of the global buffer.
+
+2021-07-07  Bob Duff  <duff@adacore.com>
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Combine
+       processing of Size and Value_Size clauses. Ensure that
+       Value_Size is treated the same as Size, in the cases where both
+       are allowed (i.e. the prefix denotes a first subtype).  Misc
+       cleanup.
+       * einfo-utils.adb (Init_Size): Add assertions.
+       (Size_Clause): Return a Value_Size clause if present, instead of
+       just looking for a Size clause.
+       * einfo.ads (Has_Size_Clause, Size_Clause): Change documentation
+       to include Value_Size.
+       * sem_ch13.ads, layout.ads, layout.adb: Comment modifications.
+
+2021-07-07  Steve Baird  <baird@adacore.com>
+
+       * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Add
+       TSS_Put_Image to list of predefined primitives that need special
+       treatment.
+       (Build_General_Calling_Stubs, Build_Subprogram_Receiving_Stubs):
+       Remove previous hack for dealing with TSS_Put_Image procedures.
+
+2021-07-07  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * libgnat/g-socket.adb (Get_Socket_Option): Add 500ms only when
+       Minus_500ms_Windows_Timeout is True.
+       (Set_Socket_Option): Use "* 1000" instead of "/ 0.001" to
+       convert to milliseconds.
+
+2021-07-07  Bob Duff  <duff@adacore.com>
+
+       * tbuild.adb (Unchecked_Convert_To): Set the Parent of the new
+       node to the Parent of the old node.
+       * tbuild.ads (Unchecked_Convert_To): Document differences
+       between Convert_To and Unchecked_Convert_To. The previous
+       documentation claimed they are identical except for the
+       uncheckedness of the conversion.
+
+2021-07-07  Yannick Moy  <moy@adacore.com>
+
+       * checks.adb (Apply_Scalar_Range_Check): Remove special case for
+       GNATprove mode.
+       * sem_res.adb (Resolve_Arithmetic_Op): Same.
+       * sem_util.adb (Apply_Compile_Time_Constraint_Error): Same.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch6.adb (Check_For_Primitive_Subprogram): Move
+       declarations of local variables after nested subprogram bodies.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_disp.adb (CPP_Num_Prims): Reuse List_Length.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_ch3.adb, exp_ch6.adb, sem_ch6.adb: Replace Ekind
+       membership test in Private_Kind with a call to Is_Private_Type.
+
+2021-07-07  Bob Duff  <duff@adacore.com>
+
+       * gen_il-gen-gen_entities.adb: Remove Linker_Section_Pragma
+       field from Record_Field_Kind.  Minor comment improvement.
+
+2021-07-07  Yannick Moy  <moy@adacore.com>
+
+       * libgnat/a-ngelfu.ads (Cot): Fix precondition.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par.adb (Par): A local Name variable is now a renaming of a
+       constant slice.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * gnat1drv.adb (Gnat1drv): Remove flagging of main unit and its
+       corresponding spec as requiring code generation; now the flags
+       are set much earlier.
+       * lib-load.adb (Load_Main_Source): Set Generate_Code flag on the
+       main unit source.
+       (Make_Instance_Unit): Copy Generate_Code flag from the main unit
+       to instance units.
+       * lib-writ.adb (Write_ALI): Remove redundant condition;
+       Generate_Code flag is always set for the main unit.
+       * par-load.adb (Load): Set Generate_Code flag on the main unit's
+       corresponding spec, if any.
+
+2021-07-07  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * libgnat/g-socket.ads (Option_Name): Add Keep_Alive_Count,
+       Keep_Alive_Idle, and Keep_Alive_Interval items to enumeration.
+       (Option_Type): Add Keep_Alive_Count, Keep_Alive_Idle, and
+       Keep_Alive_Interval alternatives to the case of discriminated
+       record.
+       * libgnat/g-socket.adb (Options): Add Keep_Alive_Count,
+       Keep_Alive_Idle, and Keep_Alive_Interval to items enumerator to
+       OS constant converter.
+       (Set_Socket_Option): Process Keep_Alive_Count, Keep_Alive_Idle,
+       and Keep_Alive_Interval socket options.
+       (Get_Socket_Option): Idem.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * lib-writ.adb (Write_ALI): Exit from loop after seeing first
+       unit that violates No_Elaboration_Code restriction.
+
+2021-07-07  Piotr Trojanek  <trojanek@adacore.com>
+
+       * inline.adb (Instantiate_Bodies): Fix white in declaration.
+       (Remove_Dead_Instance): Change iteration from WHILE to FOR.
+
+2021-07-07  Bob Duff  <duff@adacore.com>
+
+       * checks.adb, exp_attr.adb, exp_ch4.adb, exp_ch6.adb,
+       exp_ch9.adb, exp_disp.adb, exp_util.adb, inline.adb,
+       sem_res.adb: Change all calls to Make_Unchecked_Type_Conversion
+       to call Unchecked_Convert_To instead. This involves removing
+       New_Occurrence_Of on the first parameter, because
+       Unchecked_Convert_To expects a type entity, rather than the name
+       of one. Also, removed calls to Relocate_Node, because
+       Unchecked_Convert_To takes care of that.
+       * sinfo.ads: Change comment to be worded more firmly.
+
+2021-07-07  Steve Baird  <baird@adacore.com>
+
+       * libgnarl/s-tassta.adb (Free_Task): Acquire the Task_Lock
+       before, rather than after, querying the task's Terminated flag.
+       Add a corresponding Task_Unlock call.
+
 2021-07-06  Bob Duff  <duff@adacore.com>
 
        * atree.ads (Current_Error_Node): Initialize to Empty.
index bb9f4d3..f0b2d96 100644 (file)
@@ -1,3 +1,64 @@
+2021-07-07  David Malcolm  <dmalcolm@redhat.com>
+
+       * diagnostic-manager.cc (null_assignment_sm_context::get_state):
+       New overload.
+       (null_assignment_sm_context::set_next_state): New overload.
+       (null_assignment_sm_context::get_diagnostic_tree): New.
+       * engine.cc (impl_sm_context::get_state): New overload.
+       (impl_sm_context::set_next_state): New overload.
+       (impl_sm_context::get_diagnostic_tree): New overload.
+       (impl_region_model_context::on_condition): Convert params from
+       tree to const svalue *.
+       * exploded-graph.h (impl_region_model_context::on_condition):
+       Likewise.
+       * region-model.cc (region_model::on_call_pre): Move handling of
+       internal calls to before checking for get_fndecl_for_call.
+       (region_model::add_constraints_from_binop): New.
+       (region_model::add_constraint): Split out into a new overload
+       working on const svalue * rather than tree.  Call
+       add_constraints_from_binop.  Drop call to
+       add_any_constraints_from_ssa_def_stmt.
+       (region_model::add_any_constraints_from_ssa_def_stmt): Delete.
+       (region_model::add_any_constraints_from_gassign): Delete.
+       (region_model::add_any_constraints_from_gcall): Delete.
+       * region-model.h
+       (region_model::add_any_constraints_from_ssa_def_stmt): Delete.
+       (region_model::add_any_constraints_from_gassign): Delete.
+       (region_model::add_any_constraints_from_gcall): Delete.
+       (region_model::add_constraint): Add overload decl.
+       (region_model::add_constraints_from_binop): New decl.
+       (region_model_context::on_condition): Convert params from tree to
+       const svalue *.
+       (noop_region_model_context::on_condition): Likewise.
+       * sm-file.cc (fileptr_state_machine::condition): Likewise.
+       * sm-malloc.cc (malloc_state_machine::on_condition): Likewise.
+       * sm-pattern-test.cc: Include tristate.h, selftest.h,
+       analyzer/call-string.h, analyzer/program-point.h,
+       analyzer/store.h, and analyzer/region-model.h.
+       (pattern_test_state_machine::on_condition): Convert params from tree to
+       const svalue *.
+       * sm-sensitive.cc (sensitive_state_machine::on_condition): Delete.
+       * sm-signal.cc (signal_state_machine::on_condition): Delete.
+       * sm-taint.cc (taint_state_machine::on_condition): Convert params
+       from tree to const svalue *.
+       * sm.cc: Include tristate.h, selftest.h, analyzer/call-string.h,
+       analyzer/program-point.h, analyzer/store.h, and
+       analyzer/region-model.h.
+       (any_pointer_p): Add overload taking const svalue *sval.
+       * sm.h (any_pointer_p): Add overload taking const svalue *sval.
+       (state_machine::on_condition): Convert params from tree to
+       const svalue *.  Provide no-op default implementation.
+       (sm_context::get_state): Add overload taking const svalue *sval.
+       (sm_context::set_next_state): Likewise.
+       (sm_context::on_transition): Likewise.
+       (sm_context::get_diagnostic_tree): Likewise.
+       * svalue.cc (svalue::all_zeroes_p): New.
+       (constant_svalue::all_zeroes_p): New.
+       (repeated_svalue::all_zeroes_p): Convert to vfunc.
+       * svalue.h (svalue::all_zeroes_p): New decl.
+       (constant_svalue::all_zeroes_p): New decl.
+       (repeated_svalue::all_zeroes_p): Convert decl to vfunc.
+
 2021-06-30  David Malcolm  <dmalcolm@redhat.com>
 
        PR analyzer/95006
index 7e2e6b3..5543edb 100644 (file)
@@ -1,3 +1,65 @@
+2021-07-07  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc.dg/analyzer/pattern-test-2.c: Update expected results.
+       * gcc.dg/plugin/analyzer_gil_plugin.c
+       (gil_state_machine::on_condition): Remove.
+
+2021-07-07  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/100137
+       PR tree-optimization/99121
+       PR tree-optimization/97027
+       * c-c++-common/Warray-bounds-3.c: Remove xfail
+       * c-c++-common/Warray-bounds-4.c: Add an expected warning.
+       * c-c++-common/Warray-bounds-9.c: New test.
+       * c-c++-common/Warray-bounds-10.c: New test.
+       * g++.dg/asan/asan_test.C: Suppress expected warnings.
+       * g++.dg/pr95768.C: Same.
+       * g++.dg/warn/Warray-bounds-10.C: Adjust text of expected messages.
+       * g++.dg/warn/Warray-bounds-11.C: Same.
+       * g++.dg/warn/Warray-bounds-12.C: Same.
+       * g++.dg/warn/Warray-bounds-13.C: Same.
+       * g++.dg/warn/Warray-bounds-17.C: Same.
+       * g++.dg/warn/Warray-bounds-20.C: Same.
+       * gcc.dg/Warray-bounds-29.c: Same.
+       * gcc.dg/Warray-bounds-30.c: Add xfail.
+       * gcc.dg/Warray-bounds-31.c: Adjust text of expected messages.
+       * gcc.dg/Warray-bounds-32.c: Same.
+       * gcc.dg/Warray-bounds-52.c: Same.
+       * gcc.dg/Warray-bounds-53.c: Same.
+       * gcc.dg/Warray-bounds-58.c: Remove xfail.
+       * gcc.dg/Warray-bounds-63.c: Adjust text of expected messages.
+       * gcc.dg/Warray-bounds-66.c: Same.
+       * gcc.dg/Warray-bounds-69.c: Same.
+       * gcc.dg/Wstringop-overflow-34.c: Same.
+       * gcc.dg/Wstringop-overflow-47.c: Same.
+       * gcc.dg/Wstringop-overflow-61.c: Same.
+       * gcc.dg/Warray-bounds-77.c: New test.
+       * gcc.dg/Warray-bounds-78.c: New test.
+       * gcc.dg/Warray-bounds-79.c: New test.
+
+2021-07-07  Christophe Lyon  <christophe.lyon@foss.st.com>
+
+       PR debug/101321
+       * gcc.dg/debug/btf/btf-bitfields-3.c: Remove -fno-short-enums.
+
+2021-07-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/34195
+       * gcc.dg/vect/pr34195.c: New testcase.
+
+2021-07-07  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/99728
+       * g++.dg/opt/pr99728.C: New testcase.
+
+2021-07-07  liuhongt  <hongtao.liu@intel.com>
+
+       * gcc.target/i386/avx512f-vect-fmaddsubXXXpd.c: New test.
+       * gcc.target/i386/avx512f-vect-fmaddsubXXXps.c: New test.
+       * gcc.target/i386/avx512f-vect-fmsubaddXXXpd.c: New test.
+       * gcc.target/i386/avx512f-vect-fmsubaddXXXps.c: New test.
+
 2021-07-06  Indu Bhagat  <indu.bhagat@oracle.com>
 
        PR debug/101283