fort77(1p) - phpMan

Command: man perldoc info search(apropos)  


FORT77(P)                                                            FORT77(P)



NAME
       fort77 - FORTRAN compiler (FORTRAN)

SYNOPSIS
       fort77 [-c][-g][-L directory]... [-O optlevel][-o outfile][-s][-w]
               operand...

DESCRIPTION
       The  fort77  utility  is  the interface to the FORTRAN compilation system; it shall
       accept the full FORTRAN-77 language defined by  the  ANSI X3.9-1978  standard.  The
       system conceptually consists of a compiler and link editor. The files referenced by
       operands are compiled and linked to produce an executable file. It  is  unspecified
       whether  the linking occurs entirely within the operation of fort77; some implemen-
       tations may produce objects that are not fully resolved until the file is executed.

       If  the  -c  option  is present, for all pathname operands of the form file .f, the
       files:


              $(basename pathname.f).o

       shall be created or overwritten as the result of successful compilation.  If the -c
       option  is  not  specified,  it is unspecified whether such .o files are created or
       deleted for the file .f operands.

       If there are no options that prevent link editing (such as  -c)  and  all  operands
       compile and link without error, the resulting executable file shall be written into
       the file named by the -o option (if present) or to the file a.out.  The  executable
       file   shall   be   created  as  specified  in  the  System  Interfaces  volume  of
       IEEE Std 1003.1-2001, except that the file permissions shall be set to:


              S_IRWXO | S_IRWXG | S_IRWXU

       and that the bits specified by the umask of the process shall be cleared.

OPTIONS
       The  fort77  utility  shall   conform   to   the   Base   Definitions   volume   of
       IEEE Std 1003.1-2001, Section 12.2, Utility Syntax Guidelines, except that:

        * The  -l library operands have the format of options, but their position within a
          list of operands affects the order in which libraries are searched.


        * The order of specifying the multiple -L options is significant.


        * Conforming applications shall specify each option separately; that is,  grouping
          option letters (for example, -cg) need not be recognized by all implementations.


       The following options shall be supported:

       -c     Suppress the link-edit phase of the  compilation,  and  do  not  remove  any
              object files that are produced.

       -g     Produce  symbolic  information in the object or executable files; the nature
              of this information is unspecified, and may be modified  by  implementation-
              defined interactions with other options.

       -s     Produce  object  or executable files, or both, from which symbolic and other
              information not required for proper  execution  using  the  exec  family  of
              functions  defined  in  the System Interfaces volume of IEEE Std 1003.1-2001
              has been removed (stripped). If both -g and  -s  options  are  present,  the
              action taken is unspecified.

       -o  outfile
              Use  the  pathname outfile, instead of the default a.out, for the executable
              file produced. If the -o option is present with -c, the result  is  unspeci-
              fied.

       -L  directory
              Change  the algorithm of searching for the libraries named in -l operands to
              look in the directory named by the directory pathname before looking in  the
              usual places. Directories named in -L options shall be searched in the spec-
              ified order. At least ten instances of this option shall be supported  in  a
              single  fort77  command  invocation. If a directory specified by a -L option
              contains a file named libf.a, the results are unspecified.

       -O  optlevel
              Specify the level of code optimization. If the optlevel  option-argument  is
              the  digit  â€â€™0â€â€™ , all special code optimizations shall be disabled. If it is
              the digit â€â€™1â€â€™ , the nature of the optimization is  unspecified.  If  the  -O
              option  is  omitted,  the  nature  of  the  system’s default optimization is
              unspecified. It is unspecified whether code generated in the presence of the
              -O 0 option is the same as that generated when -O is omitted. Other optlevel
              values may be supported.

       -w     Suppress warnings.


       Multiple instances of -L options can be specified.

