- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi there
this code
Module Mod_testmod Type :: test_type contains Procedure, Pass :: bla => Subbla Final :: SubFinalizer End type test_type interface Module Subroutine Subbla(this) Class(test_type), Intent(Inout) :: this end Subroutine Module Subroutine SubFinalizer(this) Type(test_type), Intent(Inout) :: this end Subroutine end interface End Module Mod_testmod SubModule(Mod_testmod) submod_testmod contains Module Procedure Subbla Implicit None write(*,*) "bla" End Procedure Module Procedure SubFinalizer Implicit None call this%bla() end procedure end SubModule submod_testmod Program Test use mod_testmod, only: test_type Implicit None Type(test_type) :: a call a%bla() End Program Test
compiles with gfortran 7.2, ifort 17.05 and ifort 18.0, but with 18.01 it yields a compile time error:
/tmp/ifortaDf21e.o: In function `MAIN__': Test.f90:(.text+0x88): undefined reference to `mod_testmod_mp_bla_' /tmp/ifortaDf21e.o: In function `mod_testmod_mp_subfinalizer_': Test.f90:(.text+0x16a): undefined reference to `mod_testmod_mp_bla_'
I presume that this is a bug, but a "black belt" may confirm.
Cheers
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
may.ka wrote:
.. a "black belt" may confirm.
I'm not a black belt and that might be partly why you never acknowledge my feedback ever any way ..
It's a bug and it is yet another illustration of a regression with SUBMODULEs in 18.0 update 1:
https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/752348
A workaround is to avoid the "=> procedure_name" syntax.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi FortranFan,
I highly appreciate your contributions. I am just too lazy to write post containing only "Thank you".
Workaround is ok-ish but not applicable to large libraries. I prefer to wait for Intel to repair all that.
Cheers
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page