(snip)
> FORTRAN is on the layered products DVD. Please note that it is the
> F90/95 compiler only NOT the F77. I support some code that originated
> in 1976 and has some portions that need to be modified to work on the
> I64 platform. If you are upgrading from Alpha and use the /F77
> switch, be aware that changes are likely.
I have VAX and IA64, but still not Alpha. If I want to complete
my collection of VMS systems, then I will need one, but not so far.
> The 2 main categories for me thus far are:
> 1) F90/95 no longer supports octal constants (the use of "007" for
> example). This is nothing more than an annoyance as the code can
> simply be changed to use decimal constants. These were left over from
> PDP11 days.
I was using OS/360 before any DEC systems, and so was more used
to hex constants. For VAX/VMS, I always use(d) hex.
> 2) The standard has always stated that there was no particular order
> of evaluation for segments of an IF statement. In other words, should
> you have an IF statement with multiple conditions that are logically
> connected (.and., .or. etc) these segments can be evaluated in any
> order. It seems that F77 often evaluated them in left to right
> order. This is no longer the case and caused problems for the code I
> support. Please note that the code should NEVER require or depend
> upon this evaluation order.
I was not so long ago trying to get a program that I worked on
many years ago running again. With bounds-check turned on, it
would fail on such IF statements. In most cases, fetching element
zero of an array won't cause problems in actual code, but bounds
check catches it anyway.
There is some suggestion to add new logical operators to
Fortran, though still not in the 2008 standard. Maybe for
the next one.
-- glen