[Bug fortran/80361] [5/6/7 Regression] bogus recursive call to nonrecursive procedure with -fcheck=recursion
juergen.reuter at desy dot de
gcc-bugzilla@gcc.gnu.org
Sat Apr 8 21:10:00 GMT 2017
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.
More information about the Gcc-bugs
mailing list