Daily bump.
This commit is contained in:
parent
430d7d88c1
commit
cffcb774c6
5 changed files with 169 additions and 1 deletions
|
@ -1 +1 @@
|
|||
20230318
|
||||
20230319
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue