Several of us have been engaged in a campaign to fix as many gfortran
regressions as possible before the gcc-16 release. This activity was
triggered by Christopher Albert, who not only came up with plethora of
fixes but also testcases for PRs that had already been fixed; often by
unidentified patches.

At present there are 17 regressions left, of which only 4 remain for
gcc-16. Some of the batches do not apply cleanly to gcc-13 but as the
backporting goes on, we will likely close those ones anyway unless an
easy fixup is identified. We anticipate, then, that there will be 4
open fortran regressions by the end of this month.

The current status is summarised below:

That said, we shouldn't rest on our laurels; there are 151 open bugs
that are labelled as wrong code!

Paul

These PRs were already fixed, often by unidentified commits. Some
additional tests added.

PR Summary Notes
77371 [OpenACC] ICE in force_constant_size all 3 ICE variants gone:
Component changed to gcc
84779 ICE with -fdefault-integer-8 + ENTRY Fixed on 13- to 16. Test on
16-branch/closed.
93552 [OpenACC] ICE in gfc_trans_exit Fixed by Tobias Burnus and closed.
95163 ICE in gimplify_adjust_omp_clauses Fixed on 15- & 16. Closed
95879 ICE in gfc_resolve_formal_arglist Closed – fixed on all active branches
96087 ICE in gfc_get_symbol_decl Fixed by PT. Closed
98203 ICE in gfc_trans_omp_do Pushed to 16-branch. Wait until 04/18
before backporting.
101281 ICE with -std=f2003 and assumed-rank Fixed by PT. Closed
102333 ICE in gfc_generate_function_code Fixed on 16-branch but
accepts-invalid now.
103139 ICE in fold_convert_loc 103139 Fixed on 14- to 16. Test from CA
and closed.
103312 ICE in gfc_find_component Fixed on 13- to 16 and closed
104428 ICE in gfc_trans_omp_declare_variant Fixed on 15- and 16. Closed.
104827 ICE in gfc_conv_array_constructor_expr Pushed to 16-branch. Closed
114373 BLOCK not analyzed with -fopenmp Closed
122046 ICE in is_illegal_recursion 122046 Fixed by Mikael Morin on 14-
to 16  and closed.

These PRs have been fixed in the course of this campaign, largely by
Christopher Albert but also with
contributions from Jerry, Andre and Paul.

PR Summary Notes
82721 Corrupted text / ICE Closed – fixed on all active branches
95338 non-trivial conversion in component_ref Closed – fixed on all
active branches
102430 ICE in fold_convert_loc (OMP linear) Pushed to 16-branch. Wait
until 04/21 before backporting.
102459 ICE in gfc_conv_scalarized_array_ref Closed – fixed on all
active branches
102596 ICE in gfc_omp_clause_default_ctor Closed – fixed on all active branches
106946 ICE in resolve_component Closed – fixed on all active branches
120286 [OpenMP] Double free class pointers Closed – fixed on all active branches
120723 [OpenACC] ICE attach(scalar) Closed – fixed on 14- to 16-branches.
100194 and
124751 ICE in gfc_trans_create_temp_array, 14- to 16-branches fixed for both PRs
103367 ICE in gfc_conv_array_initializer Pushed to 16-branch. Wait
until 04/25 before backporting.
84245 ICE in delete_root Closed – fixed on all active branches
108382 wrong parsing with mixed acc/omp Closed – fixed on all active branches
124512 libgfortran shmem CAF pthread support Closed – fixed on 16-branch.
109788 Fix character SPREAD intrinsic lowering Pushed to 16-branch.
Wait until 04/19 before backporting.
79524 valgrind error for fimplicit_none_2.f90 Pushed to 16-branch.
Wait until 04/20 before backporting.
107425 ICE in gimplify_var_or_parm_decl, Pushed to 16-branch. Wait
until 04/21 before backporting.
85352 specification expression to subprogram Pushed to 16-branch. Wait
until 04/21 before backporting.
101760 ICE in make_ssa_name_fn Fixed on 16-branch.  Wait until 04/27
before backporting.
102619 ICE in gfc_conv_descriptor_dtype, Fixed on 14- to 16-branches
and closed. Harald found
bugs while testing, which are now PR124780
100155 ICE in gfc_conv_intrinsic_size Modified version of PR patch
works OK but doesn’t look
very pretty. Harald found bugs while testing, which are
now PR124780.
Wait until 04/17 before backporting.
110626 Duplicated finalization in derived Can only be fixed by
reworking ordinary assign to comply
with the standard; ie. component by component.

Reply via email to