OPERANDS
       An operand is either in the form of a pathname or the form -l library. At least one
       operand  of  the  pathname form shall be specified. The following operands shall be
       supported:

       file.f The pathname of a FORTRAN source file to be compiled and  optionally  passed
              to  the  link  editor.  The filename operand shall be of this form if the -c
              option is used.

       file.a A library of object files typically produced by ar, and passed  directly  to
              the  link  editor. Implementations may recognize implementation-defined suf-
              fixes other than .a as denoting object file libraries.

       file.o An object file produced by fort77 -c and passed directly to the link editor.
              Implementations  may recognize implementation-defined suffixes other than .o
              as denoting object files.


       The processing of other files is implementation-defined.

       -l  library
              (The letter ell.) Search the library named:


              liblibrary.a

       A library is searched when its name is  encountered,  so  the  placement  of  a  -l
       operand is significant. Several standard libraries can be specified in this manner,
       as described in the EXTENDED DESCRIPTION  section.  Implementations  may  recognize
       implementation-defined suffixes other than .a as denoting libraries.


STDIN
       Not used.

INPUT FILES
       The input file shall be one of the following: a text file containing FORTRAN source
       code; an object file in the format produced by fort77 -c; or a  library  of  object
       files,  in  the  format  produced by archiving zero or more object files, using ar.
       Implementations may supply additional utilities that produce files  in  these  for-
       mats.  Additional input files are implementation-defined.

       A  <tab> encountered within the first six characters on a line of source code shall
       cause the compiler to interpret the following character as if it were  the  seventh
       character on the line (that is, in column 7).

ENVIRONMENT VARIABLES
       The following environment variables shall affect the execution of fort77:

       LANG   Provide  a  default  value  for  the internationalization variables that are
              unset or null. (See the Base  Definitions  volume  of  IEEE Std 1003.1-2001,
              Section  8.2,  Internationalization Variables for the precedence of interna-
              tionalization variables used to determine the values of locale  categories.)

       LC_ALL If  set  to  a  non-empty string value, override the values of all the other
              internationalization variables.

       LC_CTYPE
              Determine the locale for the interpretation of sequences of  bytes  of  text
              data  as characters (for example, single-byte as opposed to multi-byte char-
              acters in arguments and input files).

       LC_MESSAGES
              Determine the locale that should be used to affect the format  and  contents
              of diagnostic messages written to standard error.

       NLSPATH
              Determine the location of message catalogs for the processing of LC_MESSAGES
              .

       TMPDIR Determine the pathname that should override the default directory for tempo-
              rary files, if any.


ASYNCHRONOUS EVENTS
       Default.

STDOUT
       Not used.

STDERR
       The  standard  error  shall  be used only for diagnostic messages. If more than one
       file operand ending in .f (or possibly other unspecified suffixes)  is  given,  for
       each such file:


              "%s:\n", <file>

       may be written to allow identification of the diagnostic message with the appropri-
       ate input file.

       This utility may produce warning messages about certain conditions that do not war-
       rant returning an error (non-zero) exit value.

OUTPUT FILES
       Object  files, listing files, and executable files shall be produced in unspecified
       formats.

EXTENDED DESCRIPTION
   Standard Libraries
       The fort77 utility shall recognize  the  following  -l  operand  for  the  standard
       library:

       -l f   This  library  contains all functions referenced in the ANSI X3.9-1978 stan-
              dard. This operand shall not be required to be present to cause a search  of
              this library.


       In  the  absence of options that inhibit invocation of the link editor, such as -c,
       the fort77 utility shall cause the equivalent of a -l f operand to be passed to the
       link  editor  as  the  last  -l  operand, causing it to be searched after all other
       object files and libraries are loaded.

       It is unspecified whether the library libf.a exists as a regular file.  The  imple-
       mentation  may  accept as -l operands names of objects that do not exist as regular
       files.

   External Symbols
       The FORTRAN compiler and link editor shall support  the  significance  of  external
       symbols  up to a length of at least 31 bytes; case folding is permitted. The action
       taken upon encountering symbols exceeding the implementation-defined maximum symbol
       length is unspecified.

       The  compiler  and  link editor shall support a minimum of 511 external symbols per
       source or object file, and a minimum of 4095 external symbols total.  A  diagnostic
       message  is  written  to  standard  output  if  the implementation-defined limit is
       exceeded; other actions are unspecified.

