182 lines
		
	
	
	
		
			5.7 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			182 lines
		
	
	
	
		
			5.7 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
 | 
						|
     F2C(1)							F2C(1)
 | 
						|
 | 
						|
     NAME
 | 
						|
	  f2c -	Convert	Fortran	77 to C	or C++
 | 
						|
 | 
						|
     SYNOPSIS
 | 
						|
	  f2c [	option ... ] file ...
 | 
						|
 | 
						|
     DESCRIPTION
 | 
						|
	  F2c converts Fortran 77 source code in files with names end-
 | 
						|
	  ing in `.f' or `.F' to C (or C++) source files in the
 | 
						|
	  current directory, with `.c' substituted for the final `.f'
 | 
						|
	  or `.F'.  If no Fortran files	are named, f2c reads Fortran
 | 
						|
	  from standard	input and writes C on standard output.	File
 | 
						|
	  names	that end with `.p' or `.P' are taken to	be prototype
 | 
						|
	  files, as produced by	option `-P', and are read first.
 | 
						|
 | 
						|
	  The following	options	have the same meaning as in f77(1).
 | 
						|
 | 
						|
	  -C   Compile code to check that subscripts are within
 | 
						|
	       declared	array bounds.
 | 
						|
 | 
						|
	  -I2  Render INTEGER and LOGICAL as short, INTEGER*4 as long
 | 
						|
	       int.  Assume the	default	libF77 and libI77:  allow only
 | 
						|
	       INTEGER*4 (and no LOGICAL) variables in INQUIREs.
 | 
						|
	       Option `-I4' confirms the default rendering of INTEGER
 | 
						|
	       as long int.
 | 
						|
 | 
						|
	  -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.)
 | 
						|
 | 
						|
	  -U   Honor the case of variable and external names.  Fortran
 | 
						|
	       keywords	must be	in lower case.
 | 
						|
 | 
						|
	  -u   Make the	default	type of	a variable `undefined' rather
 | 
						|
	       than using the default Fortran rules.
 | 
						|
 | 
						|
	  -w   Suppress	all warning messages.  If the option is
 | 
						|
	       `-w66', only Fortran 66 compatibility warnings are
 | 
						|
	       suppressed.
 | 
						|
 | 
						|
	  The following	options	are peculiar to	f2c.
 | 
						|
 | 
						|
	  -A   Produce ANSI C.	Default	is old-style C.
 | 
						|
 | 
						|
	  -a   Make local variables automatic rather than static
 | 
						|
	       unless they appear in a DATA, EQUIVALENCE, NAMELIST, or
 | 
						|
	       SAVE statement.
 | 
						|
 | 
						|
	  -C++ Output C++ code.
 | 
						|
 | 
						|
	  -c   Include original	Fortran	source as comments.
 | 
						|
 | 
						|
     Page 1		       Tenth Edition	     (printed 4/25/91)
 | 
						|
 | 
						|
     F2C(1)							F2C(1)
 | 
						|
 | 
						|
	  -E   Declare uninitialized COMMON to be Extern (overridably
 | 
						|
	       defined in f2c.h	as extern).
 | 
						|
 | 
						|
	  -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.
 | 
						|
 | 
						|
	  -ext Complain	about f77(1) extensions.
 | 
						|
 | 
						|
	  -g   Include original	Fortran	line numbers as	comments.
 | 
						|
 | 
						|
	  -h   Try to align character strings on word (or, if the
 | 
						|
	       option is `-hd',	on double-word)	boundaries.
 | 
						|
 | 
						|
	  -i2  Similar to -I2, but assume a modified libF77 and	libI77
 | 
						|
	       (compiled with -Df2c_i2), so INTEGER and	LOGICAL	vari-
 | 
						|
	       ables may be assigned by	INQUIRE	and array lengths are
 | 
						|
	       stored in short ints.
 | 
						|
 | 
						|
	  -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.
 | 
						|
 | 
						|
	  -P   Write a file.P of ANSI (or C++) prototypes for pro-
 | 
						|
	       cedures 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 proto-
 | 
						|
	       types or	declarations.
 | 
						|
 | 
						|
	  -p   Supply preprocessor definitions to make common-block
 | 
						|
	       members look like local variables.
 | 
						|
 | 
						|
	  -R   Do not promote REAL functions and operations to DOUBLE
 | 
						|
	       PRECISION.  Option `-!R'	confirms the default, which
 | 
						|
	       imitates	f77.
 | 
						|
 | 
						|
	  -r   Cast values of REAL functions (including	intrinsics) to
 | 
						|
	       REAL.
 | 
						|
 | 
						|
	  -r8  Promote REAL to DOUBLE PRECISION, COMPLEX to DOUBLE
 | 
						|
	       COMPLEX.
 | 
						|
 | 
						|
	  -Tdir
 | 
						|
	       Put temporary files in directory	dir.
 | 
						|
 | 
						|
	  -w8  Suppress	warnings when COMMON or	EQUIVALENCE forces
 | 
						|
	       odd-word	alignment of doubles.
 | 
						|
 | 
						|
     Page 2		       Tenth Edition	     (printed 4/25/91)
 | 
						|
 | 
						|
     F2C(1)							F2C(1)
 | 
						|
 | 
						|
	  -Wn  Assume n	characters/word	(default 4) when initializing
 | 
						|
	       numeric variables with character	data.
 | 
						|
 | 
						|
	  -z   Do not implicitly recognize DOUBLE COMPLEX.
 | 
						|
 | 
						|
	  -!bs Do not recognize	backslash escapes (\", \', \0, \\, \b,
 | 
						|
	       \f, \n, \r, \t, \v) in character	strings.
 | 
						|
 | 
						|
	  -!c  Inhibit C output, but produce -P	output.
 | 
						|
 | 
						|
	  -!I  Reject include statements.
 | 
						|
 | 
						|
	  -!it Don't infer types of untyped EXTERNAL procedures	from
 | 
						|
	       use as parameters to previously defined or prototyped
 | 
						|
	       procedures.
 | 
						|
 | 
						|
	  -!P  Do not attempt to infer ANSI or C++ prototypes from
 | 
						|
	       usage.
 | 
						|
 | 
						|
	  The resulting	C invokes the support routines of f77; object
 | 
						|
	  code should be loaded	by f77 or with ld(1) or	cc(1) options
 | 
						|
	  -lF77	-lI77 -lm.  Calling conventions	are those of f77: see
 | 
						|
	  the reference	below.
 | 
						|
 | 
						|
     FILES
 | 
						|
	  file.[fF]
 | 
						|
	       input file
 | 
						|
 | 
						|
	  *.c  output file
 | 
						|
 | 
						|
	  /usr/include/f2c.h
 | 
						|
	       header file
 | 
						|
 | 
						|
	  /usr/lib/libF77.a
 | 
						|
	       intrinsic function library
 | 
						|
 | 
						|
	  /usr/lib/libI77.a
 | 
						|
	       Fortran I/O library
 | 
						|
 | 
						|
	  /lib/libc.a
 | 
						|
	       C library, see section 3
 | 
						|
 | 
						|
     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.
 | 
						|
 | 
						|
     DIAGNOSTICS
 | 
						|
	  The diagnostics produced by f2c are intended to be self-
 | 
						|
	  explanatory.
 | 
						|
 | 
						|
     BUGS
 | 
						|
 | 
						|
     Page 3		       Tenth Edition	     (printed 4/25/91)
 | 
						|
 | 
						|
     F2C(1)							F2C(1)
 | 
						|
 | 
						|
	  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.
 | 
						|
 | 
						|
     Page 4		       Tenth Edition	     (printed 4/25/91)
 | 
						|
 |