This setting controls certain options about the form of the Fortran
source code. The list consists of keywords
separated by commas or colons.
There are three special keywords: all to turn on all the
options, none to turn them all
off, and help to print the list of all the keywords with a brief
explanation of each.
If list is omitted, -source is equivalent to
-source=all, and -nosource is equivalent to
For compatibility with previous versions of ftnchek, a numeric
form of this setting is also accepted: the list is replaced by
a number which is the sum of the numbers in parentheses beside
the keywords in the following list. (The fixed and free
options do not have numeric values.)
The warning keywords with their meanings are as follows:
Interpret the source as fixed form (with supported extensions such as
exclamation mark for comments). Statements must be in columns 7 to 72
(unless the -cols setting has been used to change this), and
blanks are not significant outside character context (but warned
about under the -pretty option). This is the default mode
unless the source file extension is .f90 or .F90.
this option cannot be given together with -source=free.
Interpret the source as free form. Statements may be anywhere in
columns 1 to 132, comments can only begin with an exclamation mark,
and blanks are required in some places such as between identifiers and
keywords. This is the default mode if the source
file extension is .f90 or .F90. This option cannot be given
together with -source=fixed or -source=dec-tab
- dec-tab (1):
Accept DEC-style tab-formatted source. A line beginning with an
initial tab will be treated as a new statement line unless the
character after the tab is a nonzero digit, in which case it is
treated as a continuation line. The next column after the
tab or continuation mark is taken as column 7. A warning will be
given in the case where the line is a continuation, if
-f77=dec-tab is in effect.
- vms-include (2):
Accept VMS-style INCLUDE statements. These follow the normal
syntax, but with the following additional features: (1) the file
extension, if not given, defaults to the same as a normal source file
extension; and (2) the option /LIST or /NOLIST can be
appended to the include-file name, to control listing of its contents.
- unix-backslash (4):
Handle UNIX-style backslash escapes in character strings.
The escape sequence following the backslash will be evaluated
according to the ANSI standard for strings in C: up to three digits signify
an octal value, an x signifies the start of a hexadecimal constant,
any of the letters a b f n r t signify special control codes, and any
other character (including newline) signifies the character itself.
When this source code option is in effect,
a warning will be given if the -f77=backslash
setting is specified.
The default behavior is to treat the backslash
like any other normal character, but a warning about
portability will be generated if the -portability flag is set.
Because of the fact that some compilers treat the backslash in a
nonstandard way, it is possible for standard-conforming programs to be
non-portable if they use the backslash character in strings.
Since ftnchek does not do much with the interpreted string, it
is seldom necessary to use this option. It is needed in order to
avoid spurious warnings only if (a) the program being checked uses
backslash to embed an apostrophe or quote mark in a string
instead of using the standard mechanism of doubling the delimiter; (b)
the backslash is used to escape the end-of-line in order to continue
a string across multiple source lines; or (c) a PARAMETER
definition uses an intrinsic string function such as LEN with
such a string as argument, and that value is later used to define
array dimensions, etc.
- param-implicit-type (8):
Implicit typing of a parameter by the data type of the value assigned.
Some non-standard compilers may allow the data type of the value to
Fortran 77 default type of a parameter that is based on the first
letter of the parameter name. This option only applies to
PARAMETER statements of the standard form which has parentheses.
A parameter that has been
explicitly declared in a type statement prior to the PARAMETER
statement is not affected by this option. A warning will be given
under the -f77=param-implicit-type or
Note that this implicit typing is treated as equivalent to an explicit
type declaration for the parameter. Therefore, if you use
-makedcls=undeclared-only to generate declarations only of undeclared
variables, these parameters will not be included.
- dec-param-standard-type (16):
Follow the Fortran 77 rule for data typing of DEC Fortran style
parameters. These are declared using a nonstandard form of the
PARAMETER statement which lacks parentheses. According to DEC
Fortran, parameters defined by this form of the statement have their
data type given by the data type of the value assigned. Use this
option to tell ftnchek not to follow this rule but instead to use the
same rule as for standard PARAMETER statements. This option
does not apply to PARAMETER statements of the standard form.
By default, all these source code options are turned off, except for
the vms-include option, which is on by default in the VMS version..
See also: -f77, -include, -portability.