From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2168) id 84A033858D35; Sun, 19 Mar 2023 00:17:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 84A033858D35 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1679185075; bh=ApckqeZ9CasCx73dIDgQ6u+hM8VLV93V+wYAJClfC+8=; h=From:To:Subject:Date:From; b=SLaY6tfC1sPVJXz/8BpFNV9uMTOPCvZUspOL91vzRwftLwhx0nALd22UxSituw9/J iUyqnPhyyW+mxDeDEz2Un+zgE61lsf6ueMEnegtVAaf3YMxsmXICN1o3ZVe3+pbHFL NvR4swM9ow4iwzrVrJy3nDFXWoDljI0PB1ej+G5Y= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: GCC Administrator To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r13-6750] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/master X-Git-Oldrev: 430d7d88c1a123d787f529dbc29e6632c6e556fb X-Git-Newrev: cffcb774c630c687791a0894d08d51f282ea1411 Message-Id: <20230319001755.84A033858D35@sourceware.org> Date: Sun, 19 Mar 2023 00:17:55 +0000 (GMT) List-Id: https://gcc.gnu.org/g:cffcb774c630c687791a0894d08d51f282ea1411 commit r13-6750-gcffcb774c630c687791a0894d08d51f282ea1411 Author: GCC Administrator Date: Sun Mar 19 00:16:36 2023 +0000 Daily bump. Diff: --- gcc/DATESTAMP | 2 +- gcc/analyzer/ChangeLog | 11 +++++ gcc/fortran/ChangeLog | 107 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/testsuite/ChangeLog | 44 ++++++++++++++++++++ libstdc++-v3/ChangeLog | 6 +++ 5 files changed, 169 insertions(+), 1 deletion(-) diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 4b45c22ce57..401e9e9bd2a 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20230318 +20230319 diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index a253ba2e0a2..2fecec3a430 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,14 @@ +2023-03-18 David Malcolm + + PR analyzer/109094 + * region-model.cc (region_model::on_longjmp): Pass false for + new "eval_return_svalue" param of pop_frame. + (region_model::pop_frame): Add new "eval_return_svalue" param and + use it to suppress the call to get_rvalue on the result when + needed by on_longjmp. + * region-model.h (region_model::pop_frame): Add new + "eval_return_svalue" param. + 2023-03-10 David Malcolm PR analyzer/109059 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 22d3de49b85..2c303e1b3bd 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,110 @@ +2023-03-18 Paul Thomas + + PR fortran/103854 + PR fortran/96122 + PR fortran/37336 + * class.cc (finalize_component): Include the missing arguments + in the call to the component's finalizer wrapper. + (has_finalizer_component): Do not return true for procedure + pointer components. + (finalizer_insert_packed_call): Remove the redundant argument + in the call to the final subroutine. + (generate_finalization_wrapper): Add support for assumed rank + finalizers. + (gfc_may_be_finalized): New helper function. + * dump-parse-tree.cc (write_proc): Whitespace. + * gfortran.h : Add prototype for gfc_may_be_finalized. + * resolve.cc (resolve_function): Correct derived types that + have an incomplete namespace. + (resolve_where, gfc_resolve_where_code_in_forall, + gfc_resolve_forall_body, gfc_resolve_code): Check that the op + code is still EXEC_ASSIGN. If it is set lhs to must finalize. + (is_finalizable_type): New function. + (generate_component_assignments): Set must_finalize if needed. + (gfc_resolve_finalizers): Error if assumed rank finalizer is + not the only one. Warning on lack of scalar finalizer modified + to account for assumed rank finalizers. + (generate_final_call): New function. + (generate_component_assignments): Enclose the outermost call in + a block to capture automatic deallocation and final calls. + Set must_finalize as required to satisfy the standards. Use an + explicit pointer assignment for pointer components to capture + finalization of the target. Likewise use explicit assignment + for allocatable components. Do not use the temporary copy of + the lhs in defined assignment if the component is allocatable. + Put the temporary in the same namespace as the lhs symbol if + the component may be finalized. Remove the leading assignment + from the expansion of assignment of components that have their + own defined assignment components. Suppress finalization of + assignment of temporary components to the lhs. Make an explicit + final call for the rhs function temporary if it exists. + (gfc_resolve_code): Set must_finalize for assignments with an + array constructor on the rhs. + (gfc_resolve_finalizers): Ensure that an assumed rank finalizer + is the only finalizer for that type and correct the surprising + warning for the lack of a scalar finalizer. + (check_defined_assignments): Handle allocatable components. + (resolve_fl_derived): Set referenced the vtab for use + associated symbols. + (resolve_symbol): Set referenced an unreferenced symbol that + will be finalized. + * trans-array.cc (gfc_trans_array_constructor_value): Add code + to finalize the constructor result. Warn that this feature was + removed in F2018 and that it is suppressed by -std=2018. + (trans_array_constructor): Add finalblock, pass to previous + and apply to loop->post if filled. + (gfc_add_loop_ss_code): Add se finalblock to outer loop post. + (gfc_trans_array_cobounds, gfc_trans_array_bounds): Add any + generated finalization code to the main block. + (structure_alloc_comps): Add boolean argument to suppress + finalization and use it for calls from + gfc_deallocate_alloc_comp_no_caf. Otherwise it defaults to + false. + (gfc_copy_alloc_comp_no_fini): New wrapper for + structure_alloc_comps. + (gfc_alloc_allocatable_for_assignment): Suppress finalization + by setting new arg in call to gfc_deallocate_alloc_comp_no_caf. + (gfc_trans_deferred_array): Use gfc_may_be_finalized and do not + deallocate the components of entities with a leading '_' in the + name that are also marked as artificial. + * trans-array.h : Add the new boolean argument to the prototype + of gfc_deallocate_alloc_comp_no_caf with a default of false. + Add prototype for gfc_copy_alloc_comp_no_fini. + * trans-decl.cc(init_intent_out_dt): Tidy up the code. + * trans-expr.cc (gfc_init_se): Initialize finalblock. + (gfc_conv_procedure_call): Use gfc_finalize_tree_expr to + finalize function results. Replace in-line block for class + results with call to new function. + (gfc_conv_expr): Finalize structure constructors for F2003 and + F2008. Warn that this feature was deleted in F2018 and, unlike + array constructors, is not default. Add array constructor + finalblock to the post block. + (gfc_trans_scalar_assign): Suppress finalization by setting new + argument in call to gfc_deallocate_alloc_comp_no_caf. Add the + finalization blocks to the main block. + (gfc_trans_arrayfunc_assign): Use gfc_assignment_finalizer_call + and ensure that finalization occurs after the evaluation of the + rhs but using the initial value for the lhs. Finalize rhs + function results using gfc_finalize_tree_expr. + (trans_class_assignment, gfc_trans_assignment_1): As previous + function, taking care to order evaluation, assignment and + finalization correctly. + * trans-io.cc (gfc_trans_transfer): Add the final block. + * trans-stmt.cc (gfc_trans_call, gfc_trans_allocate): likewise. + (trans_associate_var): Nullify derived allocatable components + and finalize function targets with defined assignment + components on leaving the block scope. + (trans_allocate): Finalize source expressions, if required, + and set init_expr artificial temporarily to suppress the + finalization in gfc_trans_assignment. + * trans.cc (gfc_add_finalizer_call): Do not finalize the + temporaries generated in type assignment with defined + assignment components. + (gfc_assignment_finalizer_call): New function. + (gfc_finalize_tree_expr): New function. + * trans.h: Add finalblock to gfc_se. Add the prototypes for + gfc_finalize_tree_expr and gfc_assignment_finalizer_call. + 2023-03-15 Harald Anlauf Tobias Burnus diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 84709374fc8..d6eccb1cdef 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,47 @@ +2023-03-18 David Malcolm + + PR analyzer/109094 + * gcc.dg/analyzer/setjmp-pr109094.c: New test. + +2023-03-18 Paul Thomas + + PR fortran/64290 + PR fortran/67444 + PR fortran/67471 + PR fortran/69298 + PR fortran/70863 + PR fortran/71798 + PR fortran/80524 + PR fortran/82996 + PR fortran/84472 + PR fortran/88735 + PR fortran/93691 + PR fortran/91316 + PR fortran/106576 + PR fortran/37336 + * gfortran.dg/finalize_38.f90 : New test. + * gfortran.dg/finalize_38a.f90 : New test. + * gfortran.dg/allocate_with_source_25.f90 : The number of final + calls goes down from 6 to 4. + * gfortran.dg/associate_25.f90 : Remove the incorrect comment. + * gfortran.dg/auto_dealloc_2.f90 : Change the tree dump expr + but the final count remains the same. + * gfortran.dg/unlimited_polymorphic_8.f90 : Tree dump reveals + foo.1.x rather than foo.0.x + * gfortran.dg/finalize_39.f90 : New test. + * gfortran.dg/finalize_40.f90 : New test. + * gfortran.dg/finalize_41.f90 : New test. + * gfortran.dg/finalize_42.f90 : New test. + * gfortran.dg/finalize_43.f90 : New test. + * gfortran.dg/finalize_44.f90 : New test. + * gfortran.dg/finalize_45.f90 : New test. + * gfortran.dg/finalize_46.f90 : New test. + * gfortran.dg/finalize_47.f90 : New test. + * gfortran.dg/finalize_48.f90 : New test. + * gfortran.dg/finalize_49.f90 : New test. + * gfortran.dg/finalize_50.f90 : New test. + * gfortran.dg/finalize_51.f90 : New test. + 2023-03-17 Hans-Peter Nilsson * gcc.dg/plugin/infoleak-2.c, diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 985de50afbf..16b939399ec 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2023-03-18 Jonathan Wakely + + PR libstdc++/109165 + * testsuite/18_support/coroutines/hash.cc: Use const object + in second call. + 2023-03-17 Jonathan Wakely PR libstdc++/109165