I found a surprising behaviour of the IFC compiler while tracking a bug. A minimal size example:
integer :: n
real, save :: vect(n)
vect(1) = 1.0
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.
University of Rome Tor Vergata, Rome, Italy