[gcc r13-6750] Daily bump.
GCC Administrator
gccadmin@gcc.gnu.org
Sun Mar 19 00:17:55 GMT 2023
https://gcc.gnu.org/g:cffcb774c630c687791a0894d08d51f282ea1411
commit r13-6750-gcffcb774c630c687791a0894d08d51f282ea1411
Author: GCC Administrator <gccadmin@gcc.gnu.org>
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 <dmalcolm@redhat.com>
+
+ 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 <dmalcolm@redhat.com>
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 <pault@gcc.gnu.org>
+
+ 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 <anlauf@gmx.de>
Tobias Burnus <tobias@codesourcery.com>
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 <dmalcolm@redhat.com>
+
+ PR analyzer/109094
+ * gcc.dg/analyzer/setjmp-pr109094.c: New test.
+
+2023-03-18 Paul Thomas <pault@gcc.gnu.org>
+
+ 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 <hp@axis.com>
* 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 <jwakely@redhat.com>
+
+ PR libstdc++/109165
+ * testsuite/18_support/coroutines/hash.cc: Use const object
+ in second call.
+
2023-03-17 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/109165
More information about the Libstdc++-cvs
mailing list