https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85448
kargl at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
CC| |kargl at gcc dot gnu.org
Resolution|--- |INVALID
--- Comment #1 from kargl at gcc dot gnu.org ---
(In reply to francois.jacq from comment #0)
> In the following example, the subroutine c_open of the module m2, which
> should call the subroutine odopen of the module m1, calls itself instead...
The behavior you see is correct. There is no 'c_odopen'
in the m2.o file. You gave it the binding name 'odopen'.
You have created a recursive call.
$ gfcx -c m1.f90
$ nm m1.o
0000000000000000 T __m1_MOD_odopen
U _gfortran_st_write
U _gfortran_st_write_done
U _gfortran_transfer_character_write
$ gfcx -c m2.f90
$ nm m2.o
U _gfortran_st_write
U _gfortran_st_write_done
U _gfortran_transfer_character_write
0000000000000000 T odopen