!
!       Thinking about editing this file???? DON'T!!!! Edit F2C.RNH
!       to make the changes you need and then use RUNOFF on your
!       modified help file.
!
1 f2c

 F2c converts Fortran 77 source code in file to C ( or C++ ) a  source
 file  in the current directory, with .C substituted for the file type
 extension.  If no Fortran files are named,  f2c  reads  Fortran  from
 standard  input and writes C to standard output.  File names that end
 with .P are taken to be prototype files, as produced  by  option  -P,
 and are read first.

 Format:

    $ f2c [options ...] file

 f2c is compiled with  VAXC  which  converts  uppercase  command  line
 arguments  to lowercase.  To pass an uppercase argument or a negation
 argument to f2c, the argument must be enclosed in quotation  marks  (
 .ie.   "-C"  or "-!bs" ).  Arguments enclosed in brackets ( [ ] ) are
 optional.
2 Options

 Options -C, -I2, -onetrip, -U, -u and -w have  the  same  meaning  as
 f77(1) on Unix systems.  All other options are peculiar to f2c.
3 -C

 Compile code to check  that  subscripts  are  within  declared  array
 bounds.
3 -I2

 Render INTEGER and LOGICAL as short, INTEGER*4 as long  int.   Assume
 the  default  F2CLIB.OLB  library:   allow  only  INTEGER*4  (and  no
 LOGICAL) variables in INQUIREs.   Option  -I4  confirms  the  default
 rendering of INTEGER as long int.
3 -onetrip

 Compile DO loops  that  are  performed  at  least  once  if  reached.
 (Fortran  77  DO loops are not performed at all if the upper limit is
 smaller than the lower limit.)
3 -U

 Honor the case of variable and external names.  Fortran keywords must
 be in lower case.
3 -u

 Make the default type of a variable `undefined' rather than using the
 default Fortran rules.
3 -w

 Suppress all warning messages.  If the option is -w66,  only  Fortran
 66 compatability warnings are suppressed.
3 -A

 Produce ANSI C.  Default is old-style C.
3 -a

 Make local variables automatic rather than static unless they  appear
 in a "DATA, EQUIVALENCE, NAMELIST," or SAVE statement.
3 -C++

 Output C++ code.
3 -c

 Include original Fortran source as comments.
3 -E

 Declare uninitialized COMMON to be  Extern  (overridably  defined  in
 f2c.h as extern).
3 -ec

 Place uninitialized COMMON blocks in separate  files:   COMMON  /ABC/
 appears  in  file  abc_com.c.  Option -e1c bundles the separate files
 into the output file, with comments that give  an  unbundling  sed(1)
 script.
3 -ext

 Complain about f77(1) extensions.
3 -g

 Include original Fortran line numbers as comments.
3 -h

 Try to align character strings on word (or, if the option is -hd,  on
 double-word) boundaries.
3 -i2

 Similar to -I2, but assume a modified  F2CLIB.OLB  library  (compiled
 with  -Df2c_i2 ), so INTEGER and LOGICAL variables may be assigned by
 INQUIRE.
3 -kr

 Use temporary values to enforce Fortran expression  evaluation  where
 K&R  (first  edition) parenthesization rules allow rearrangement.  If
 the option  is  -krd,  use  double  precision  temporaries  even  for
 single-precision operands.
3 -P

 Write a file.P of ANSI (or C++) prototypes for procedures defined  in
 each  input  file.f  or  file.F.   When reading Fortran from standard
 input, write prototypes at the beginning of standard output.  Implies
 -A  unless  option -C++ is present.  Option -Ps implies -P, and gives
 exit status 4 if rerunning f2c may change prototypes or declarations.
3 -p

 Supply preprocessor definitions to  make  common-block  members  look
 like local variables.
3 -R

 Do not promote REAL functions and  operations  to  DOUBLE  PRECISION.
 Option -!R confirms the default, which imitates f77.
3 -r8

 Promote REAL to DOUBLE PRECISION, COMPLEX to DOUBLE COMPLEX.
3 -T dir

 Put temporary files in directory dir.
-w8

 Suppress  warnings  when  COMMON  or  EQUIVALENCE   forces   odd-word
 alignment of doubles.
3 -W n

 Assume  n  characters/word  (default  4)  when  initializing  numeric
 variables with character data.
3 -z

 Do not implicitly recognize DOUBLE COMPLEX.
3 -!bs

 Do not recognize backslash escapes (\bs ", \bs ', \bs 0,  \bs  \bs  ,
 \bs b, \bs f, \bs n, \bs r, \bs t, \bs v) in character strings.
3 -!c

 Inhibit C output, but produce -P output.
3 -!I

 Reject include statements.
3 -!it

 Don't  infer  types  of  untyped  EXTERNAL  procedures  from  use  as
 parameters to previously defined or prototyped procedures.
3 -!P

 Do not attempt to infer ANSI or C++ prototypes from usage.
2 Linking

 The resulting C invokes the support  routines  of  f77;  object  code
 should  be  linked  with  the f2c support library as well as the VAXC
 run-time library.  The appropriate LINK command under VMS would be;

       $ LINK file,SYS$PUBLIC:F2CLIB/LIB,SYS$LIBRARY:VAXCRTL/LIB

 Calling conventions are those of f77:  see the reference below.
2 Files

 The following files are used by f2c;

 file.[f][F][for][FOR]     input file
 *.c                       output file
 SYS_$PUBLIC:F2C.H         header file
 SYS_$PUBLIC:F2CLIB.OLB    intrinsic function library and Fortran I/O library
 SYS_$LIBRARY:VAXCRTL.OLB  C run-time support library
2 See Also

 S.  I.  Feldman and  P.   J.   Weinberger,  `A  Portable  Fortran  77
 Compiler',  UNIX  Time  Sharing  System  Programmer's  Manual,  Tenth
 Edition, Volume 2, AT\&T Bell Laboratories, 1990.

 You should also read the technical report  on  f2c  from  AT&T  which
 provides  a  more detailed explanation of f2c.  This file is normally
 found in SYS$DOC:F2C_TECHNICAL_REPORT.PS.
2 Diagnostics

 The diagnostics produced by f2c are intended to be self-explanatory.
2 Bugs

 Floating-point   constant   expressions   are   simplified   in   the
 floating-point  arithmetic  of  the  machine running f2c, so they are
 typically accurate to at most 16 or 17 decimal places.

 Untypable EXTERNAL functions are declared int.
2 Author

 F2c was written at AT&T Bell Laboratories.
