- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi there,
I found a surprising behaviour of the IFC compiler while tracking a bug. A minimal size example:
subroutine try(n)
integer :: n
real, save :: vect(n)
vect(1) = 1.0
return
end subroutine try
This code is illegal, because array vect cannot possibily be save'd. However IFC 7.0 compiles the code by silently making array vect automatic, whereas every other compiler I tried flags this as an error. I don't know whether the language standard prescribes anything in this case, but IFC's behaviour is nonetheless surprising.
Any comments?
Thanks
Salvatore Filippone
University of Rome Tor Vergata, Rome, Italy
I found a surprising behaviour of the IFC compiler while tracking a bug. A minimal size example:
subroutine try(n)
integer :: n
real, save :: vect(n)
vect(1) = 1.0
return
end subroutine try
This code is illegal, because array vect cannot possibily be save'd. However IFC 7.0 compiles the code by silently making array vect automatic, whereas every other compiler I tried flags this as an error. I don't know whether the language standard prescribes anything in this case, but IFC's behaviour is nonetheless surprising.
Any comments?
Thanks
Salvatore Filippone
University of Rome Tor Vergata, Rome, Italy
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I agree, this is a bug. Please report it through Intel Premier Support.
Steve
Steve
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page