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

Reply via email to