Some compilers, such as
f2c, have an option (
similar) that provides automatic treatment of
entities such that they have twice the storage size, and
a corresponding increase in the range and precision, of what
would normally be the
COMPLEX the same way.)
They also typically offer another option (
-i8) to increase
INTEGER entities so they are twice as large
(with roughly twice as much range).
(There are potential pitfalls in using these options.)
g77 does not yet offer any option that performs these
kinds of transformations.
Part of the problem is the lack of detailed specifications regarding
exactly how these options affect the interpretation of constants,
intrinsics, and so on.
g77 addresses this need, programmers could improve
the portability of their code by modifying it to not require
compile-time options to produce correct results.
Some free tools are available which may help, specifically
in Toolpack (which one would expect to be sound) and the
section of the Netlib repository.
Use of preprocessors can provide a fairly portable means to work around the lack of widely portable methods in the Fortran language itself (though increasing acceptance of Fortran 90 would alleviate this problem).