Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DCL2INC(1)		     General Commands Manual		      DCL2INC(1)

NAME
     dcl2inc - postprocess ftnchek .dcl files to create separate INCLUDE files

SYNOPSIS
     dcl2inc *.dcl

DESCRIPTION
     dcl2inc  postprocessing  declaration  files output by ftnchek(1), replacing
     unique COMMON block definitions by Fortran INCLUDE  statements.   For  each
     input .dcl file, a modified output .dcn file is produced, together with in-
     clude files named by the COMMON block name, with filename extension .inc.

     In addition, dcl2inc produces on stdout a list of Makefile dependencies for
     the UNIX make(1) utility.	These can be appended to the project Makefile to
     ensure  that  any subsequent changes to .inc files provoke recompilation of
     source files that include them.

     dcl2inc warns about COMMONs which differ from their first	occurrence,  and
     simply  copies them to the output .dcn file, instead of replacing them with
     an INCLUDE statement.  Thus, any COMMON statements that are  found  in  the
     output  .dcn  files should be examined carefully to determine why they dif-
     fer: they may well be in error.

     Replication of identical data, and bugs arising from  subsequent  modifica-
     tion  of  only  part of it, is a significant reason why Fortran programming
     projects should require that COMMON declarations occur in separate  include
     files, so that there is only a single point of definition of any global ob-
     ject.

     Even  though  the Fortran INCLUDE statement was tragically omitted from the
     1977 Standard, it has long been implemented by virtually all compiler  ven-
     dors, and is part of the 1990 Standard.  In practice, there is therefore no
     portability  problem  associated  with  use of INCLUDE statements, provided
     that one avoids nonportable file names.  As long as  the  code  obeys  For-
     tran's  limit  of six-character alphanumeric names, the filenames generated
     by dcl2inc will be acceptable on all current popular operating systems.

     Fortran's default, or IMPLICIT, variable typing  is  deprecated  in  modern
     programming  languages,  because  it  encourages  sloppy documentation, and
     worse, bugs due to misspelled variables, or variables that have been  trun-
     cated  because  they  extend past column 72.  If all variables used are ex-
     plicitly typed, and a compiler option is used to reject all  program  units
     with  untyped  variables,	variable  spelling  and truncation errors can be
     eliminated.

     Variable declarations that have been produced automatically by a tool  like
     ftnchek(1)  or  pfort(1) have a consistent format that facilitates applica-
     tion of stream editors (e.g. to change array  dimensions  or  rename  vari-
     ables),  and  simple floating-point precision conversion tools like d2s(1),
     dtoq(1), dtos(1), qtod(1), s2d(1), and stod(1).

CAVEAT
     The current version (2.9) of ftnchek(1) does not  produce	Fortran  EQUIVA-
     LENCE  statements	in  .dcl  files, so you must be careful to preserve them
     when replacing original declarations with new ones from .dcl or .dcn files.

SEE ALSO
     d2s(1), dtoq(1), dtos(1), ftnchek(1), make(1), pfort(1),  qtod(1),  s2d(1),
     stod(1).

AUTHOR
     Nelson H. F. Beebe, Ph.D.
     Center for Scientific Computing
     Department of Mathematics
     University of Utah
     Salt Lake City, UT 84112
     Tel: +1 801 581 5254
     FAX: +1 801 581 4148
     Email: <beebe@math.utah.edu>

Version 1.00			  12 March 1995 		      DCL2INC(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=dcl2inc&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help