1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262
|
<HTML>
<HEAD>
<TITLE>Option: f77</TITLE>
</HEAD>
<BODY>
<A HREF="toc.html">Table of Contents</A><P>
<P>Previous: <A HREF="extern.html">-extern</A><HR><P>
<H2>Option: <font color=#FF0080>f77</font></H2><P>
<A NAME="f77"></A><DT><B><A HREF="f77.html">-f77</A>=</B><I>list</I> </DT>
<DD>Use this setting to catch language extensions which violate
the Fortran 77 Standard. Such extensions may cause your program not to
be portable. Examples include the use of underscores in variable names;
variable names longer than six characters; statement lines longer than
72 characters; and nonstandard statements such as the DO ... ENDDO structure.
<B>ftnchek </B> does not report on the use of lowercase letters. By default,
all warnings are turned off. <blockquote></DD>
</DL>
<P>
This setting provides detailed control over
the warnings about supported extensions to the Fortran 77 Standard. The
<I>list </I> consists of keywords separated by commas or colons. There are three
special keywords: <B>all </B> to turn on all the warnings about nonstandard extensions,
<B>none </B> to turn them all off, and <B>help </B> to print the list of all the keywords
with a brief explanation of each. If <I>list </I> is omitted, <B><A HREF="f77.html">-f77</A> </B> is equivalent
to <B><A HREF="f77.html">-f77</A>=all </B>, and <B>-nof77 </B> is equivalent to <B><A HREF="f77.html">-f77</A>=none </B>. The warning keywords
with their meanings are as follows. (Further details about the extensions
themselves are given below in the section on Extensions.)
<DL>
<DT><B>accept-type</B>:
</DT>
<DD>ACCEPT and TYPE I/O statements. </DD>
<DT><B>array-bounds</B>: </DT>
<DD>Expressions defining array
bounds that contain array elements or function references. </DD>
<DT><B>assignment-stmt</B>:
</DT>
<DD>Assignment statements involving arrays. In Fortran 90, an array can be
assigned to another array of compatible shape, or a scalar can be assigned
to an array. Neither of these assignments is permitted in Fortran 77.
<blockquote></DD>
</DL>
<P>
A related warning occurs when an array is assigned to a scalar. Since
this is illegal also in Fortran 90, it is always warned about regardless
of the <B><A HREF="f77.html">-f77</A> </B> setting (unless all checking is turned off with the <B>-nocheck
</B> flag). </blockquote>
<DL>
<DT><B>automatic-array</B>: </DT>
<DD>Local (not dummy) arrays which have variable
size. These would correspond to arrays whose storage would have to be
dynamically allocated at run time. </DD>
<DT><B>backslash</B>: </DT>
<DD>Unix backslash escape in
strings. This warning will be given only if the <B><A HREF="source.html">-source</A>=unix-backslash </B>
setting is specified to cause the escape interpretation of backslash.. </DD>
<DT><B>byte</B>:
</DT>
<DD>BYTE data type declaration. </DD>
<DT><B>common-subprog-name</B>: </DT>
<DD>Common block and subprogram
having the same name. </DD>
<DT><B>construct-name</B>: </DT>
<DD>Use of a construct-name to label a
control statement. </DD>
<DT><B>continuation</B>: </DT>
<DD>More than 19 successive continuation
lines. </DD>
<DT><B>cpp</B>: </DT>
<DD>Unix C preprocessor directives in the source code. </DD>
<DT><B>cycle-exit</B>:
</DT>
<DD>The CYCLE and EXIT statements. </DD>
<DT><B>d-comment</B>: </DT>
<DD>Debugging comments starting
with D in the source code. </DD>
<DT><B>dec-tab</B>: </DT>
<DD>DEC Fortran style tab-formatted source
code. This warning will be given only if the <B><A HREF="source.html">-source</A>=dec-tab </B> setting is
specified to cause interpretation of tabs in this style. </DD>
<DT><B>do-enddo</B>: </DT>
<DD>DO
loop extensions: terminal statement label omitted, END DO , and WHILE
. </DD>
<DT><B>double-complex</B>: </DT>
<DD>Double precision complex datatype. </DD>
<DT><B>format-dollarsign</B>:
</DT>
<DD>Dollar sign control code in FORMAT statements. </DD>
<DT><B>format-edit-descr</B>: </DT>
<DD>Nonstandard
edit descriptors in FORMAT statements. </DD>
<DT><B>function-noparen</B>: </DT>
<DD>Function definition
without parentheses. </DD>
<DT><B>implicit-none</B>: </DT>
<DD>IMPLICIT NONE statement. </DD>
<DT><B>include</B>:
</DT>
<DD>INCLUDE statement. </DD>
<DT><B>inline-comment</B>: </DT>
<DD>Inline comments starting with an exclamation
point. </DD>
<DT><B>internal-list-io</B>: </DT>
<DD>List-directed I/O to or from an internal file. </DD>
<DT><B>intrinsic</B>:
</DT>
<DD>Nonstandard intrinsic functions. </DD>
<DT><B>io-keywords</B> </DT>
<DD>Nonstandard keywords used
in I/O statements. These fall into three groups. The first group includes
keywords that are accepted in Fortran 90: <CENTER> <TABLE BORDER=0>
<TR> <TD ALIGN=LEFT>ACTION </TD> <TD ALIGN=LEFT>PAD </TD> <TD ALIGN=LEFT>READWRITE
</TD> </TR>
<TR> <TD ALIGN=LEFT>ADVANCE </TD> <TD ALIGN=LEFT>POSITION </TD> <TD ALIGN=LEFT>SIZE </TD> </TR>
<TR> <TD ALIGN=LEFT>DELIM </TD> <TD ALIGN=LEFT>READ </TD> <TD ALIGN=LEFT>WRITE </TD> </TR>
<TR> <TD ALIGN=LEFT>EOR </TD> </TR>
</TABLE>
</CENTER>The
second group comprises the following VMS Fortran keywords: <CENTER> <TABLE BORDER=0>
<TR> <TD ALIGN=LEFT>BLOCKSIZE
</TD> <TD ALIGN=LEFT>EXTENDSIZE </TD> <TD ALIGN=LEFT>READONLY </TD> </TR>
<TR> <TD ALIGN=LEFT>BUFFERCOUNT </TD> <TD ALIGN=LEFT>INITIALSIZE </TD> <TD ALIGN=LEFT>RECORDSIZE </TD> </TR>
<TR> <TD ALIGN=LEFT>CARRIAGECONTROL </TD> <TD ALIGN=LEFT>MAXREC </TD> <TD ALIGN=LEFT>RECORDTYPE </TD> </TR>
<TR> <TD ALIGN=LEFT>DEFAULTFILE </TD> <TD ALIGN=LEFT>NAME (in OPEN
) </TD> <TD ALIGN=LEFT>SHARED </TD> </TR>
<TR> <TD ALIGN=LEFT>DISP </TD> <TD ALIGN=LEFT>NOSPANBLOCK </TD> <TD ALIGN=LEFT>TYPE </TD> </TR>
<TR> <TD ALIGN=LEFT>DISPOSE </TD> <TD ALIGN=LEFT>ORGANIZATION </TD> </TR>
</TABLE>
</CENTER>(The keyword NAME is standard only in the INQUIRE statement.) The third
group consists of the following IBM/MVS keyword: <CENTER> <TABLE BORDER=0>
<TR> <TD ALIGN=LEFT>NUM </TD> </TR>
</TABLE>
</CENTER></DD>
<DT><B>long-line</B>:
</DT>
<DD>Statements with meaningful code past 72 columns. This warning is given
only if the <B><A HREF="columns.html">-columns</A> </B> setting has been used to increase the statement field
width. </DD>
<DT><B>long-name</B>: </DT>
<DD>Identifiers over 6 characters long. </DD>
<DT><B>mixed-common</B>: </DT>
<DD>Mixed
character and noncharacter data in COMMON block. </DD>
<DT><B>mixed-expr</B>: </DT>
<DD>Nonstandard
type combinations in expressions, for example DOUBLE PRECISION with COMPLEX
, assigning hollerith to integer, logical operations on integers. </DD>
<DT><B>name-dollarsign</B>:
</DT>
<DD>Dollar sign used as a character in identifiers. </DD>
<DT><B>name-underscore</B>: </DT>
<DD>Underscore
used as a character in identifiers. </DD>
<DT><B>namelist</B>: </DT>
<DD>NAMELIST statement. </DD>
<DT><B>param-implicit-type</B>:
</DT>
<DD>Implicit typing of a parameter by the data type of the value assigned.
This warning can only occur if implicit parameter typing has been turned
on by the <B><A HREF="source.html">-source</A>=parameter-implicit-type </B> option, or if the PARAMETER statement
is of the nonstandard form without parentheses. If this option is turned
on, then any instances where implicit parameter typing occurs will be
warned about. If you want to be warned only in those instances where the
implicit data type differs from the default type, use <B><A HREF="portability.html">-portability</A>=param-implicit-type
</B> instead. According to the Fortran 77 standard, the data type of a parameter
is given by the same rules as for a variable, and if necessary a type
conversion is done when the value is assigned. </DD>
<DT><B>param-intrinsic</B>: </DT>
<DD>Intrinsic
function or exponentiation by a real used to define the value of a PARAMETER
definition. </DD>
<DT><B>param-noparen</B>: </DT>
<DD>PARAMETER statement without parentheses. The
user should be aware that the semantics of this form of the statement
differs from that of the standard form: in this form, the parameter takes
its data type from the value assigned, rather than having its default
data type based on the first letter of the parameter name. (This form
of the PARAMETER statement was introduced by DEC before the Fortran 77
standard was defined, and should be avoided.) </DD>
<DT><B>pointer</B>: </DT>
<DD>``Cray pointer'' syntax.
</DD>
<DT><B>quad-constant</B>: </DT>
<DD>Quad precision real constants, e.g. of the form 1.23Q4 . </DD>
<DT><B>quotemark</B>:
</DT>
<DD>Strings delimited by quote marks rather than apostrophes. </DD>
<DT><B>relops</B>: </DT>
<DD>Relational
(comparison) operators composed of punctuation, namely: < <= == /= > >=. </DD>
<DT><B>statement-order</B>
</DT>
<DD>Statements out of the sequence mandated by the Standard. The allowed
sequence is illustrated in Table 1 in the section on Interpreting the
Output. </DD>
<DT><B>typeless-constant</B>: </DT>
<DD>Typeless constants, for example Z'19AF' . </DD>
<DT><B>type-size</B>:
</DT>
<DD>Type declarations specifying a size, for example REAL*8 . </DD>
<DT><B>variable-format</B>:
</DT>
<DD>Variable repeat specification or field size in FORMAT. These are of the
form < <I>expr </I> > . </DD>
<DT><B>vms-io</B>: </DT>
<DD>Obsolete. Now has the same meaning as the <B>io-keywords
</B> keyword. </DD>
</DL>
<P>
See also: <B><A HREF="f90.html">-f90</A> </B>, <B><A HREF="f95.html">-f95</A> </B>, <B><A HREF="portability.html">-portability</A> </B>, <B><A HREF="pretty.html">-pretty</A> </B>, <B><A HREF="wordsize.html">-wordsize</A> </B>. </blockquote>
<P>
<DL>
<P><HR><P>Next: <A HREF="f90.html">-f90</A>
</BODY></HTML>
|