.he 'FC (I)'9/1/72'FC (I)'
NAME fc -- fortran compiler
SYNOPSIS fc
\b\b__ [ -c
\b\b__ ] sfile\d1\u.f
\b\b__ ... ofile\d1\u ...
is the UNIX Fortran compiler.
It accepts three types of arguments:
Arguments whose names end with ".f" are assumed to be
Fortran source program units; they are compiled, and
the object program is left on the file sfile\d1\u.o (i.e.
the file whose name is that of the source with ".o" substituted
Other arguments (except for "-c") are assumed
to be either loader flags, or
object programs, typically produced by an earlier fc
\b\b__ run,
or perhaps libraries of Fortran-compatible routines.
These programs, together with the results of any
compilations specified, are loaded (in the order
given) to produce an executable program with name
The "-c" argument suppresses the loading phase, as does
any syntax error in any of the routines being compiled.
of differences between fc
\b\b__
and ANSI standard Fortran (also see the BUGS section):
1. Arbitrary combination of types is allowed
in expressions. Not all combinations are expected to
conversions involving integer, real, double
precision and complex are allowed.
2. The 'standard' implicit statement is recognized.
doublecomplex, logical*1,
integer*2 and real*8 (doubleprecision)
4. &
\b_ as the first character of a line
signals a continuation card.
5. c
\b_ as the first character of a line signals a comment.
6. All keywords are recognized in lower case.
7. The notion of 'column 7' is not implemented.
8. G-format input is free form--
leading blanks are ignored, the first blank after the start
of the number terminates the field.
9. A comma in any numeric or logical input field terminates
10. There is no carriage control on output.
In I/O statements, only unit numbers 0-19 are supported.
Unit number nn
\b\b__ corresponds to file "fortnn
\b\b__;"
(e.g. unit 9 is file "fort09").
For input, the file must exist;
for output, it will be created.
Unit 5 is permanently associated with
the standard input file; unit 6 with the
f.tmp[123] temporary (deleted)
/usr/fort/fc[1234] compilation phases
/usr/lib/fr0.o runtime startoff
/usr/lib/filib.a interpreter library
/usr/lib/libf.a builtin functions, etc.
/usr/lib/liba.a system library
DIAGNOSTICS Compile-time diagnostics
If the source code is available, it is
printed with an underline at the current
2 syntax error in type statement
4 missing ( in array declarator
5 syntax error in dimension statement
6 inappropriate or gratuitous array declarator
7 syntax error in subscript bound
9 common variable is a parameter or already in common
11 subroutine/blockdata/function not first statement
12 subroutine/function syntax error
13 block data syntax error
14 redeclaration in external
17 subscript on non-array
18 incorrect subscript count
19 subscript out of range
20 subscript syntax error
23 Illegal variable in DATA
23 equivalence inconsistency
24 equivalence syntax error
25 separate common blocks equivalenced
26 common block illegally extended by equivalence
27 common inconsistency created by equivalence
29 () imbalance in expression
30 expression syntax error
31 illegal variable in equivalence
32 Storage initialized twice by DATA
33 non array/function used with subscripts/arguments
38 continue, return, stop, call, end, or pause syntax error
42 do or I/O iteration error
50 illegal statement in block data
51 multiply defined labels
54 expression syntax error
55 end of statement in hollerith constant
99
\ eB
\ f table overflow
101 unrecognized statement
4 excessive argument to cabs
8 excessive argument to exp
10 bad arg count to isign
13 illegal argument to sqrt
14 assigned/computed goto out of range
15 subscript out of range
100 illegal I/O unit number
101 inconsistent use of I/O unit
102 cannot create output file
103 cannot open input file
105 illegal character in format
106 format does not begin with (
107 no conversion in format but non-empty list
108 excessive parenthesis depth in format
109 illegal format specification
110 illegal character in input field
111 end of format in hollerith specification
999 unimplemented input conversion
BUGS The following is a list of
those features not yet implemented:
arithmetic statement functions
backspace, endfile, rewind runtime
no scale factors on input