HP OpenVMS Systems

ask the wizard
Content starts here

VAX Fortran sign extension of constants?

» close window

The Question is:

 
We have recently started porting our Fortran based system from VAX 4705 to
7820 machines, and have upgraded compilers etc for Y2K compliance.
Specifically, Fortran has gone from 5.7-133 to 6.5-188 with its host of
whizzy features.
 
However, due to a change in V6.3 of Fortran with respect to sign extension
of untyped bit constants, large parts of the code which rely on, for
example, a word (X) and byte constant (Y) both containing '84'X returning
TRUE in a statement like (X .EQ. Y) a
re now no longer working.
 
My question: is there a known workaround for this "problem" (the release
notes didn't indicate any), as the only alternatives we can see is to
meticulously trawl through our source and overhaul all such occurrences (1.3
million lines !) or revert to the o
ld (non-Y2K compliant) compiler.
 


The Answer is :

 
  This change was made in the V6.3 compiler about five years ago.  There
  is no workaround in the V6.5 compiler, but Compaq can provide you with
  a newer compiler that has an option to restore the old behavior.
 
  Please note that Compaq considers the old behavior to be a bug, and that
  if you migrate your application to Alpha, you will HAVE to fix your
  sources as there is no option in the Alpha compilers to get the old VAX
  behavior.
 

answer written or last revised on ( 24-MAY-1999 )

» close window