I ran into a compiler bug when I tried to use FTN95 7.10 on some old Fortran-IV code from Netlib (opt/Varpro). I had intended to use the nice /convert option that is provided in FTN95, but wanted to run the test case first with the original source code and use the output as a base-line.
I received many spurious error messages from Format statements that contain Hollerith string items. Here is an example:
program xHollerith
implicit none
integer N, L, NL, P, IV
N = 33
L = 3
NL = 2
P = 2
IV = 1
WRITE (*, 101) N, L, NL, P, IV
C 1 2 3 4 5 6 7
C23456789012345678901234567890123456789012345678901234567890123456789012
101 FORMAT (36H1 NON-LINEAR LEAST SQUARES PROBLEM //
1 25H NUMBER OF OBSERVATIONS =, I5, 32H NUMBER OF LINEAR PARAMETE
2RS = , I4 // 33H NUMBER OF NONLINEAR PARAMETERS =, I4,
3 45H NUMBER OF NONVANISHING PARTIAL DERIVATIVES =, I4 //
4 34H NUMBER OF INDEPENDENT VARIABLES =, I4)
END
The source file does not contain any tab (ASCII 9) characters, nor are there any incorrect character counts. Attempting to compile this program gives
[FTN95/Win32 Ver. 7.10.0 Copyright (c) Silverfrost Ltd 1993-2014]
0010) 101 FORMAT (36H1 NON-LINEAR LEAST SQUARES PROBLEM //
0011) 1 25H NUMBER OF OBSERVATIONS =, I5, 32H NUMBER OF LINEAR PARAMETE
0012) 2RS = , I4 // 33H NUMBER OF NONLINEAR PARAMETERS =, I4,
*** Illegal character combination, '=' followed by ','
0010) 101 FORMAT (36H1 NON-LINEAR LEAST SQUARES PROBLEM //
0011) 1 25H NUMBER OF OBSERVATIONS =, I5, 32H NUMBER OF LINEAR PARAMETE
0012) 2RS = , I4 // 33H NUMBER OF NONLINEAR PARAMETERS =, I4,
0013) 3 45H NUMBER OF NONVANISHING PARTIAL DERIVATIVES =, I4 //
0014) 4 34H NUMBER OF INDEPENDENT VARIABLES =, I4)
*** Unknown edit descriptor 'R', or missing comma
2 ERRORS [<XHOLLERITH> FTN95/Win32 v7.10.0]
*** Compilation failed
If I use /convert, however, FTN95 produces transformed source code which a subsequent compilation handles without errors.
[P.S., 15 June 2015: This bug is also present in FTN95-7.20]