https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80361
--- Comment #11 from Jürgen Reuter <juergen.reuter at desy dot de> --- (In reply to Dominique d'Humieres from comment #10) > If I remove the final stuff in unit_tests.f90, > > --- unit_tests_orig.f90 2017-04-08 16:16:57.000000000 +0200 > +++ unit_tests.f90 2017-04-08 16:17:20.000000000 +0200 > @@ -72,7 +72,6 @@ module unit_tests > procedure, private :: add => test_results_add > procedure, private :: write => test_results_write > procedure, private :: report => test_results_report > - procedure, private :: final => test_results_final > procedure :: wrapup => test_results_wrapup > end type test_results_t > > @@ -144,26 +143,12 @@ contains > success = list%n_failure == 0 > end subroutine test_results_report > > - subroutine test_results_final (list) > - class(test_results_t), intent(inout) :: list > - type(test_result_t), pointer :: result > - do while (associated (list%first)) > - result => list%first > - list%first => result%next > - deallocate (result) > - end do > - list%last => null () > - list%n_success = 0 > - list%n_failure = 0 > - end subroutine test_results_final > - > subroutine test_results_wrapup (list, u, success) > class(test_results_t), intent(inout) :: list > integer, intent(in) :: u > logical, intent(out), optional :: success > call list%write (u) > if (present (success)) call list%report (success) > - call list%final () > end subroutine test_results_wrapup > > subroutine test (test_proc, name, description, u_log, results) > > I still get with a clean make > > Fortran runtime error: Recursive call to nonrecursive procedure > '__final_particle_specifiers_Prt_spec_list_t' > > This seems buggy unless I am missing something(?). I believe that the __final_particle_specifiers_Prt_spec_list_t is none of our finalisers, but probably one automatic finaliser from the compiler.