- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The attached code used to compile fine with older versions of ifort,
but moving to the new version 13.0.0.079 I see the following warning,
when compiling with -stand f03:
ifort -c -stand f03 moda.f90
moda.f90(16): warning #7363: Standard F2003 does not allow a dummy argument to a pure function to be used in a variable definition context.
pure function f1d(x) result(y)
-------------------^
My impression is that the code is fine; even in case there is
something nonstandard in my call using the generic name, the warning
message seems rather obscure to me.
Thank you for any help,
Marco Restelli
module moda
implicit none
interface f
module procedure fs, f1d
end interface
contains
pure function fs(x) result(y)
real, intent(in) :: x
real :: y
y = 2.0*x
end function fs
pure function f1d(x) result(y)
real, intent(in) :: x(:)
real :: y(size(x))
integer :: i
do i=1,size(x)
y(i) = f(x(i)) ! triggers the warning
!y(i) = fs(x(i)) ! does not trigger the warning
enddo
end function f1d
end module moda
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This bug was fixed in the recent Composer XE 2013 SP1 release, released in early September ( version 14.0 of the compiler )
ron

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page