- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Hello,
I have encountered a problem with the attached code. I have reduced it as far as
possible, but the error message disappears when I further simplify the code a bit.
I am using Intel Fortran 11.1 but the problem occurs in 12.0.3 as well.
The compiler claims there is no specific subroutineat line 89 of the code, whereas
gfortran is completely happy with and if I use the specific name (get_procedure_global)
instead of the generic name,Intel Fortran is happy too.
Background: I am using theoriginalto dynamically load libraries and subroutines therein.
It seems to be the procedure _component_ that triggers the error. If I change the
argument to proc, with the declaration:
procedure(creation_procedure), pointer :: proc
call get_procedure( dynlib, 'create_prng', proc, success )
the compiler is happy again.
Is this a compiler bug?
Regards,
Arjen
I have encountered a problem with the attached code. I have reduced it as far as
possible, but the error message disappears when I further simplify the code a bit.
I am using Intel Fortran 11.1 but the problem occurs in 12.0.3 as well.
The compiler claims there is no specific subroutineat line 89 of the code, whereas
gfortran is completely happy with and if I use the specific name (get_procedure_global)
instead of the generic name,Intel Fortran is happy too.
Background: I am using theoriginalto dynamically load libraries and subroutines therein.
It seems to be the procedure _component_ that triggers the error. If I change the
argument to proc, with the declaration:
procedure(creation_procedure), pointer :: proc
call get_procedure( dynlib, 'create_prng', proc, success )
the compiler is happy again.
Is this a compiler bug?
Regards,
Arjen
- Marcas:
- Intel® Fortran Compiler
Link copiado
4 Respostas
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
I was trying to see if the problem still showed up in a current compiler, but there is a missing module prng_class.
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Oops, it worked for me because the mod file was still present. Here is the
source code for that module:
source code for that module:
! prng_class.f90 --
! Module defining the generic type for pseudo-random number
! generators (PRNG). Used by all specific PRNG implementations
!
module prng_class
implicit none
type, abstract :: prng
! No data
contains
procedure(get_next), deferred :: get
end type
abstract interface
real function get_next( params )
import :: prng
class(prng) :: params
end function get_next
end interface
end module prng_class
Regards,
Arjen
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Ah, good to hear that.
Regards,
Arjen
Regards,
Arjen
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
I can reproduce the problem - at first glance it looks like a compiler bug, but I am not sure. Investigating...
Responder
Opções do tópico
- Subscrever fonte RSS
- Marcar tópico como novo
- Marcar tópico como lido
- Flutuar este Tópico para o utilizador atual
- Marcador
- Subscrever
- Página amigável para impressora