Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29274 Discussions

Bug in interface generation: Class variable is output as Type

Cross__Mat
Beginner
501 Views
Hi. I'm using

> ifort --version
ifort (IFORT) 12.1.3 20120212
Copyright (C) 1985-2012 Intel Corporation. All rights reserved.

on

> uname -a
Linux stonehenge 3.3.4-3.fc16.x86_64 #1 SMP Thu May 3 14:46:44 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

With input source

> cat class.f90
subroutine s(c)
type :: t
end type t
class(t) :: c
end subroutine s

c is converted into type(t) in the output:

> ifort -c -gen-interfaces class.f90 ; cat s__genmod.f90
!COMPILER-GENERATED INTERFACE MODULE: Fri May 11 08:55:58 2012
MODULE S__genmod
INTERFACE
SUBROUTINE S(C)
TYPE T
END TYPE T
TYPE (T) :: C
END SUBROUTINE S
END INTERFACE
END MODULE S__genmod

0 Kudos
2 Replies
Steven_L_Intel1
Employee
501 Views
Thanks - this appears to affect only the generated .f90 which is never used by the compiler. The .mod correctly indicates the argument is polymorphic. I will let the developers know. Issue ID is DPD200181984.
0 Kudos
Steven_L_Intel1
Employee
501 Views
This has been fixed for a release later ths year.
0 Kudos
Reply