EXIT STATUS
       The following exit values shall be returned:

        0     Successful compilation or link edit.

       >0     An error occurred.


CONSEQUENCES OF ERRORS
       When fort77 encounters a compilation error, it shall write a diagnostic to standard
       error  and  continue  to compile other source code operands. It shall return a non-
       zero exit status, but it is implementation-defined whether an object module is cre-
       ated.   If  the link edit is unsuccessful, a diagnostic message shall be written to
       standard error, and fort77 shall exit with a non-zero status.

       The following sections are informative.

APPLICATION USAGE
       None.

EXAMPLES
       The following usage example compiles xyz.f and creates the executable file foo:


              fort77 -o foo xyz.f

       The following example compiles xyz.f and creates the object file xyz.o:


              fort77 -c xyz.f

       The following example compiles xyz.f and creates the executable file a.out:


              fort77 xyz.f

       The following example compiles xyz.f, links it with b.o, and creates the executable
       a.out:


              fort77 xyz.f b.o

RATIONALE
       The  name  of  this  utility was chosen as fort77 to parallel the renaming of the C
       compiler. The name f77 was not chosen to avoid problems with historical implementa-
       tions.  The  ANSI X3.9-1978  standard was selected as a normative reference because
       the ISO/IEC version of FORTRAN-77 has  been  superseded  by  the  ISO/IEC 1539:1990
       standard (Fortran-90).

       The file inclusion and symbol definition #define mechanisms used by the c99 utility
       were not included in this volume of IEEE Std 1003.1-2001-even though they are  com-
       monly implemented-since there is no requirement that the FORTRAN compiler use the C
       preprocessor.

       The -onetrip option was not included in this volume of  IEEE Std 1003.1-2001,  even
       though many historical compilers support it, because it is derived from FORTRAN-66;
       it is an anachronism that should not be perpetuated.

       Some implementations produce compilation listings. This aspect of FORTRAN has  been
       left  unspecified because there was controversy concerning the various methods pro-
       posed for implementing it: a -V option overlapped with historical  vendor  practice
       and a naming convention of creating files with .l suffixes collided with historical
       lex file naming practice.

       There is no -I option in this version of this  volume  of  IEEE Std 1003.1-2001  to
       specify a directory for file inclusion. An INCLUDE directive has been a part of the
       Fortran-90 discussions, but an interface supporting that standard  is  not  in  the
       current scope.

       It is noted that many FORTRAN compilers produce an object module even when compila-
       tion errors occur; during a subsequent compilation,  the  compiler  may  patch  the
       object module rather than recompiling all the code. Consequently, it is left to the
       implementor whether or not an object file is created.

       A reference to MIL-STD-1753 was removed from an early proposal  in  response  to  a
       request  from  the POSIX FORTRAN-binding standard developers. It was not the inten-
       tion of the standard developers to require certification of the  FORTRAN  compiler,
       and IEEE Std 1003.9-1992 does not specify the military standard or any special pre-
       processing requirements. Furthermore, use of that document would have been inappro-
       priate for an international standard.

       The specification of optimization has been subject to changes through early propos-
       als. At one time, -O and -N were Booleans: optimize and do not  optimize  (with  an
       unspecified default).  Some historical practice led this to be changed to:

       -O 0   No optimization.

       -O 1   Some level of optimization.

       -O  n  Other, unspecified levels of optimization.


       It  is  not  always clear whether "good code generation" is the same thing as opti-
       mization. Simple optimizations of local actions do not usually affect the semantics
       of  a program. The -O 0 option has been included to accommodate the very particular
       nature of scientific calculations in a highly optimized environment; compilers make
       errors. Some degree of optimization is expected, even if it is not documented here,
       and the ability to shut it off completely could be important when porting an appli-
       cation. An implementation may treat -O 0 as "do less than normal" if it wishes, but
       this is only meaningful if any of the operations it performs can affect the  seman-
       tics of a program.  It is highly dependent on the implementation whether doing less
       than normal is logical. It is not the intent of the -O 0 option to ask for  ineffi-
       cient code generation, but rather to assure that any semantically visible optimiza-
       tion is suppressed.

       The specification of standard library access is  consistent  with  the  C  compiler
       specification.  Implementations  are  not required to have /usr/lib/libf.a, as many
       historical implementations do, but if not they are required to  recognize  f  as  a
       token.

       External  symbol size limits are in normative text; conforming applications need to
       know these limits. However, the minimum maximum symbol length should be taken as  a
       constraint  on a conforming application, not on an implementation, and consequently
       the action taken for a symbol exceeding the limit is unspecified. The minimum  size
       for the external symbol table was added for similar reasons.

       The  CONSEQUENCES  OF ERRORS section clearly specifies the behavior of the compiler
       when compilation or link-edit errors occur.  The  behavior  of  several  historical
       implementations was examined, and the choice was made to be silent on the status of
       the executable, or a.out, file in the face of  compiler  or  linker  errors.  If  a
       linker  writes  the  executable  file,  then  links  it  on  disk with lseek()s and
       write()s, the partially linked executable file can be left on disk and its  execute
       bits  turned  off if the link edit fails. However, if the linker links the image in
       memory before writing the file to disk, it need not touch the executable  file  (if
       it  already exists) because the link edit fails. Since both approaches are histori-
       cal practice, a conforming application shall rely on the  exit  status  of  fort77,
       rather than on the existence or mode of the executable file.

       The  -g and -s options are not specified as mutually-exclusive.  Historically these
       two options have been mutually-exclusive, but because both are  so  loosely  speci-
       fied, it seemed appropriate to leave their interaction unspecified.

       The requirement that conforming applications specify compiler options separately is
       to reserve the multi-character  option  name  space  for  vendor-specific  compiler
       options,  which  are known to exist in many historical implementations. Implementa-
       tions are not required to recognize, for example, -gc as if it were -g -c; nor  are
       they  forbidden  from doing so. The SYNOPSIS shows all of the options separately to
       highlight this requirement on applications.

       Echoing filenames to standard error is considered a diagnostic message  because  it
       would  otherwise  be  difficult to associate an error message with the erring file.
       They are described with "may" to allow implementations  to  use  other  methods  of
       identifying files and to parallel the description in c99.

FUTURE DIRECTIONS
       A  compilation  system  based on the ISO/IEC 1539:1990 standard (Fortran-90) may be
       considered for a future version; it may have a different utility name from  fort77.

SEE ALSO
       ar  ,  asa  , c99 , umask() , the System Interfaces volume of IEEE Std 1003.1-2001,
       exec

COPYRIGHT
       Portions of this text are reprinted and reproduced in electronic form from IEEE Std
       1003.1,  2003  Edition,  Standard  for Information Technology -- Portable Operating
       System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C)
       2001-2003  by  the  Institute  of Electrical and Electronics Engineers, Inc and The
       Open Group. In the event of any discrepancy between this version and  the  original
       IEEE  and The Open Group Standard, the original IEEE and The Open Group Standard is
       the  referee  document.  The  original  Standard  can   be   obtained   online   at
       http://www.opengroup.org/unix/online.html .



POSIX                                2003                            FORT77(P)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache/1.3.41 (Unix) PHP/5.2.5 mod_perl/1.30 mod_gzip/1.3.26.1a
Under GNU General Public License
2008-12-02 08:31 @38.103.63.58 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Valid XHTML 1.0!Valid CSS!