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.
