author | Petr Nyc <Petr.Nyc@Oracle.COM> |
Wed, 16 Sep 2015 02:02:17 -0700 | |
branch | s11u2-sru |
changeset 4866 | 53757db1ec28 |
parent 246 | 0878f7720e3e |
permissions | -rw-r--r-- |
246
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1 |
.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
2 |
.\" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
3 |
.\" Standard preamble: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
4 |
.\" ======================================================================== |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
5 |
.de Sh \" Subsection heading |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
6 |
.br |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
7 |
.if t .Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
8 |
.ne 5 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
9 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
10 |
\fB\\$1\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
11 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
12 |
.. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
13 |
.de Sp \" Vertical space (when we can't use .PP) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
14 |
.if t .sp .5v |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
15 |
.if n .sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
16 |
.. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
17 |
.de Vb \" Begin verbatim text |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
18 |
.ft CW |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
19 |
.nf |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
20 |
.ne \\$1 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
21 |
.. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
22 |
.de Ve \" End verbatim text |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
23 |
.ft R |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
24 |
.fi |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
25 |
.. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
26 |
.\" Set up some character translations and predefined strings. \*(-- will |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
27 |
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
28 |
.\" double quote, and \*(R" will give a right double quote. | will give a |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
29 |
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
30 |
.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
31 |
.\" expand to `' in nroff, nothing in troff, for use with C<>. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
32 |
.tr \(*W-|\(bv\*(Tr |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
33 |
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
34 |
.ie n \{\ |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
35 |
. ds -- \(*W- |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
36 |
. ds PI pi |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
37 |
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
38 |
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
39 |
. ds L" "" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
40 |
. ds R" "" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
41 |
. ds C` "" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
42 |
. ds C' "" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
43 |
'br\} |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
44 |
.el\{\ |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
45 |
. ds -- \|\(em\| |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
46 |
. ds PI \(*p |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
47 |
. ds L" `` |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
48 |
. ds R" '' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
49 |
'br\} |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
50 |
.\" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
51 |
.\" If the F register is turned on, we'll generate index entries on stderr for |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
52 |
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
53 |
.\" entries marked with X<> in POD. Of course, you'll have to process the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
54 |
.\" output yourself in some meaningful fashion. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
55 |
.if \nF \{\ |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
56 |
. de IX |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
57 |
. tm Index:\\$1\t\\n%\t"\\$2" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
58 |
.. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
59 |
. nr % 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
60 |
. rr F |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
61 |
.\} |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
62 |
.\" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
63 |
.\" For nroff, turn off justification. Always turn off hyphenation; it makes |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
64 |
.\" way too many mistakes in technical documents. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
65 |
.hy 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
66 |
.if n .na |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
67 |
.\" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
68 |
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
69 |
.\" Fear. Run. Save yourself. No user-serviceable parts. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
70 |
. \" fudge factors for nroff and troff |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
71 |
.if n \{\ |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
72 |
. ds #H 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
73 |
. ds #V .8m |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
74 |
. ds #F .3m |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
75 |
. ds #[ \f1 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
76 |
. ds #] \fP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
77 |
.\} |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
78 |
.if t \{\ |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
79 |
. ds #H ((1u-(\\\\n(.fu%2u))*.13m) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
80 |
. ds #V .6m |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
81 |
. ds #F 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
82 |
. ds #[ \& |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
83 |
. ds #] \& |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
84 |
.\} |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
85 |
. \" simple accents for nroff and troff |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
86 |
.if n \{\ |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
87 |
. ds ' \& |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
88 |
. ds ` \& |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
89 |
. ds ^ \& |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
90 |
. ds , \& |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
91 |
. ds ~ ~ |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
92 |
. ds / |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
93 |
.\} |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
94 |
.if t \{\ |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
95 |
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
96 |
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
97 |
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
98 |
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
99 |
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
100 |
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
101 |
.\} |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
102 |
. \" troff and (daisy-wheel) nroff accents |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
103 |
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
104 |
.ds 8 \h'\*(#H'\(*b\h'-\*(#H' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
105 |
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
106 |
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
107 |
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
108 |
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
109 |
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
110 |
.ds ae a\h'-(\w'a'u*4/10)'e |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
111 |
.ds Ae A\h'-(\w'A'u*4/10)'E |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
112 |
. \" corrections for vroff |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
113 |
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
114 |
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
115 |
. \" for low resolution devices (crt and lpr) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
116 |
.if \n(.H>23 .if \n(.V>19 \ |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
117 |
\{\ |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
118 |
. ds : e |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
119 |
. ds 8 ss |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
120 |
. ds o a |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
121 |
. ds d- d\h'-1'\(ga |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
122 |
. ds D- D\h'-1'\(hy |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
123 |
. ds th \o'bp' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
124 |
. ds Th \o'LP' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
125 |
. ds ae ae |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
126 |
. ds Ae AE |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
127 |
.\} |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
128 |
.rm #[ #] #H #V #F C |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
129 |
.\" ======================================================================== |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
130 |
.\" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
131 |
.IX Title "G77 1" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
132 |
.TH G77 1 "2004-11-05" "gcc-3.4.3" "GNU" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
133 |
.SH "NAME" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
134 |
g77 \- GNU project Fortran 77 compiler |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
135 |
.SH "SYNOPSIS" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
136 |
.IX Header "SYNOPSIS" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
137 |
g77 [\fB\-c\fR|\fB\-S\fR|\fB\-E\fR] |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
138 |
[\fB\-g\fR] [\fB\-pg\fR] [\fB\-O\fR\fIlevel\fR] |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
139 |
[\fB\-W\fR\fIwarn\fR...] [\fB\-pedantic\fR] |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
140 |
[\fB\-I\fR\fIdir\fR...] [\fB\-L\fR\fIdir\fR...] |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
141 |
[\fB\-D\fR\fImacro\fR[=\fIdefn\fR]...] [\fB\-U\fR\fImacro\fR] |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
142 |
[\fB\-f\fR\fIoption\fR...] [\fB\-m\fR\fImachine-option\fR...] |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
143 |
[\fB\-o\fR \fIoutfile\fR] \fIinfile\fR... |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
144 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
145 |
Only the most useful options are listed here; see below for the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
146 |
remainder. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
147 |
.SH "DESCRIPTION" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
148 |
.IX Header "DESCRIPTION" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
149 |
The \fBg77\fR command supports all the options supported by the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
150 |
\&\fBgcc\fR command. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
151 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
152 |
All \fBgcc\fR and \fBg77\fR options |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
153 |
are accepted both by \fBg77\fR and by \fBgcc\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
154 |
(as well as any other drivers built at the same time, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
155 |
such as \fBg++\fR), |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
156 |
since adding \fBg77\fR to the \fBgcc\fR distribution |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
157 |
enables acceptance of \fBg77\fR options |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
158 |
by all of the relevant drivers. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
159 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
160 |
In some cases, options have positive and negative forms; |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
161 |
the negative form of \fB\-ffoo\fR would be \fB\-fno\-foo\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
162 |
This manual documents only one of these two forms, whichever |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
163 |
one is not the default. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
164 |
.SH "OPTIONS" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
165 |
.IX Header "OPTIONS" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
166 |
Here is a summary of all the options specific to \s-1GNU\s0 Fortran, grouped |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
167 |
by type. Explanations are in the following sections. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
168 |
.IP "\fIOverall Options\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
169 |
.IX Item "Overall Options" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
170 |
\&\fB\-fversion \-fset\-g77\-defaults \-fno\-silent\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
171 |
.IP "\fIShorthand Options\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
172 |
.IX Item "Shorthand Options" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
173 |
\&\fB\-ff66 \-fno\-f66 \-ff77 \-fno\-f77 \-fno\-ugly\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
174 |
.IP "\fIFortran Language Options\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
175 |
.IX Item "Fortran Language Options" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
176 |
\&\fB\-ffree\-form \-fno\-fixed\-form \-ff90 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
177 |
\&\-fvxt \-fdollar\-ok \-fno\-backslash |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
178 |
\&\-fno\-ugly\-args \-fno\-ugly\-assign \-fno\-ugly\-assumed |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
179 |
\&\-fugly\-comma \-fugly\-complex \-fugly\-init \-fugly\-logint |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
180 |
\&\-fonetrip \-ftypeless\-boz |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
181 |
\&\-fintrin\-case\-initcap \-fintrin\-case\-upper |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
182 |
\&\-fintrin\-case\-lower \-fintrin\-case\-any |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
183 |
\&\-fmatch\-case\-initcap \-fmatch\-case\-upper |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
184 |
\&\-fmatch\-case\-lower \-fmatch\-case\-any |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
185 |
\&\-fsource\-case\-upper \-fsource\-case\-lower |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
186 |
\&\-fsource\-case\-preserve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
187 |
\&\-fsymbol\-case\-initcap \-fsymbol\-case\-upper |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
188 |
\&\-fsymbol\-case\-lower \-fsymbol\-case\-any |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
189 |
\&\-fcase\-strict\-upper \-fcase\-strict\-lower |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
190 |
\&\-fcase\-initcap \-fcase\-upper \-fcase\-lower \-fcase\-preserve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
191 |
\&\-ff2c\-intrinsics\-delete \-ff2c\-intrinsics\-hide |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
192 |
\&\-ff2c\-intrinsics\-disable \-ff2c\-intrinsics\-enable |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
193 |
\&\-fbadu77\-intrinsics\-delete \-fbadu77\-intrinsics\-hide |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
194 |
\&\-fbadu77\-intrinsics\-disable \-fbadu77\-intrinsics\-enable |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
195 |
\&\-ff90\-intrinsics\-delete \-ff90\-intrinsics\-hide |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
196 |
\&\-ff90\-intrinsics\-disable \-ff90\-intrinsics\-enable |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
197 |
\&\-fgnu\-intrinsics\-delete \-fgnu\-intrinsics\-hide |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
198 |
\&\-fgnu\-intrinsics\-disable \-fgnu\-intrinsics\-enable |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
199 |
\&\-fmil\-intrinsics\-delete \-fmil\-intrinsics\-hide |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
200 |
\&\-fmil\-intrinsics\-disable \-fmil\-intrinsics\-enable |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
201 |
\&\-funix\-intrinsics\-delete \-funix\-intrinsics\-hide |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
202 |
\&\-funix\-intrinsics\-disable \-funix\-intrinsics\-enable |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
203 |
\&\-fvxt\-intrinsics\-delete \-fvxt\-intrinsics\-hide |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
204 |
\&\-fvxt\-intrinsics\-disable \-fvxt\-intrinsics\-enable |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
205 |
\&\-ffixed\-line\-length\-\fR\fIn\fR \fB\-ffixed\-line\-length\-none\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
206 |
.IP "\fIWarning Options\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
207 |
.IX Item "Warning Options" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
208 |
\&\fB\-fsyntax\-only \-pedantic \-pedantic\-errors \-fpedantic |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
209 |
\&\-w \-Wno\-globals \-Wimplicit \-Wunused \-Wuninitialized |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
210 |
\&\-Wall \-Wsurprising |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
211 |
\&\-Werror \-W\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
212 |
.IP "\fIDebugging Options\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
213 |
.IX Item "Debugging Options" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
214 |
\&\fB\-g\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
215 |
.IP "\fIOptimization Options\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
216 |
.IX Item "Optimization Options" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
217 |
\&\fB\-malign\-double |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
218 |
\&\-ffloat\-store \-fforce\-mem \-fforce\-addr \-fno\-inline |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
219 |
\&\-ffast\-math \-fstrength\-reduce \-frerun\-cse\-after\-loop |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
220 |
\&\-funsafe\-math\-optimizations \-ffinite\-math\-only \-fno\-trapping\-math |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
221 |
\&\-fexpensive\-optimizations \-fdelayed\-branch |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
222 |
\&\-fschedule\-insns \-fschedule\-insn2 \-fcaller\-saves |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
223 |
\&\-funroll\-loops \-funroll\-all\-loops |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
224 |
\&\-fno\-move\-all\-movables \-fno\-reduce\-all\-givs |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
225 |
\&\-fno\-rerun\-loop\-opt\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
226 |
.IP "\fIDirectory Options\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
227 |
.IX Item "Directory Options" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
228 |
\&\fB\-I\fR\fIdir\fR \fB\-I\-\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
229 |
.IP "\fICode Generation Options\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
230 |
.IX Item "Code Generation Options" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
231 |
\&\fB\-fno\-automatic \-finit\-local\-zero \-fno\-f2c |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
232 |
\&\-ff2c\-library \-fno\-underscoring \-fno\-ident |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
233 |
\&\-fpcc\-struct\-return \-freg\-struct\-return |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
234 |
\&\-fshort\-double \-fno\-common \-fpack\-struct |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
235 |
\&\-fzeros \-fno\-second\-underscore |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
236 |
\&\-femulate\-complex |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
237 |
\&\-falias\-check \-fargument\-alias |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
238 |
\&\-fargument\-noalias \-fno\-argument\-noalias\-global |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
239 |
\&\-fno\-globals \-fflatten\-arrays |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
240 |
\&\-fbounds\-check \-ffortran\-bounds\-check\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
241 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
242 |
Compilation can involve as many as four stages: preprocessing, code |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
243 |
generation (often what is really meant by the term ``compilation''), |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
244 |
assembly, and linking, always in that order. The first three |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
245 |
stages apply to an individual source file, and end by producing an |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
246 |
object file; linking combines all the object files (those newly |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
247 |
compiled, and those specified as input) into an executable file. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
248 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
249 |
For any given input file, the file name suffix determines what kind of |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
250 |
program is contained in the file\-\-\-that is, the language in which the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
251 |
program is written is generally indicated by the suffix. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
252 |
Suffixes specific to \s-1GNU\s0 Fortran are listed below. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
253 |
.IP "\fIfile\fR\fB.f\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
254 |
.IX Item "file.f" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
255 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
256 |
.IP "\fIfile\fR\fB.for\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
257 |
.IX Item "file.for" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
258 |
.IP "\fIfile\fR\fB.FOR\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
259 |
.IX Item "file.FOR" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
260 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
261 |
Fortran source code that should not be preprocessed. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
262 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
263 |
Such source code cannot contain any preprocessor directives, such |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
264 |
as \f(CW\*(C`#include\*(C'\fR, \f(CW\*(C`#define\*(C'\fR, \f(CW\*(C`#if\*(C'\fR, and so on. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
265 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
266 |
You can force \fB.f\fR files to be preprocessed by \fBcpp\fR by using |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
267 |
\&\fB\-x f77\-cpp\-input\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
268 |
.IP "\fIfile\fR\fB.F\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
269 |
.IX Item "file.F" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
270 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
271 |
.IP "\fIfile\fR\fB.fpp\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
272 |
.IX Item "file.fpp" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
273 |
.IP "\fIfile\fR\fB.FPP\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
274 |
.IX Item "file.FPP" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
275 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
276 |
Fortran source code that must be preprocessed (by the C preprocessor |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
277 |
\&\fBcpp\fR, which is part of \s-1GCC\s0). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
278 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
279 |
Note that preprocessing is not extended to the contents of |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
280 |
files included by the \f(CW\*(C`INCLUDE\*(C'\fR directive\-\-\-the \f(CW\*(C`#include\*(C'\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
281 |
preprocessor directive must be used instead. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
282 |
.IP "\fIfile\fR\fB.r\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
283 |
.IX Item "file.r" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
284 |
Ratfor source code, which must be preprocessed by the \fBratfor\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
285 |
command, which is available separately (as it is not yet part of the \s-1GNU\s0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
286 |
Fortran distribution). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
287 |
A public domain version in C is at |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
288 |
<\fBhttp://sepwww.stanford.edu/sep/prof/ratfor.shar.2\fR>. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
289 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
290 |
\&\s-1UNIX\s0 users typically use the \fI\fIfile\fI.f\fR and \fI\fIfile\fI.F\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
291 |
nomenclature. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
292 |
Users of other operating systems, especially those that cannot |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
293 |
distinguish upper-case |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
294 |
letters from lower-case letters in their file names, typically use |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
295 |
the \fI\fIfile\fI.for\fR and \fI\fIfile\fI.fpp\fR nomenclature. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
296 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
297 |
Use of the preprocessor \fBcpp\fR allows use of C\-like |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
298 |
constructs such as \f(CW\*(C`#define\*(C'\fR and \f(CW\*(C`#include\*(C'\fR, but can |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
299 |
lead to unexpected, even mistaken, results due to Fortran's source file |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
300 |
format. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
301 |
It is recommended that use of the C preprocessor |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
302 |
be limited to \f(CW\*(C`#include\*(C'\fR and, in |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
303 |
conjunction with \f(CW\*(C`#define\*(C'\fR, only \f(CW\*(C`#if\*(C'\fR and related directives, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
304 |
thus avoiding in-line macro expansion entirely. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
305 |
This recommendation applies especially |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
306 |
when using the traditional fixed source form. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
307 |
With free source form, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
308 |
fewer unexpected transformations are likely to happen, but use of |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
309 |
constructs such as Hollerith and character constants can nevertheless |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
310 |
present problems, especially when these are continued across multiple |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
311 |
source lines. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
312 |
These problems result, primarily, from differences between the way |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
313 |
such constants are interpreted by the C preprocessor and by a Fortran |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
314 |
compiler. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
315 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
316 |
Another example of a problem that results from using the C preprocessor |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
317 |
is that a Fortran comment line that happens to contain any |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
318 |
characters ``interesting'' to the C preprocessor, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
319 |
such as a backslash at the end of the line, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
320 |
is not recognized by the preprocessor as a comment line, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
321 |
so instead of being passed through ``raw'', |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
322 |
the line is edited according to the rules for the preprocessor. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
323 |
For example, the backslash at the end of the line is removed, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
324 |
along with the subsequent newline, resulting in the next |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
325 |
line being effectively commented out\-\-\-unfortunate if that |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
326 |
line is a non-comment line of important code! |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
327 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
328 |
\&\fINote:\fR The \fB\-traditional\fR and \fB\-undef\fR flags are supplied |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
329 |
to \fBcpp\fR by default, to help avoid unpleasant surprises. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
330 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
331 |
This means that \s-1ANSI\s0 C preprocessor features (such as the \fB#\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
332 |
operator) aren't available, and only variables in the C reserved |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
333 |
namespace (generally, names with a leading underscore) are liable to |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
334 |
substitution by C predefines. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
335 |
Thus, if you want to do system-specific |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
336 |
tests, use, for example, \fB#ifdef _\|_linux_\|_\fR rather than \fB#ifdef linux\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
337 |
Use the \fB\-v\fR option to see exactly how the preprocessor is invoked. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
338 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
339 |
Unfortunately, the \fB\-traditional\fR flag will not avoid an error from |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
340 |
anything that \fBcpp\fR sees as an unterminated C comment, such as: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
341 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
342 |
.Vb 2 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
343 |
\& C Some Fortran compilers accept /* as starting |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
344 |
\& C an inline comment. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
345 |
.Ve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
346 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
347 |
The following options that affect overall processing are recognized |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
348 |
by the \fBg77\fR and \fBgcc\fR commands in a \s-1GNU\s0 Fortran installation: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
349 |
.IP "\fB\-fversion\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
350 |
.IX Item "-fversion" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
351 |
Ensure that the \fBg77\fR version of the compiler phase is reported, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
352 |
if run, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
353 |
and, starting in \f(CW\*(C`egcs\*(C'\fR version 1.1, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
354 |
that internal consistency checks in the \fIf771\fR program are run. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
355 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
356 |
This option is supplied automatically when \fB\-v\fR or \fB\-\-verbose\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
357 |
is specified as a command-line option for \fBg77\fR or \fBgcc\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
358 |
and when the resulting commands compile Fortran source files. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
359 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
360 |
In \s-1GCC\s0 3.1, this is changed back to the behavior \fBgcc\fR displays |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
361 |
for \fB.c\fR files. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
362 |
.IP "\fB\-fset\-g77\-defaults\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
363 |
.IX Item "-fset-g77-defaults" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
364 |
\&\fIVersion info:\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
365 |
This option was obsolete as of \f(CW\*(C`egcs\*(C'\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
366 |
version 1.1. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
367 |
The effect is instead achieved |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
368 |
by the \f(CW\*(C`lang_init_options\*(C'\fR routine |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
369 |
in \fIgcc/gcc/f/com.c\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
370 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
371 |
Set up whatever \fBgcc\fR options are to apply to Fortran |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
372 |
compilations, and avoid running internal consistency checks |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
373 |
that might take some time. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
374 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
375 |
This option is supplied automatically when compiling Fortran code |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
376 |
via the \fBg77\fR or \fBgcc\fR command. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
377 |
The description of this option is provided so that users seeing |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
378 |
it in the output of, say, \fBg77 \-v\fR understand why it is |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
379 |
there. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
380 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
381 |
Also, developers who run \f(CW\*(C`f771\*(C'\fR directly might want to specify it |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
382 |
by hand to get the same defaults as they would running \f(CW\*(C`f771\*(C'\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
383 |
via \fBg77\fR or \fBgcc\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
384 |
However, such developers should, after linking a new \f(CW\*(C`f771\*(C'\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
385 |
executable, invoke it without this option once, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
386 |
e.g. via \f(CW\*(C`./f771 \-quiet < /dev/null\*(C'\fR, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
387 |
to ensure that they have not introduced any |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
388 |
internal inconsistencies (such as in the table of |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
389 |
intrinsics) before proceeding\-\-\-\fBg77\fR will crash |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
390 |
with a diagnostic if it detects an inconsistency. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
391 |
.IP "\fB\-fno\-silent\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
392 |
.IX Item "-fno-silent" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
393 |
Print (to \f(CW\*(C`stderr\*(C'\fR) the names of the program units as |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
394 |
they are compiled, in a form similar to that used by popular |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
395 |
\&\s-1UNIX\s0 \fBf77\fR implementations and \fBf2c\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
396 |
.Sh "Shorthand Options" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
397 |
.IX Subsection "Shorthand Options" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
398 |
The following options serve as ``shorthand'' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
399 |
for other options accepted by the compiler: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
400 |
.IP "\fB\-fugly\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
401 |
.IX Item "-fugly" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
402 |
\&\fINote:\fR This option is no longer supported. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
403 |
The information, below, is provided to aid |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
404 |
in the conversion of old scripts. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
405 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
406 |
Specify that certain ``ugly'' constructs are to be quietly accepted. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
407 |
Same as: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
408 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
409 |
.Vb 3 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
410 |
\& -fugly-args -fugly-assign -fugly-assumed |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
411 |
\& -fugly-comma -fugly-complex -fugly-init |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
412 |
\& -fugly-logint |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
413 |
.Ve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
414 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
415 |
These constructs are considered inappropriate to use in new |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
416 |
or well-maintained portable Fortran code, but widely used |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
417 |
in old code. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
418 |
.IP "\fB\-fno\-ugly\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
419 |
.IX Item "-fno-ugly" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
420 |
Specify that all ``ugly'' constructs are to be noisily rejected. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
421 |
Same as: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
422 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
423 |
.Vb 3 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
424 |
\& -fno-ugly-args -fno-ugly-assign -fno-ugly-assumed |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
425 |
\& -fno-ugly-comma -fno-ugly-complex -fno-ugly-init |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
426 |
\& -fno-ugly-logint |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
427 |
.Ve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
428 |
.IP "\fB\-ff66\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
429 |
.IX Item "-ff66" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
430 |
Specify that the program is written in idiomatic \s-1FORTRAN\s0 66. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
431 |
Same as \fB\-fonetrip \-fugly\-assumed\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
432 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
433 |
The \fB\-fno\-f66\fR option is the inverse of \fB\-ff66\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
434 |
As such, it is the same as \fB\-fno\-onetrip \-fno\-ugly\-assumed\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
435 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
436 |
The meaning of this option is likely to be refined as future |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
437 |
versions of \fBg77\fR provide more compatibility with other |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
438 |
existing and obsolete Fortran implementations. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
439 |
.IP "\fB\-ff77\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
440 |
.IX Item "-ff77" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
441 |
Specify that the program is written in idiomatic \s-1UNIX\s0 \s-1FORTRAN\s0 77 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
442 |
and/or the dialect accepted by the \fBf2c\fR product. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
443 |
Same as \fB\-fbackslash \-fno\-typeless\-boz\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
444 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
445 |
The meaning of this option is likely to be refined as future |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
446 |
versions of \fBg77\fR provide more compatibility with other |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
447 |
existing and obsolete Fortran implementations. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
448 |
.IP "\fB\-fno\-f77\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
449 |
.IX Item "-fno-f77" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
450 |
The \fB\-fno\-f77\fR option is \fInot\fR the inverse |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
451 |
of \fB\-ff77\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
452 |
It specifies that the program is not written in idiomatic \s-1UNIX\s0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
453 |
\&\s-1FORTRAN\s0 77 or \fBf2c\fR but in a more widely portable dialect. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
454 |
\&\fB\-fno\-f77\fR is the same as \fB\-fno\-backslash\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
455 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
456 |
The meaning of this option is likely to be refined as future |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
457 |
versions of \fBg77\fR provide more compatibility with other |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
458 |
existing and obsolete Fortran implementations. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
459 |
.Sh "Options Controlling Fortran Dialect" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
460 |
.IX Subsection "Options Controlling Fortran Dialect" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
461 |
The following options control the dialect of Fortran |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
462 |
that the compiler accepts: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
463 |
.IP "\fB\-ffree\-form\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
464 |
.IX Item "-ffree-form" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
465 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
466 |
.IP "\fB\-fno\-fixed\-form\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
467 |
.IX Item "-fno-fixed-form" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
468 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
469 |
Specify that the source file is written in free form |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
470 |
(introduced in Fortran 90) instead of the more-traditional fixed form. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
471 |
.IP "\fB\-ff90\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
472 |
.IX Item "-ff90" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
473 |
Allow certain Fortran\-90 constructs. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
474 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
475 |
This option controls whether certain |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
476 |
Fortran 90 constructs are recognized. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
477 |
(Other Fortran 90 constructs |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
478 |
might or might not be recognized depending on other options such as |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
479 |
\&\fB\-fvxt\fR, \fB\-ff90\-intrinsics\-enable\fR, and the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
480 |
current level of support for Fortran 90.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
481 |
.IP "\fB\-fvxt\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
482 |
.IX Item "-fvxt" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
483 |
Specify the treatment of certain constructs that have different |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
484 |
meanings depending on whether the code is written in |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
485 |
\&\s-1GNU\s0 Fortran (based on \s-1FORTRAN\s0 77 and akin to Fortran 90) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
486 |
or \s-1VXT\s0 Fortran (more like \s-1VAX\s0 \s-1FORTRAN\s0). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
487 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
488 |
The default is \fB\-fno\-vxt\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
489 |
\&\fB\-fvxt\fR specifies that the \s-1VXT\s0 Fortran interpretations |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
490 |
for those constructs are to be chosen. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
491 |
.IP "\fB\-fdollar\-ok\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
492 |
.IX Item "-fdollar-ok" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
493 |
Allow \fB$\fR as a valid character in a symbol name. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
494 |
.IP "\fB\-fno\-backslash\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
495 |
.IX Item "-fno-backslash" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
496 |
Specify that \fB\e\fR is not to be specially interpreted in character |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
497 |
and Hollerith constants a la C and many \s-1UNIX\s0 Fortran compilers. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
498 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
499 |
For example, with \fB\-fbackslash\fR in effect, \fBA\enB\fR specifies |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
500 |
three characters, with the second one being newline. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
501 |
With \fB\-fno\-backslash\fR, it specifies four characters, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
502 |
\&\fBA\fR, \fB\e\fR, \fBn\fR, and \fBB\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
503 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
504 |
Note that \fBg77\fR implements a fairly general form of backslash |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
505 |
processing that is incompatible with the narrower forms supported |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
506 |
by some other compilers. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
507 |
For example, \fB'A\e003B'\fR is a three-character string in \fBg77\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
508 |
whereas other compilers that support backslash might not support |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
509 |
the three-octal-digit form, and thus treat that string as longer |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
510 |
than three characters. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
511 |
.IP "\fB\-fno\-ugly\-args\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
512 |
.IX Item "-fno-ugly-args" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
513 |
Disallow passing Hollerith and typeless constants as actual |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
514 |
arguments (for example, \fB\s-1CALL\s0 \s-1FOO\s0(4HABCD)\fR). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
515 |
.IP "\fB\-fugly\-assign\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
516 |
.IX Item "-fugly-assign" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
517 |
Use the same storage for a given variable regardless of |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
518 |
whether it is used to hold an assigned-statement label |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
519 |
(as in \fB\s-1ASSIGN\s0 10 \s-1TO\s0 I\fR) or used to hold numeric data |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
520 |
(as in \fBI = 3\fR). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
521 |
.IP "\fB\-fugly\-assumed\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
522 |
.IX Item "-fugly-assumed" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
523 |
Assume any dummy array with a final dimension specified as \fB1\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
524 |
is really an assumed-size array, as if \fB*\fR had been specified |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
525 |
for the final dimension instead of \fB1\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
526 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
527 |
For example, \fB\s-1DIMENSION\s0 X(1)\fR is treated as if it |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
528 |
had read \fB\s-1DIMENSION\s0 X(*)\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
529 |
.IP "\fB\-fugly\-comma\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
530 |
.IX Item "-fugly-comma" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
531 |
In an external-procedure invocation, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
532 |
treat a trailing comma in the argument list |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
533 |
as specification of a trailing null argument, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
534 |
and treat an empty argument list |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
535 |
as specification of a single null argument. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
536 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
537 |
For example, \fB\s-1CALL\s0 \s-1FOO\s0(,)\fR is treated as |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
538 |
\&\fB\s-1CALL\s0 \s-1FOO\s0(%\f(BIVAL\fB\|(0), %\f(BIVAL\fB\|(0))\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
539 |
That is, \fItwo\fR null arguments are specified |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
540 |
by the procedure call when \fB\-fugly\-comma\fR is in force. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
541 |
And \fBF = \s-1\f(BIFUNC\s0()\fB\fR is treated as \fBF = \s-1FUNC\s0(%\f(BIVAL\fB\|(0))\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
542 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
543 |
The default behavior, \fB\-fno\-ugly\-comma\fR, is to ignore |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
544 |
a single trailing comma in an argument list. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
545 |
So, by default, \fB\s-1CALL\s0 \s-1FOO\s0(X,)\fR is treated |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
546 |
exactly the same as \fB\s-1CALL\s0 \s-1FOO\s0(X)\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
547 |
.IP "\fB\-fugly\-complex\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
548 |
.IX Item "-fugly-complex" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
549 |
Do not complain about \fB\s-1REAL\s0(\fR\fIexpr\fR\fB)\fR or |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
550 |
\&\fB\s-1AIMAG\s0(\fR\fIexpr\fR\fB)\fR when \fIexpr\fR is a \f(CW\*(C`COMPLEX\*(C'\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
551 |
type other than \f(CW\*(C`COMPLEX(KIND=1)\*(C'\fR\-\-\-usually |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
552 |
this is used to permit \f(CW\*(C`COMPLEX(KIND=2)\*(C'\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
553 |
(\f(CW\*(C`DOUBLE COMPLEX\*(C'\fR) operands. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
554 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
555 |
The \fB\-ff90\fR option controls the interpretation |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
556 |
of this construct. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
557 |
.IP "\fB\-fno\-ugly\-init\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
558 |
.IX Item "-fno-ugly-init" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
559 |
Disallow use of Hollerith and typeless constants as initial |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
560 |
values (in \f(CW\*(C`PARAMETER\*(C'\fR and \f(CW\*(C`DATA\*(C'\fR statements), and |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
561 |
use of character constants to |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
562 |
initialize numeric types and vice versa. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
563 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
564 |
For example, \fB\s-1DATA\s0 I/'F'/, \s-1CHRVAR/65/\s0, J/4HABCD/\fR is disallowed by |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
565 |
\&\fB\-fno\-ugly\-init\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
566 |
.IP "\fB\-fugly\-logint\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
567 |
.IX Item "-fugly-logint" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
568 |
Treat \f(CW\*(C`INTEGER\*(C'\fR and \f(CW\*(C`LOGICAL\*(C'\fR variables and |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
569 |
expressions as potential stand-ins for each other. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
570 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
571 |
For example, automatic conversion between \f(CW\*(C`INTEGER\*(C'\fR and |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
572 |
\&\f(CW\*(C`LOGICAL\*(C'\fR is enabled, for many contexts, via this option. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
573 |
.IP "\fB\-fonetrip\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
574 |
.IX Item "-fonetrip" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
575 |
Executable iterative \f(CW\*(C`DO\*(C'\fR loops are to be executed at |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
576 |
least once each time they are reached. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
577 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
578 |
\&\s-1ANSI\s0 \s-1FORTRAN\s0 77 and more recent versions of the Fortran standard |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
579 |
specify that the body of an iterative \f(CW\*(C`DO\*(C'\fR loop is not executed |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
580 |
if the number of iterations calculated from the parameters of the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
581 |
loop is less than 1. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
582 |
(For example, \fB\s-1DO\s0 10 I = 1, 0\fR.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
583 |
Such a loop is called a \fIzero-trip loop\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
584 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
585 |
Prior to \s-1ANSI\s0 \s-1FORTRAN\s0 77, many compilers implemented \f(CW\*(C`DO\*(C'\fR loops |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
586 |
such that the body of a loop would be executed at least once, even |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
587 |
if the iteration count was zero. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
588 |
Fortran code written assuming this behavior is said to require |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
589 |
\&\fIone-trip loops\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
590 |
For example, some code written to the \s-1FORTRAN\s0 66 standard |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
591 |
expects this behavior from its \f(CW\*(C`DO\*(C'\fR loops, although that |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
592 |
standard did not specify this behavior. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
593 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
594 |
The \fB\-fonetrip\fR option specifies that the source file(s) being |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
595 |
compiled require one-trip loops. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
596 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
597 |
This option affects only those loops specified by the (iterative) \f(CW\*(C`DO\*(C'\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
598 |
statement and by implied\-\f(CW\*(C`DO\*(C'\fR lists in I/O statements. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
599 |
Loops specified by implied\-\f(CW\*(C`DO\*(C'\fR lists in \f(CW\*(C`DATA\*(C'\fR and |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
600 |
specification (non\-executable) statements are not affected. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
601 |
.IP "\fB\-ftypeless\-boz\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
602 |
.IX Item "-ftypeless-boz" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
603 |
Specifies that prefix-radix non-decimal constants, such as |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
604 |
\&\fBZ'\s-1ABCD\s0'\fR, are typeless instead of \f(CW\*(C`INTEGER(KIND=1)\*(C'\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
605 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
606 |
You can test for yourself whether a particular compiler treats |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
607 |
the prefix form as \f(CW\*(C`INTEGER(KIND=1)\*(C'\fR or typeless by running the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
608 |
following program: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
609 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
610 |
.Vb 6 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
611 |
\& EQUIVALENCE (I, R) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
612 |
\& R = Z'ABCD1234' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
613 |
\& J = Z'ABCD1234' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
614 |
\& IF (J .EQ. I) PRINT *, 'Prefix form is TYPELESS' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
615 |
\& IF (J .NE. I) PRINT *, 'Prefix form is INTEGER' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
616 |
\& END |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
617 |
.Ve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
618 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
619 |
Reports indicate that many compilers process this form as |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
620 |
\&\f(CW\*(C`INTEGER(KIND=1)\*(C'\fR, though a few as typeless, and at least one |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
621 |
based on a command-line option specifying some kind of |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
622 |
compatibility. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
623 |
.IP "\fB\-fintrin\-case\-initcap\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
624 |
.IX Item "-fintrin-case-initcap" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
625 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
626 |
.IP "\fB\-fintrin\-case\-upper\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
627 |
.IX Item "-fintrin-case-upper" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
628 |
.IP "\fB\-fintrin\-case\-lower\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
629 |
.IX Item "-fintrin-case-lower" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
630 |
.IP "\fB\-fintrin\-case\-any\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
631 |
.IX Item "-fintrin-case-any" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
632 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
633 |
Specify expected case for intrinsic names. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
634 |
\&\fB\-fintrin\-case\-lower\fR is the default. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
635 |
.IP "\fB\-fmatch\-case\-initcap\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
636 |
.IX Item "-fmatch-case-initcap" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
637 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
638 |
.IP "\fB\-fmatch\-case\-upper\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
639 |
.IX Item "-fmatch-case-upper" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
640 |
.IP "\fB\-fmatch\-case\-lower\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
641 |
.IX Item "-fmatch-case-lower" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
642 |
.IP "\fB\-fmatch\-case\-any\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
643 |
.IX Item "-fmatch-case-any" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
644 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
645 |
Specify expected case for keywords. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
646 |
\&\fB\-fmatch\-case\-lower\fR is the default. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
647 |
.IP "\fB\-fsource\-case\-upper\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
648 |
.IX Item "-fsource-case-upper" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
649 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
650 |
.IP "\fB\-fsource\-case\-lower\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
651 |
.IX Item "-fsource-case-lower" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
652 |
.IP "\fB\-fsource\-case\-preserve\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
653 |
.IX Item "-fsource-case-preserve" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
654 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
655 |
Specify whether source text other than character and Hollerith constants |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
656 |
is to be translated to uppercase, to lowercase, or preserved as is. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
657 |
\&\fB\-fsource\-case\-lower\fR is the default. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
658 |
.IP "\fB\-fsymbol\-case\-initcap\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
659 |
.IX Item "-fsymbol-case-initcap" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
660 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
661 |
.IP "\fB\-fsymbol\-case\-upper\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
662 |
.IX Item "-fsymbol-case-upper" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
663 |
.IP "\fB\-fsymbol\-case\-lower\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
664 |
.IX Item "-fsymbol-case-lower" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
665 |
.IP "\fB\-fsymbol\-case\-any\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
666 |
.IX Item "-fsymbol-case-any" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
667 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
668 |
Specify valid cases for user-defined symbol names. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
669 |
\&\fB\-fsymbol\-case\-any\fR is the default. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
670 |
.IP "\fB\-fcase\-strict\-upper\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
671 |
.IX Item "-fcase-strict-upper" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
672 |
Same as \fB\-fintrin\-case\-upper \-fmatch\-case\-upper \-fsource\-case\-preserve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
673 |
\&\-fsymbol\-case\-upper\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
674 |
(Requires all pertinent source to be in uppercase.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
675 |
.IP "\fB\-fcase\-strict\-lower\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
676 |
.IX Item "-fcase-strict-lower" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
677 |
Same as \fB\-fintrin\-case\-lower \-fmatch\-case\-lower \-fsource\-case\-preserve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
678 |
\&\-fsymbol\-case\-lower\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
679 |
(Requires all pertinent source to be in lowercase.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
680 |
.IP "\fB\-fcase\-initcap\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
681 |
.IX Item "-fcase-initcap" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
682 |
Same as \fB\-fintrin\-case\-initcap \-fmatch\-case\-initcap \-fsource\-case\-preserve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
683 |
\&\-fsymbol\-case\-initcap\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
684 |
(Requires all pertinent source to be in initial capitals, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
685 |
as in \fBPrint *,SqRt(Value)\fR.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
686 |
.IP "\fB\-fcase\-upper\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
687 |
.IX Item "-fcase-upper" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
688 |
Same as \fB\-fintrin\-case\-any \-fmatch\-case\-any \-fsource\-case\-upper |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
689 |
\&\-fsymbol\-case\-any\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
690 |
(Maps all pertinent source to uppercase.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
691 |
.IP "\fB\-fcase\-lower\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
692 |
.IX Item "-fcase-lower" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
693 |
Same as \fB\-fintrin\-case\-any \-fmatch\-case\-any \-fsource\-case\-lower |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
694 |
\&\-fsymbol\-case\-any\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
695 |
(Maps all pertinent source to lowercase.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
696 |
.IP "\fB\-fcase\-preserve\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
697 |
.IX Item "-fcase-preserve" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
698 |
Same as \fB\-fintrin\-case\-any \-fmatch\-case\-any \-fsource\-case\-preserve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
699 |
\&\-fsymbol\-case\-any\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
700 |
(Preserves all case in user-defined symbols, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
701 |
while allowing any-case matching of intrinsics and keywords. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
702 |
For example, \fBcall Foo(i,I)\fR would pass two \fIdifferent\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
703 |
variables named \fBi\fR and \fBI\fR to a procedure named \fBFoo\fR.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
704 |
.IP "\fB\-fbadu77\-intrinsics\-delete\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
705 |
.IX Item "-fbadu77-intrinsics-delete" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
706 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
707 |
.IP "\fB\-fbadu77\-intrinsics\-hide\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
708 |
.IX Item "-fbadu77-intrinsics-hide" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
709 |
.IP "\fB\-fbadu77\-intrinsics\-disable\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
710 |
.IX Item "-fbadu77-intrinsics-disable" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
711 |
.IP "\fB\-fbadu77\-intrinsics\-enable\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
712 |
.IX Item "-fbadu77-intrinsics-enable" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
713 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
714 |
Specify status of \s-1UNIX\s0 intrinsics having inappropriate forms. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
715 |
\&\fB\-fbadu77\-intrinsics\-enable\fR is the default. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
716 |
.IP "\fB\-ff2c\-intrinsics\-delete\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
717 |
.IX Item "-ff2c-intrinsics-delete" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
718 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
719 |
.IP "\fB\-ff2c\-intrinsics\-hide\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
720 |
.IX Item "-ff2c-intrinsics-hide" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
721 |
.IP "\fB\-ff2c\-intrinsics\-disable\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
722 |
.IX Item "-ff2c-intrinsics-disable" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
723 |
.IP "\fB\-ff2c\-intrinsics\-enable\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
724 |
.IX Item "-ff2c-intrinsics-enable" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
725 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
726 |
Specify status of f2c\-specific intrinsics. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
727 |
\&\fB\-ff2c\-intrinsics\-enable\fR is the default. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
728 |
.IP "\fB\-ff90\-intrinsics\-delete\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
729 |
.IX Item "-ff90-intrinsics-delete" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
730 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
731 |
.IP "\fB\-ff90\-intrinsics\-hide\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
732 |
.IX Item "-ff90-intrinsics-hide" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
733 |
.IP "\fB\-ff90\-intrinsics\-disable\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
734 |
.IX Item "-ff90-intrinsics-disable" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
735 |
.IP "\fB\-ff90\-intrinsics\-enable\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
736 |
.IX Item "-ff90-intrinsics-enable" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
737 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
738 |
Specify status of F90\-specific intrinsics. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
739 |
\&\fB\-ff90\-intrinsics\-enable\fR is the default. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
740 |
.IP "\fB\-fgnu\-intrinsics\-delete\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
741 |
.IX Item "-fgnu-intrinsics-delete" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
742 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
743 |
.IP "\fB\-fgnu\-intrinsics\-hide\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
744 |
.IX Item "-fgnu-intrinsics-hide" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
745 |
.IP "\fB\-fgnu\-intrinsics\-disable\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
746 |
.IX Item "-fgnu-intrinsics-disable" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
747 |
.IP "\fB\-fgnu\-intrinsics\-enable\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
748 |
.IX Item "-fgnu-intrinsics-enable" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
749 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
750 |
Specify status of Digital's COMPLEX-related intrinsics. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
751 |
\&\fB\-fgnu\-intrinsics\-enable\fR is the default. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
752 |
.IP "\fB\-fmil\-intrinsics\-delete\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
753 |
.IX Item "-fmil-intrinsics-delete" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
754 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
755 |
.IP "\fB\-fmil\-intrinsics\-hide\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
756 |
.IX Item "-fmil-intrinsics-hide" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
757 |
.IP "\fB\-fmil\-intrinsics\-disable\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
758 |
.IX Item "-fmil-intrinsics-disable" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
759 |
.IP "\fB\-fmil\-intrinsics\-enable\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
760 |
.IX Item "-fmil-intrinsics-enable" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
761 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
762 |
Specify status of MIL\-STD\-1753\-specific intrinsics. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
763 |
\&\fB\-fmil\-intrinsics\-enable\fR is the default. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
764 |
.IP "\fB\-funix\-intrinsics\-delete\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
765 |
.IX Item "-funix-intrinsics-delete" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
766 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
767 |
.IP "\fB\-funix\-intrinsics\-hide\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
768 |
.IX Item "-funix-intrinsics-hide" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
769 |
.IP "\fB\-funix\-intrinsics\-disable\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
770 |
.IX Item "-funix-intrinsics-disable" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
771 |
.IP "\fB\-funix\-intrinsics\-enable\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
772 |
.IX Item "-funix-intrinsics-enable" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
773 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
774 |
Specify status of \s-1UNIX\s0 intrinsics. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
775 |
\&\fB\-funix\-intrinsics\-enable\fR is the default. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
776 |
.IP "\fB\-fvxt\-intrinsics\-delete\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
777 |
.IX Item "-fvxt-intrinsics-delete" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
778 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
779 |
.IP "\fB\-fvxt\-intrinsics\-hide\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
780 |
.IX Item "-fvxt-intrinsics-hide" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
781 |
.IP "\fB\-fvxt\-intrinsics\-disable\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
782 |
.IX Item "-fvxt-intrinsics-disable" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
783 |
.IP "\fB\-fvxt\-intrinsics\-enable\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
784 |
.IX Item "-fvxt-intrinsics-enable" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
785 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
786 |
Specify status of \s-1VXT\s0 intrinsics. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
787 |
\&\fB\-fvxt\-intrinsics\-enable\fR is the default. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
788 |
.IP "\fB\-ffixed\-line\-length\-\fR\fIn\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
789 |
.IX Item "-ffixed-line-length-n" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
790 |
Set column after which characters are ignored in typical fixed-form |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
791 |
lines in the source file, and through which spaces are assumed (as |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
792 |
if padded to that length) after the ends of short fixed-form lines. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
793 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
794 |
Popular values for \fIn\fR include 72 (the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
795 |
standard and the default), 80 (card image), and 132 (corresponds |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
796 |
to ``extended\-source'' options in some popular compilers). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
797 |
\&\fIn\fR may be \fBnone\fR, meaning that the entire line is meaningful |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
798 |
and that continued character constants never have implicit spaces appended |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
799 |
to them to fill out the line. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
800 |
\&\fB\-ffixed\-line\-length\-0\fR means the same thing as |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
801 |
\&\fB\-ffixed\-line\-length\-none\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
802 |
.Sh "Options to Request or Suppress Warnings" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
803 |
.IX Subsection "Options to Request or Suppress Warnings" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
804 |
Warnings are diagnostic messages that report constructions which |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
805 |
are not inherently erroneous but which are risky or suggest there |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
806 |
might have been an error. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
807 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
808 |
You can request many specific warnings with options beginning \fB\-W\fR, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
809 |
for example \fB\-Wimplicit\fR to request warnings on implicit |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
810 |
declarations. Each of these specific warning options also has a |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
811 |
negative form beginning \fB\-Wno\-\fR to turn off warnings; |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
812 |
for example, \fB\-Wno\-implicit\fR. This manual lists only one of the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
813 |
two forms, whichever is not the default. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
814 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
815 |
These options control the amount and kinds of warnings produced by \s-1GNU\s0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
816 |
Fortran: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
817 |
.IP "\fB\-fsyntax\-only\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
818 |
.IX Item "-fsyntax-only" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
819 |
Check the code for syntax errors, but don't do anything beyond that. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
820 |
.IP "\fB\-pedantic\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
821 |
.IX Item "-pedantic" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
822 |
Issue warnings for uses of extensions to \s-1ANSI\s0 \s-1FORTRAN\s0 77. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
823 |
\&\fB\-pedantic\fR also applies to C\-language constructs where they |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
824 |
occur in \s-1GNU\s0 Fortran source files, such as use of \fB\ee\fR in a |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
825 |
character constant within a directive like \fB#include\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
826 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
827 |
Valid \s-1ANSI\s0 \s-1FORTRAN\s0 77 programs should compile properly with or without |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
828 |
this option. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
829 |
However, without this option, certain \s-1GNU\s0 extensions and traditional |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
830 |
Fortran features are supported as well. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
831 |
With this option, many of them are rejected. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
832 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
833 |
Some users try to use \fB\-pedantic\fR to check programs for strict \s-1ANSI\s0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
834 |
conformance. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
835 |
They soon find that it does not do quite what they want\-\-\-it finds some |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
836 |
non-ANSI practices, but not all. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
837 |
However, improvements to \fBg77\fR in this area are welcome. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
838 |
.IP "\fB\-pedantic\-errors\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
839 |
.IX Item "-pedantic-errors" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
840 |
Like \fB\-pedantic\fR, except that errors are produced rather than |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
841 |
warnings. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
842 |
.IP "\fB\-fpedantic\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
843 |
.IX Item "-fpedantic" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
844 |
Like \fB\-pedantic\fR, but applies only to Fortran constructs. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
845 |
.IP "\fB\-w\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
846 |
.IX Item "-w" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
847 |
Inhibit all warning messages. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
848 |
.IP "\fB\-Wno\-globals\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
849 |
.IX Item "-Wno-globals" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
850 |
Inhibit warnings about use of a name as both a global name |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
851 |
(a subroutine, function, or block data program unit, or a |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
852 |
common block) and implicitly as the name of an intrinsic |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
853 |
in a source file. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
854 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
855 |
Also inhibit warnings about inconsistent invocations and/or |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
856 |
definitions of global procedures (function and subroutines). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
857 |
Such inconsistencies include different numbers of arguments |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
858 |
and different types of arguments. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
859 |
.IP "\fB\-Wimplicit\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
860 |
.IX Item "-Wimplicit" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
861 |
Warn whenever a variable, array, or function is implicitly |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
862 |
declared. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
863 |
Has an effect similar to using the \f(CW\*(C`IMPLICIT NONE\*(C'\fR statement |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
864 |
in every program unit. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
865 |
(Some Fortran compilers provide this feature by an option |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
866 |
named \fB\-u\fR or \fB/WARNINGS=DECLARATIONS\fR.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
867 |
.IP "\fB\-Wunused\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
868 |
.IX Item "-Wunused" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
869 |
Warn whenever a variable is unused aside from its declaration. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
870 |
.IP "\fB\-Wuninitialized\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
871 |
.IX Item "-Wuninitialized" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
872 |
Warn whenever an automatic variable is used without first being initialized. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
873 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
874 |
These warnings are possible only in optimizing compilation, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
875 |
because they require data-flow information that is computed only |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
876 |
when optimizing. If you don't specify \fB\-O\fR, you simply won't |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
877 |
get these warnings. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
878 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
879 |
These warnings occur only for variables that are candidates for |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
880 |
register allocation. Therefore, they do not occur for a variable |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
881 |
whose address is taken, or whose size |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
882 |
is other than 1, 2, 4 or 8 bytes. Also, they do not occur for |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
883 |
arrays, even when they are in registers. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
884 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
885 |
Note that there might be no warning about a variable that is used only |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
886 |
to compute a value that itself is never used, because such |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
887 |
computations may be deleted by data-flow analysis before the warnings |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
888 |
are printed. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
889 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
890 |
These warnings are made optional because \s-1GNU\s0 Fortran is not smart |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
891 |
enough to see all the reasons why the code might be correct |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
892 |
despite appearing to have an error. Here is one example of how |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
893 |
this can happen: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
894 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
895 |
.Vb 6 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
896 |
\& SUBROUTINE DISPAT(J) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
897 |
\& IF (J.EQ.1) I=1 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
898 |
\& IF (J.EQ.2) I=4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
899 |
\& IF (J.EQ.3) I=5 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
900 |
\& CALL FOO(I) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
901 |
\& END |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
902 |
.Ve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
903 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
904 |
If the value of \f(CW\*(C`J\*(C'\fR is always 1, 2 or 3, then \f(CW\*(C`I\*(C'\fR is |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
905 |
always initialized, but \s-1GNU\s0 Fortran doesn't know this. Here is |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
906 |
another common case: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
907 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
908 |
.Vb 6 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
909 |
\& SUBROUTINE MAYBE(FLAG) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
910 |
\& LOGICAL FLAG |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
911 |
\& IF (FLAG) VALUE = 9.4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
912 |
\& ... |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
913 |
\& IF (FLAG) PRINT *, VALUE |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
914 |
\& END |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
915 |
.Ve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
916 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
917 |
This has no bug because \f(CW\*(C`VALUE\*(C'\fR is used only if it is set. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
918 |
.IP "\fB\-Wall\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
919 |
.IX Item "-Wall" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
920 |
The \fB\-Wunused\fR and \fB\-Wuninitialized\fR options combined. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
921 |
These are all the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
922 |
options which pertain to usage that we recommend avoiding and that we |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
923 |
believe is easy to avoid. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
924 |
(As more warnings are added to \fBg77\fR some might |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
925 |
be added to the list enabled by \fB\-Wall\fR.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
926 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
927 |
The remaining \fB\-W...\fR options are not implied by \fB\-Wall\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
928 |
because they warn about constructions that we consider reasonable to |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
929 |
use, on occasion, in clean programs. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
930 |
.IP "\fB\-Wsurprising\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
931 |
.IX Item "-Wsurprising" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
932 |
Warn about ``suspicious'' constructs that are interpreted |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
933 |
by the compiler in a way that might well be surprising to |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
934 |
someone reading the code. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
935 |
These differences can result in subtle, compiler-dependent |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
936 |
(even machine\-dependent) behavioral differences. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
937 |
The constructs warned about include: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
938 |
.RS 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
939 |
.IP "\(bu" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
940 |
Expressions having two arithmetic operators in a row, such |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
941 |
as \fBX*\-Y\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
942 |
Such a construct is nonstandard, and can produce |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
943 |
unexpected results in more complicated situations such |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
944 |
as \fBX**\-Y*Z\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
945 |
\&\fBg77\fR along with many other compilers, interprets |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
946 |
this example differently than many programmers, and a few |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
947 |
other compilers. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
948 |
Specifically, \fBg77\fR interprets \fBX**\-Y*Z\fR as |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
949 |
\&\fB(X**(\-Y))*Z\fR, while others might think it should |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
950 |
be interpreted as \fBX**(\-(Y*Z))\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
951 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
952 |
A revealing example is the constant expression \fB2**\-2*1.\fR, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
953 |
which \fBg77\fR evaluates to .25, while others might evaluate |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
954 |
it to 0., the difference resulting from the way precedence affects |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
955 |
type promotion. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
956 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
957 |
(The \fB\-fpedantic\fR option also warns about expressions |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
958 |
having two arithmetic operators in a row.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
959 |
.IP "\(bu" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
960 |
Expressions with a unary minus followed by an operand and then |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
961 |
a binary operator other than plus or minus. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
962 |
For example, \fB\-2**2\fR produces a warning, because |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
963 |
the precedence is \fB\-(2**2)\fR, yielding \-4, not |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
964 |
\&\fB(\-2)**2\fR, which yields 4, and which might represent |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
965 |
what a programmer expects. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
966 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
967 |
An example of an expression producing different results |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
968 |
in a surprising way is \fB\-I*S\fR, where \fII\fR holds |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
969 |
the value \fB\-2147483648\fR and \fIS\fR holds \fB0.5\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
970 |
On many systems, negating \fII\fR results in the same |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
971 |
value, not a positive number, because it is already the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
972 |
lower bound of what an \f(CW\*(C`INTEGER(KIND=1)\*(C'\fR variable can hold. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
973 |
So, the expression evaluates to a positive number, while |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
974 |
the ``expected'' interpretation, \fB(\-I)*S\fR, would |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
975 |
evaluate to a negative number. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
976 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
977 |
Even cases such as \fB\-I*J\fR produce warnings, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
978 |
even though, in most configurations and situations, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
979 |
there is no computational difference between the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
980 |
results of the two interpretations\-\-\-the purpose |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
981 |
of this warning is to warn about differing interpretations |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
982 |
and encourage a better style of coding, not to identify |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
983 |
only those places where bugs might exist in the user's |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
984 |
code. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
985 |
.IP "\(bu" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
986 |
\&\f(CW\*(C`DO\*(C'\fR loops with \f(CW\*(C`DO\*(C'\fR variables that are not |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
987 |
of integral type\-\-\-that is, using \f(CW\*(C`REAL\*(C'\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
988 |
variables as loop control variables. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
989 |
Although such loops can be written to work in the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
990 |
``obvious'' way, the way \fBg77\fR is required by the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
991 |
Fortran standard to interpret such code is likely to |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
992 |
be quite different from the way many programmers expect. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
993 |
(This is true of all \f(CW\*(C`DO\*(C'\fR loops, but the differences |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
994 |
are pronounced for non-integral loop control variables.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
995 |
.RE |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
996 |
.RS 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
997 |
.RE |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
998 |
.IP "\fB\-Werror\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
999 |
.IX Item "-Werror" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1000 |
Make all warnings into errors. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1001 |
.IP "\fB\-W\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1002 |
.IX Item "-W" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1003 |
Turns on ``extra warnings'' and, if optimization is specified |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1004 |
via \fB\-O\fR, the \fB\-Wuninitialized\fR option. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1005 |
(This might change in future versions of \fBg77\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1006 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1007 |
``Extra warnings'' are issued for: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1008 |
.RS 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1009 |
.IP "\(bu" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1010 |
Unused parameters to a procedure (when \fB\-Wunused\fR also is |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1011 |
specified). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1012 |
.IP "\(bu" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1013 |
Overflows involving floating-point constants (not available |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1014 |
for certain configurations). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1015 |
.RE |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1016 |
.RS 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1017 |
.RE |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1018 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1019 |
Some of these have no effect when compiling programs written in Fortran: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1020 |
.IP "\fB\-Wcomment\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1021 |
.IX Item "-Wcomment" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1022 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1023 |
.IP "\fB\-Wformat\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1024 |
.IX Item "-Wformat" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1025 |
.IP "\fB\-Wparentheses\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1026 |
.IX Item "-Wparentheses" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1027 |
.IP "\fB\-Wswitch\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1028 |
.IX Item "-Wswitch" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1029 |
.IP "\fB\-Wswitch\-default\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1030 |
.IX Item "-Wswitch-default" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1031 |
.IP "\fB\-Wswitch\-enum\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1032 |
.IX Item "-Wswitch-enum" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1033 |
.IP "\fB\-Wtraditional\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1034 |
.IX Item "-Wtraditional" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1035 |
.IP "\fB\-Wshadow\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1036 |
.IX Item "-Wshadow" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1037 |
.IP "\fB\-Wid\-clash\-\fR\fIlen\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1038 |
.IX Item "-Wid-clash-len" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1039 |
.IP "\fB\-Wlarger\-than\-\fR\fIlen\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1040 |
.IX Item "-Wlarger-than-len" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1041 |
.IP "\fB\-Wconversion\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1042 |
.IX Item "-Wconversion" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1043 |
.IP "\fB\-Waggregate\-return\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1044 |
.IX Item "-Waggregate-return" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1045 |
.IP "\fB\-Wredundant\-decls\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1046 |
.IX Item "-Wredundant-decls" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1047 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1048 |
These options all could have some relevant meaning for |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1049 |
\&\s-1GNU\s0 Fortran programs, but are not yet supported. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1050 |
.Sh "Options for Debugging Your Program or \s-1GNU\s0 Fortran" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1051 |
.IX Subsection "Options for Debugging Your Program or GNU Fortran" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1052 |
\&\s-1GNU\s0 Fortran has various special options that are used for debugging |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1053 |
either your program or \fBg77\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1054 |
.IP "\fB\-g\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1055 |
.IX Item "-g" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1056 |
Produce debugging information in the operating system's native format |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1057 |
(stabs, \s-1COFF\s0, \s-1XCOFF\s0, or \s-1DWARF\s0). \s-1GDB\s0 can work with this debugging |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1058 |
information. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1059 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1060 |
A sample debugging session looks like this (note the use of the breakpoint): |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1061 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1062 |
.Vb 24 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1063 |
\& $ cat gdb.f |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1064 |
\& PROGRAM PROG |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1065 |
\& DIMENSION A(10) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1066 |
\& DATA A /1.,2.,3.,4.,5.,6.,7.,8.,9.,10./ |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1067 |
\& A(5) = 4. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1068 |
\& PRINT*,A |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1069 |
\& END |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1070 |
\& $ g77 -g -O gdb.f |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1071 |
\& $ gdb a.out |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1072 |
\& ... |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1073 |
\& (gdb) break MAIN__ |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1074 |
\& Breakpoint 1 at 0x8048e96: file gdb.f, line 4. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1075 |
\& (gdb) run |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1076 |
\& Starting program: /home/toon/g77-bugs/./a.out |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1077 |
\& Breakpoint 1, MAIN__ () at gdb.f:4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1078 |
\& 4 A(5) = 4. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1079 |
\& Current language: auto; currently fortran |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1080 |
\& (gdb) print a(5) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1081 |
\& $1 = 5 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1082 |
\& (gdb) step |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1083 |
\& 5 PRINT*,A |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1084 |
\& (gdb) print a(5) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1085 |
\& $2 = 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1086 |
\& ... |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1087 |
.Ve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1088 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1089 |
One could also add the setting of the breakpoint and the first run command |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1090 |
to the file \fI.gdbinit\fR in the current directory, to simplify the debugging |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1091 |
session. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1092 |
.Sh "Options That Control Optimization" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1093 |
.IX Subsection "Options That Control Optimization" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1094 |
Most Fortran users will want to use no optimization when |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1095 |
developing and testing programs, and use \fB\-O\fR or \fB\-O2\fR when |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1096 |
compiling programs for late-cycle testing and for production use. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1097 |
However, note that certain diagnostics\-\-\-such as for uninitialized |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1098 |
variables\-\-\-depend on the flow analysis done by \fB\-O\fR, i.e. you |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1099 |
must use \fB\-O\fR or \fB\-O2\fR to get such diagnostics. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1100 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1101 |
The following flags have particular applicability when |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1102 |
compiling Fortran programs: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1103 |
.IP "\fB\-malign\-double\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1104 |
.IX Item "-malign-double" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1105 |
(Intel x86 architecture only.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1106 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1107 |
Noticeably improves performance of \fBg77\fR programs making |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1108 |
heavy use of \f(CW\*(C`REAL(KIND=2)\*(C'\fR (\f(CW\*(C`DOUBLE PRECISION\*(C'\fR) data |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1109 |
on some systems. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1110 |
In particular, systems using Pentium, Pentium Pro, 586, and |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1111 |
686 implementations |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1112 |
of the i386 architecture execute programs faster when |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1113 |
\&\f(CW\*(C`REAL(KIND=2)\*(C'\fR (\f(CW\*(C`DOUBLE PRECISION\*(C'\fR) data are |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1114 |
aligned on 64\-bit boundaries |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1115 |
in memory. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1116 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1117 |
This option can, at least, make benchmark results more consistent |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1118 |
across various system configurations, versions of the program, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1119 |
and data sets. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1120 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1121 |
\&\fINote:\fR The warning in the \fBgcc\fR documentation about |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1122 |
this option does not apply, generally speaking, to Fortran |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1123 |
code compiled by \fBg77\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1124 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1125 |
\&\fIAlso also note:\fR The negative form of \fB\-malign\-double\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1126 |
is \fB\-mno\-align\-double\fR, not \fB\-benign\-double\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1127 |
.IP "\fB\-ffloat\-store\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1128 |
.IX Item "-ffloat-store" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1129 |
Might help a Fortran program that depends on exact \s-1IEEE\s0 conformance on |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1130 |
some machines, but might slow down a program that doesn't. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1131 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1132 |
This option is effective when the floating-point unit is set to work in |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1133 |
\&\s-1IEEE\s0 854 `extended precision'\-\-\-as it typically is on x86 and m68k \s-1GNU\s0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1134 |
systems\-\-\-rather than \s-1IEEE\s0 754 double precision. \fB\-ffloat\-store\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1135 |
tries to remove the extra precision by spilling data from floating-point |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1136 |
registers into memory and this typically involves a big performance |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1137 |
hit. However, it doesn't affect intermediate results, so that it is |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1138 |
only partially effective. `Excess precision' is avoided in code like: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1139 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1140 |
.Vb 2 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1141 |
\& a = b + c |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1142 |
\& d = a * e |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1143 |
.Ve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1144 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1145 |
but not in code like: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1146 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1147 |
.Vb 1 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1148 |
\& d = (b + c) * e |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1149 |
.Ve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1150 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1151 |
For another, potentially better, way of controlling the precision, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1152 |
see \fBFloating-point precision\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1153 |
.IP "\fB\-fforce\-mem\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1154 |
.IX Item "-fforce-mem" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1155 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1156 |
.IP "\fB\-fforce\-addr\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1157 |
.IX Item "-fforce-addr" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1158 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1159 |
Might improve optimization of loops. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1160 |
.IP "\fB\-fno\-inline\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1161 |
.IX Item "-fno-inline" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1162 |
Don't compile statement functions inline. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1163 |
Might reduce the size of a program unit\-\-\-which might be at |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1164 |
expense of some speed (though it should compile faster). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1165 |
Note that if you are not optimizing, no functions can be expanded inline. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1166 |
.IP "\fB\-ffast\-math\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1167 |
.IX Item "-ffast-math" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1168 |
Might allow some programs designed to not be too dependent |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1169 |
on \s-1IEEE\s0 behavior for floating-point to run faster, or die trying. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1170 |
Sets \fB\-funsafe\-math\-optimizations\fR, \fB\-ffinite\-math\-only\fR, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1171 |
and \fB\-fno\-trapping\-math\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1172 |
.IP "\fB\-funsafe\-math\-optimizations\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1173 |
.IX Item "-funsafe-math-optimizations" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1174 |
Allow optimizations that may be give incorrect results |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1175 |
for certain \s-1IEEE\s0 inputs. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1176 |
.IP "\fB\-ffinite\-math\-only\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1177 |
.IX Item "-ffinite-math-only" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1178 |
Allow optimizations for floating-point arithmetic that assume |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1179 |
that arguments and results are not NaNs or +\-Infs. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1180 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1181 |
This option should never be turned on by any \fB\-O\fR option since |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1182 |
it can result in incorrect output for programs which depend on |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1183 |
an exact implementation of \s-1IEEE\s0 or \s-1ISO\s0 rules/specifications. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1184 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1185 |
The default is \fB\-fno\-finite\-math\-only\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1186 |
.IP "\fB\-fno\-trapping\-math\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1187 |
.IX Item "-fno-trapping-math" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1188 |
Allow the compiler to assume that floating-point arithmetic |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1189 |
will not generate traps on any inputs. This is useful, for |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1190 |
example, when running a program using \s-1IEEE\s0 \*(L"non\-stop\*(R" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1191 |
floating-point arithmetic. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1192 |
.IP "\fB\-fstrength\-reduce\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1193 |
.IX Item "-fstrength-reduce" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1194 |
Might make some loops run faster. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1195 |
.IP "\fB\-frerun\-cse\-after\-loop\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1196 |
.IX Item "-frerun-cse-after-loop" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1197 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1198 |
.IP "\fB\-fexpensive\-optimizations\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1199 |
.IX Item "-fexpensive-optimizations" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1200 |
.IP "\fB\-fdelayed\-branch\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1201 |
.IX Item "-fdelayed-branch" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1202 |
.IP "\fB\-fschedule\-insns\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1203 |
.IX Item "-fschedule-insns" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1204 |
.IP "\fB\-fschedule\-insns2\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1205 |
.IX Item "-fschedule-insns2" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1206 |
.IP "\fB\-fcaller\-saves\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1207 |
.IX Item "-fcaller-saves" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1208 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1209 |
Might improve performance on some code. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1210 |
.IP "\fB\-funroll\-loops\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1211 |
.IX Item "-funroll-loops" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1212 |
Typically improves performance on code using iterative \f(CW\*(C`DO\*(C'\fR loops by |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1213 |
unrolling them and is probably generally appropriate for Fortran, though |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1214 |
it is not turned on at any optimization level. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1215 |
Note that outer loop unrolling isn't done specifically; decisions about |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1216 |
whether to unroll a loop are made on the basis of its instruction count. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1217 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1218 |
Also, no `loop discovery'[1] is done, so only loops written with \f(CW\*(C`DO\*(C'\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1219 |
benefit from loop optimizations, including\-\-\-but not limited |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1220 |
to\-\-\-unrolling. Loops written with \f(CW\*(C`IF\*(C'\fR and \f(CW\*(C`GOTO\*(C'\fR are not |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1221 |
currently recognized as such. This option unrolls only iterative |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1222 |
\&\f(CW\*(C`DO\*(C'\fR loops, not \f(CW\*(C`DO WHILE\*(C'\fR loops. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1223 |
.IP "\fB\-funroll\-all\-loops\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1224 |
.IX Item "-funroll-all-loops" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1225 |
Probably improves performance on code using \f(CW\*(C`DO WHILE\*(C'\fR loops by |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1226 |
unrolling them in addition to iterative \f(CW\*(C`DO\*(C'\fR loops. In the absence |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1227 |
of \f(CW\*(C`DO WHILE\*(C'\fR, this option is equivalent to \fB\-funroll\-loops\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1228 |
but possibly slower. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1229 |
.IP "\fB\-fno\-move\-all\-movables\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1230 |
.IX Item "-fno-move-all-movables" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1231 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1232 |
.IP "\fB\-fno\-reduce\-all\-givs\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1233 |
.IX Item "-fno-reduce-all-givs" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1234 |
.IP "\fB\-fno\-rerun\-loop\-opt\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1235 |
.IX Item "-fno-rerun-loop-opt" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1236 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1237 |
In general, the optimizations enabled with these options will lead to |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1238 |
faster code being generated by \s-1GNU\s0 Fortran; hence they are enabled by default |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1239 |
when issuing the \fBg77\fR command. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1240 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1241 |
\&\fB\-fmove\-all\-movables\fR and \fB\-freduce\-all\-givs\fR will enable |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1242 |
loop optimization to move all loop-invariant index computations in nested |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1243 |
loops over multi-rank array dummy arguments out of these loops. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1244 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1245 |
\&\fB\-frerun\-loop\-opt\fR will move offset calculations resulting |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1246 |
from the fact that Fortran arrays by default have a lower bound of 1 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1247 |
out of the loops. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1248 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1249 |
These three options are intended to be removed someday, once |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1250 |
loop optimization is sufficiently advanced to perform all those |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1251 |
transformations without help from these options. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1252 |
.Sh "Options Controlling the Preprocessor" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1253 |
.IX Subsection "Options Controlling the Preprocessor" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1254 |
These options control the C preprocessor, which is run on each C source |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1255 |
file before actual compilation. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1256 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1257 |
Some of these options also affect how \fBg77\fR processes the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1258 |
\&\f(CW\*(C`INCLUDE\*(C'\fR directive. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1259 |
Since this directive is processed even when preprocessing |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1260 |
is not requested, it is not described in this section. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1261 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1262 |
However, the \f(CW\*(C`INCLUDE\*(C'\fR directive does not apply |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1263 |
preprocessing to the contents of the included file itself. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1264 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1265 |
Therefore, any file that contains preprocessor directives |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1266 |
(such as \f(CW\*(C`#include\*(C'\fR, \f(CW\*(C`#define\*(C'\fR, and \f(CW\*(C`#if\*(C'\fR) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1267 |
must be included via the \f(CW\*(C`#include\*(C'\fR directive, not |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1268 |
via the \f(CW\*(C`INCLUDE\*(C'\fR directive. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1269 |
Therefore, any file containing preprocessor directives, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1270 |
if included, is necessarily included by a file that itself |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1271 |
contains preprocessor directives. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1272 |
.Sh "Options for Directory Search" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1273 |
.IX Subsection "Options for Directory Search" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1274 |
These options affect how the \fBcpp\fR preprocessor searches |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1275 |
for files specified via the \f(CW\*(C`#include\*(C'\fR directive. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1276 |
Therefore, when compiling Fortran programs, they are meaningful |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1277 |
when the preprocessor is used. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1278 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1279 |
Some of these options also affect how \fBg77\fR searches |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1280 |
for files specified via the \f(CW\*(C`INCLUDE\*(C'\fR directive, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1281 |
although files included by that directive are not, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1282 |
themselves, preprocessed. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1283 |
These options are: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1284 |
.IP "\fB\-I\-\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1285 |
.IX Item "-I-" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1286 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1287 |
.IP "\fB\-I\fR\fIdir\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1288 |
.IX Item "-Idir" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1289 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1290 |
These affect interpretation of the \f(CW\*(C`INCLUDE\*(C'\fR directive |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1291 |
(as well as of the \f(CW\*(C`#include\*(C'\fR directive of the \fBcpp\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1292 |
preprocessor). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1293 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1294 |
Note that \fB\-I\fR\fIdir\fR must be specified \fIwithout\fR any |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1295 |
spaces between \fB\-I\fR and the directory name\-\-\-that is, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1296 |
\&\fB\-Ifoo/bar\fR is valid, but \fB\-I foo/bar\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1297 |
is rejected by the \fBg77\fR compiler (though the preprocessor supports |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1298 |
the latter form). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1299 |
Also note that the general behavior of \fB\-I\fR and |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1300 |
\&\f(CW\*(C`INCLUDE\*(C'\fR is pretty much the same as of \fB\-I\fR with |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1301 |
\&\f(CW\*(C`#include\*(C'\fR in the \fBcpp\fR preprocessor, with regard to |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1302 |
looking for \fIheader.gcc\fR files and other such things. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1303 |
.Sh "Options for Code Generation Conventions" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1304 |
.IX Subsection "Options for Code Generation Conventions" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1305 |
These machine-independent options control the interface conventions |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1306 |
used in code generation. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1307 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1308 |
Most of them have both positive and negative forms; the negative form |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1309 |
of \fB\-ffoo\fR would be \fB\-fno\-foo\fR. In the table below, only |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1310 |
one of the forms is listed\-\-\-the one which is not the default. You |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1311 |
can figure out the other form by either removing \fBno\-\fR or adding |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1312 |
it. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1313 |
.IP "\fB\-fno\-automatic\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1314 |
.IX Item "-fno-automatic" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1315 |
Treat each program unit as if the \f(CW\*(C`SAVE\*(C'\fR statement was specified |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1316 |
for every local variable and array referenced in it. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1317 |
Does not affect common blocks. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1318 |
(Some Fortran compilers provide this option under |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1319 |
the name \fB\-static\fR.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1320 |
.IP "\fB\-finit\-local\-zero\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1321 |
.IX Item "-finit-local-zero" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1322 |
Specify that variables and arrays that are local to a program unit |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1323 |
(not in a common block and not passed as an argument) are to be initialized |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1324 |
to binary zeros. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1325 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1326 |
Since there is a run-time penalty for initialization of variables |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1327 |
that are not given the \f(CW\*(C`SAVE\*(C'\fR attribute, it might be a |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1328 |
good idea to also use \fB\-fno\-automatic\fR with \fB\-finit\-local\-zero\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1329 |
.IP "\fB\-fno\-f2c\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1330 |
.IX Item "-fno-f2c" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1331 |
Do not generate code designed to be compatible with code generated |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1332 |
by \fBf2c\fR use the \s-1GNU\s0 calling conventions instead. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1333 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1334 |
The \fBf2c\fR calling conventions require functions that return |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1335 |
type \f(CW\*(C`REAL(KIND=1)\*(C'\fR to actually return the C type \f(CW\*(C`double\*(C'\fR, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1336 |
and functions that return type \f(CW\*(C`COMPLEX\*(C'\fR to return the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1337 |
values via an extra argument in the calling sequence that points |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1338 |
to where to store the return value. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1339 |
Under the \s-1GNU\s0 calling conventions, such functions simply return |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1340 |
their results as they would in \s-1GNU\s0 C\-\-\-\f(CW\*(C`REAL(KIND=1)\*(C'\fR functions |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1341 |
return the C type \f(CW\*(C`float\*(C'\fR, and \f(CW\*(C`COMPLEX\*(C'\fR functions |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1342 |
return the \s-1GNU\s0 C type \f(CW\*(C`complex\*(C'\fR (or its \f(CW\*(C`struct\*(C'\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1343 |
equivalent). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1344 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1345 |
This does not affect the generation of code that interfaces with the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1346 |
\&\f(CW\*(C`libg2c\*(C'\fR library. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1347 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1348 |
However, because the \f(CW\*(C`libg2c\*(C'\fR library uses \fBf2c\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1349 |
calling conventions, \fBg77\fR rejects attempts to pass |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1350 |
intrinsics implemented by routines in this library as actual |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1351 |
arguments when \fB\-fno\-f2c\fR is used, to avoid bugs when |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1352 |
they are actually called by code expecting the \s-1GNU\s0 calling |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1353 |
conventions to work. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1354 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1355 |
For example, \fB\s-1INTRINSIC\s0 \s-1ABS\s0;CALL \s-1FOO\s0(\s-1ABS\s0)\fR is |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1356 |
rejected when \fB\-fno\-f2c\fR is in force. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1357 |
(Future versions of the \fBg77\fR run-time library might |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1358 |
offer routines that provide GNU-callable versions of the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1359 |
routines that implement the \fBf2c\fR intrinsics |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1360 |
that may be passed as actual arguments, so that |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1361 |
valid programs need not be rejected when \fB\-fno\-f2c\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1362 |
is used.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1363 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1364 |
\&\fBCaution:\fR If \fB\-fno\-f2c\fR is used when compiling any |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1365 |
source file used in a program, it must be used when compiling |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1366 |
\&\fIall\fR Fortran source files used in that program. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1367 |
.IP "\fB\-ff2c\-library\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1368 |
.IX Item "-ff2c-library" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1369 |
Specify that use of \f(CW\*(C`libg2c\*(C'\fR (or the original \f(CW\*(C`libf2c\*(C'\fR) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1370 |
is required. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1371 |
This is the default for the current version of \fBg77\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1372 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1373 |
Currently it is not |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1374 |
valid to specify \fB\-fno\-f2c\-library\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1375 |
This option is provided so users can specify it in shell |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1376 |
scripts that build programs and libraries that require the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1377 |
\&\f(CW\*(C`libf2c\*(C'\fR library, even when being compiled by future |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1378 |
versions of \fBg77\fR that might otherwise default to |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1379 |
generating code for an incompatible library. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1380 |
.IP "\fB\-fno\-underscoring\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1381 |
.IX Item "-fno-underscoring" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1382 |
Do not transform names of entities specified in the Fortran |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1383 |
source file by appending underscores to them. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1384 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1385 |
With \fB\-funderscoring\fR in effect, \fBg77\fR appends two underscores |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1386 |
to names with underscores and one underscore to external names with |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1387 |
no underscores. (\fBg77\fR also appends two underscores to internal |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1388 |
names with underscores to avoid naming collisions with external names. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1389 |
The \fB\-fno\-second\-underscore\fR option disables appending of the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1390 |
second underscore in all cases.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1391 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1392 |
This is done to ensure compatibility with code produced by many |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1393 |
\&\s-1UNIX\s0 Fortran compilers, including \fBf2c\fR which perform the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1394 |
same transformations. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1395 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1396 |
Use of \fB\-fno\-underscoring\fR is not recommended unless you are |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1397 |
experimenting with issues such as integration of (\s-1GNU\s0) Fortran into |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1398 |
existing system environments (vis\-a\-vis existing libraries, tools, and |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1399 |
so on). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1400 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1401 |
For example, with \fB\-funderscoring\fR, and assuming other defaults like |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1402 |
\&\fB\-fcase\-lower\fR and that \fBj()\fR and \fB\f(BImax_count()\fB\fR are |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1403 |
external functions while \fBmy_var\fR and \fBlvar\fR are local variables, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1404 |
a statement like |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1405 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1406 |
.Vb 1 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1407 |
\& I = J() + MAX_COUNT (MY_VAR, LVAR) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1408 |
.Ve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1409 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1410 |
is implemented as something akin to: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1411 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1412 |
.Vb 1 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1413 |
\& i = j_() + max_count__(&my_var__, &lvar); |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1414 |
.Ve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1415 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1416 |
With \fB\-fno\-underscoring\fR, the same statement is implemented as: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1417 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1418 |
.Vb 1 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1419 |
\& i = j() + max_count(&my_var, &lvar); |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1420 |
.Ve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1421 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1422 |
Use of \fB\-fno\-underscoring\fR allows direct specification of |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1423 |
user-defined names while debugging and when interfacing \fBg77\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1424 |
code with other languages. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1425 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1426 |
Note that just because the names match does \fInot\fR mean that the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1427 |
interface implemented by \fBg77\fR for an external name matches the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1428 |
interface implemented by some other language for that same name. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1429 |
That is, getting code produced by \fBg77\fR to link to code produced |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1430 |
by some other compiler using this or any other method can be only a |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1431 |
small part of the overall solution\-\-\-getting the code generated by |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1432 |
both compilers to agree on issues other than naming can require |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1433 |
significant effort, and, unlike naming disagreements, linkers normally |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1434 |
cannot detect disagreements in these other areas. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1435 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1436 |
Also, note that with \fB\-fno\-underscoring\fR, the lack of appended |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1437 |
underscores introduces the very real possibility that a user-defined |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1438 |
external name will conflict with a name in a system library, which |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1439 |
could make finding unresolved-reference bugs quite difficult in some |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1440 |
cases\-\-\-they might occur at program run time, and show up only as |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1441 |
buggy behavior at run time. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1442 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1443 |
In future versions of \fBg77\fR we hope to improve naming and linking |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1444 |
issues so that debugging always involves using the names as they appear |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1445 |
in the source, even if the names as seen by the linker are mangled to |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1446 |
prevent accidental linking between procedures with incompatible |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1447 |
interfaces. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1448 |
.IP "\fB\-fno\-second\-underscore\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1449 |
.IX Item "-fno-second-underscore" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1450 |
Do not append a second underscore to names of entities specified |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1451 |
in the Fortran source file. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1452 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1453 |
This option has no effect if \fB\-fno\-underscoring\fR is |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1454 |
in effect. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1455 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1456 |
Otherwise, with this option, an external name such as \fB\s-1MAX_COUNT\s0\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1457 |
is implemented as a reference to the link-time external symbol |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1458 |
\&\fBmax_count_\fR, instead of \fBmax_count_\|_\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1459 |
.IP "\fB\-fno\-ident\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1460 |
.IX Item "-fno-ident" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1461 |
Ignore the \fB#ident\fR directive. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1462 |
.IP "\fB\-fzeros\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1463 |
.IX Item "-fzeros" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1464 |
Treat initial values of zero as if they were any other value. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1465 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1466 |
As of version 0.5.18, \fBg77\fR normally treats \f(CW\*(C`DATA\*(C'\fR and |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1467 |
other statements that are used to specify initial values of zero |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1468 |
for variables and arrays as if no values were actually specified, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1469 |
in the sense that no diagnostics regarding multiple initializations |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1470 |
are produced. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1471 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1472 |
This is done to speed up compiling of programs that initialize |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1473 |
large arrays to zeros. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1474 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1475 |
Use \fB\-fzeros\fR to revert to the simpler, slower behavior |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1476 |
that can catch multiple initializations by keeping track of |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1477 |
all initializations, zero or otherwise. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1478 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1479 |
\&\fICaution:\fR Future versions of \fBg77\fR might disregard this option |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1480 |
(and its negative form, the default) or interpret it somewhat |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1481 |
differently. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1482 |
The interpretation changes will affect only non-standard |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1483 |
programs; standard-conforming programs should not be affected. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1484 |
.IP "\fB\-femulate\-complex\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1485 |
.IX Item "-femulate-complex" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1486 |
Implement \f(CW\*(C`COMPLEX\*(C'\fR arithmetic via emulation, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1487 |
instead of using the facilities of |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1488 |
the \fBgcc\fR back end that provide direct support of |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1489 |
\&\f(CW\*(C`complex\*(C'\fR arithmetic. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1490 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1491 |
(\fBgcc\fR had some bugs in its back-end support |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1492 |
for \f(CW\*(C`complex\*(C'\fR arithmetic, due primarily to the support not being |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1493 |
completed as of version 2.8.1 and \f(CW\*(C`egcs\*(C'\fR 1.1.2.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1494 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1495 |
Use \fB\-femulate\-complex\fR if you suspect code-generation bugs, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1496 |
or experience compiler crashes, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1497 |
that might result from \fBg77\fR using the \f(CW\*(C`COMPLEX\*(C'\fR support |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1498 |
in the \fBgcc\fR back end. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1499 |
If using that option fixes the bugs or crashes you are seeing, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1500 |
that indicates a likely \fBg77\fR bugs |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1501 |
(though, all compiler crashes are considered bugs), |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1502 |
so, please report it. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1503 |
(Note that the known bugs, now believed fixed, produced compiler crashes |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1504 |
rather than causing the generation of incorrect code.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1505 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1506 |
Use of this option should not affect how Fortran code compiled |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1507 |
by \fBg77\fR works in terms of its interfaces to other code, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1508 |
e.g. that compiled by \fBf2c\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1509 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1510 |
As of \s-1GCC\s0 version 3.0, this option is not necessary anymore. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1511 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1512 |
\&\fICaution:\fR Future versions of \fBg77\fR might ignore both forms |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1513 |
of this option. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1514 |
.IP "\fB\-falias\-check\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1515 |
.IX Item "-falias-check" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1516 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1517 |
.IP "\fB\-fargument\-alias\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1518 |
.IX Item "-fargument-alias" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1519 |
.IP "\fB\-fargument\-noalias\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1520 |
.IX Item "-fargument-noalias" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1521 |
.IP "\fB\-fno\-argument\-noalias\-global\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1522 |
.IX Item "-fno-argument-noalias-global" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1523 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1524 |
\&\fIVersion info:\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1525 |
These options are not supported by |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1526 |
versions of \fBg77\fR based on \fBgcc\fR version 2.8. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1527 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1528 |
These options specify to what degree aliasing |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1529 |
(overlap) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1530 |
is permitted between |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1531 |
arguments (passed as pointers) and \f(CW\*(C`COMMON\*(C'\fR (external, or |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1532 |
public) storage. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1533 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1534 |
The default for Fortran code, as mandated by the \s-1FORTRAN\s0 77 and |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1535 |
Fortran 90 standards, is \fB\-fargument\-noalias\-global\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1536 |
The default for code written in the C language family is |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1537 |
\&\fB\-fargument\-alias\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1538 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1539 |
Note that, on some systems, compiling with \fB\-fforce\-addr\fR in |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1540 |
effect can produce more optimal code when the default aliasing |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1541 |
options are in effect (and when optimization is enabled). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1542 |
.IP "\fB\-fno\-globals\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1543 |
.IX Item "-fno-globals" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1544 |
Disable diagnostics about inter-procedural |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1545 |
analysis problems, such as disagreements about the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1546 |
type of a function or a procedure's argument, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1547 |
that might cause a compiler crash when attempting |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1548 |
to inline a reference to a procedure within a |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1549 |
program unit. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1550 |
(The diagnostics themselves are still produced, but |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1551 |
as warnings, unless \fB\-Wno\-globals\fR is specified, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1552 |
in which case no relevant diagnostics are produced.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1553 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1554 |
Further, this option disables such inlining, to |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1555 |
avoid compiler crashes resulting from incorrect |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1556 |
code that would otherwise be diagnosed. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1557 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1558 |
As such, this option might be quite useful when |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1559 |
compiling existing, ``working'' code that happens |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1560 |
to have a few bugs that do not generally show themselves, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1561 |
but which \fBg77\fR diagnoses. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1562 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1563 |
Use of this option therefore has the effect of |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1564 |
instructing \fBg77\fR to behave more like it did |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1565 |
up through version 0.5.19.1, when it paid little or |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1566 |
no attention to disagreements between program units |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1567 |
about a procedure's type and argument information, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1568 |
and when it performed no inlining of procedures |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1569 |
(except statement functions). |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1570 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1571 |
Without this option, \fBg77\fR defaults to performing |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1572 |
the potentially inlining procedures as it started doing |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1573 |
in version 0.5.20, but as of version 0.5.21, it also |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1574 |
diagnoses disagreements that might cause such inlining |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1575 |
to crash the compiler as (fatal) errors, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1576 |
and warns about similar disagreements |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1577 |
that are currently believed to not |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1578 |
likely to result in the compiler later crashing |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1579 |
or producing incorrect code. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1580 |
.IP "\fB\-fflatten\-arrays\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1581 |
.IX Item "-fflatten-arrays" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1582 |
Use back end's C\-like constructs |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1583 |
(pointer plus offset) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1584 |
instead of its \f(CW\*(C`ARRAY_REF\*(C'\fR construct |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1585 |
to handle all array references. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1586 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1587 |
\&\fINote:\fR This option is not supported. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1588 |
It is intended for use only by \fBg77\fR developers, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1589 |
to evaluate code-generation issues. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1590 |
It might be removed at any time. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1591 |
.IP "\fB\-fbounds\-check\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1592 |
.IX Item "-fbounds-check" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1593 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1594 |
.IP "\fB\-ffortran\-bounds\-check\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1595 |
.IX Item "-ffortran-bounds-check" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1596 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1597 |
Enable generation of run-time checks for array subscripts |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1598 |
and substring start and end points |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1599 |
against the (locally) declared minimum and maximum values. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1600 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1601 |
The current implementation uses the \f(CW\*(C`libf2c\*(C'\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1602 |
library routine \f(CW\*(C`s_rnge\*(C'\fR to print the diagnostic. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1603 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1604 |
However, whereas \fBf2c\fR generates a single check per |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1605 |
reference for a multi-dimensional array, of the computed |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1606 |
offset against the valid offset range (0 through the size of the array), |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1607 |
\&\fBg77\fR generates a single check per \fIsubscript\fR expression. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1608 |
This catches some cases of potential bugs that \fBf2c\fR does not, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1609 |
such as references to below the beginning of an assumed-size array. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1610 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1611 |
\&\fBg77\fR also generates checks for \f(CW\*(C`CHARACTER\*(C'\fR substring references, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1612 |
something \fBf2c\fR currently does not do. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1613 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1614 |
Use the new \fB\-ffortran\-bounds\-check\fR option |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1615 |
to specify bounds-checking for only the Fortran code you are compiling, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1616 |
not necessarily for code written in other languages. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1617 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1618 |
\&\fINote:\fR To provide more detailed information on the offending subscript, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1619 |
\&\fBg77\fR provides the \f(CW\*(C`libg2c\*(C'\fR run-time library routine \f(CW\*(C`s_rnge\*(C'\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1620 |
with somewhat differently-formatted information. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1621 |
Here's a sample diagnostic: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1622 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1623 |
.Vb 3 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1624 |
\& Subscript out of range on file line 4, procedure rnge.f/bf. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1625 |
\& Attempt to access the -6-th element of variable b[subscript-2-of-2]. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1626 |
\& Aborted |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1627 |
.Ve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1628 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1629 |
The above message indicates that the offending source line is |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1630 |
line 4 of the file \fIrnge.f\fR, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1631 |
within the program unit (or statement function) named \fBbf\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1632 |
The offended array is named \fBb\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1633 |
The offended array dimension is the second for a two-dimensional array, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1634 |
and the offending, computed subscript expression was \fB\-6\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1635 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1636 |
For a \f(CW\*(C`CHARACTER\*(C'\fR substring reference, the second line has |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1637 |
this appearance: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1638 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1639 |
.Vb 1 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1640 |
\& Attempt to access the 11-th element of variable a[start-substring]. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1641 |
.Ve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1642 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1643 |
This indicates that the offended \f(CW\*(C`CHARACTER\*(C'\fR variable or array |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1644 |
is named \fBa\fR, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1645 |
the offended substring position is the starting (leftmost) position, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1646 |
and the offending substring expression is \fB11\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1647 |
.Sp |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1648 |
(Though the verbage of \f(CW\*(C`s_rnge\*(C'\fR is not ideal |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1649 |
for the purpose of the \fBg77\fR compiler, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1650 |
the above information should provide adequate diagnostic abilities |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1651 |
to it users.) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1652 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1653 |
Some of these do \fInot\fR work when compiling programs written in Fortran: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1654 |
.IP "\fB\-fpcc\-struct\-return\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1655 |
.IX Item "-fpcc-struct-return" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1656 |
.PD 0 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1657 |
.IP "\fB\-freg\-struct\-return\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1658 |
.IX Item "-freg-struct-return" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1659 |
.PD |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1660 |
You should not use these except strictly the same way as you |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1661 |
used them to build the version of \f(CW\*(C`libg2c\*(C'\fR with which |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1662 |
you will be linking all code compiled by \fBg77\fR with the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1663 |
same option. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1664 |
.IP "\fB\-fshort\-double\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1665 |
.IX Item "-fshort-double" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1666 |
This probably either has no effect on Fortran programs, or |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1667 |
makes them act loopy. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1668 |
.IP "\fB\-fno\-common\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1669 |
.IX Item "-fno-common" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1670 |
Do not use this when compiling Fortran programs, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1671 |
or there will be Trouble. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1672 |
.IP "\fB\-fpack\-struct\fR" 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1673 |
.IX Item "-fpack-struct" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1674 |
This probably will break any calls to the \f(CW\*(C`libg2c\*(C'\fR library, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1675 |
at the very least, even if it is built with the same option. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1676 |
.SH "ENVIRONMENT" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1677 |
.IX Header "ENVIRONMENT" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1678 |
\&\s-1GNU\s0 Fortran currently does not make use of any environment |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1679 |
variables to control its operation above and beyond those |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1680 |
that affect the operation of \fBgcc\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1681 |
.SH "BUGS" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1682 |
.IX Header "BUGS" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1683 |
For instructions on reporting bugs, see |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1684 |
<\fBhttp://gcc.gnu.org/bugs.html\fR>. Use of the \fBgccbug\fR |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1685 |
script to report bugs is recommended. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1686 |
.SH "FOOTNOTES" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1687 |
.IX Header "FOOTNOTES" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1688 |
.IP "1." 4 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1689 |
\&\fIloop discovery\fR refers to the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1690 |
process by which a compiler, or indeed any reader of a program, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1691 |
determines which portions of the program are more likely to be executed |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1692 |
repeatedly as it is being run. Such discovery typically is done early |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1693 |
when compiling using optimization techniques, so the ``discovered'' |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1694 |
loops get more attention\-\-\-and more run-time resources, such as |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1695 |
registers\-\-\-from the compiler. It is easy to ``discover'' loops that are |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1696 |
constructed out of looping constructs in the language |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1697 |
(such as Fortran's \f(CW\*(C`DO\*(C'\fR). For some programs, ``discovering'' loops |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1698 |
constructed out of lower-level constructs (such as \f(CW\*(C`IF\*(C'\fR and |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1699 |
\&\f(CW\*(C`GOTO\*(C'\fR) can lead to generation of more optimal code |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1700 |
than otherwise. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1701 |
.SH "SEE ALSO" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1702 |
.IX Header "SEE ALSO" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1703 |
\&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7), |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1704 |
\&\fIcpp\fR\|(1), \fIgcov\fR\|(1), \fIgcc\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), \fIgdb\fR\|(1), \fIadb\fR\|(1), \fIdbx\fR\|(1), \fIsdb\fR\|(1) |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1705 |
and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIg77\fR, \fIas\fR, |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1706 |
\&\fIld\fR, \fIbinutils\fR and \fIgdb\fR. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1707 |
.SH "AUTHOR" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1708 |
.IX Header "AUTHOR" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1709 |
See the Info entry for \fBg77\fR for contributors to \s-1GCC\s0 and G77. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1710 |
.SH "COPYRIGHT" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1711 |
.IX Header "COPYRIGHT" |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1712 |
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1713 |
Free Software Foundation, Inc. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1714 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1715 |
Permission is granted to copy, distribute and/or modify this document |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1716 |
under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.2 or |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1717 |
any later version published by the Free Software Foundation; with the |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1718 |
Invariant Sections being ``\s-1GNU\s0 General Public License'' and ``Funding |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1719 |
Free Software'', the Front-Cover texts being (a) (see below), and with |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1720 |
the Back-Cover Texts being (b) (see below). A copy of the license is |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1721 |
included in the \fIgfdl\fR\|(7) man page. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1722 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1723 |
(a) The \s-1FSF\s0's Front-Cover Text is: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1724 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1725 |
.Vb 1 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1726 |
\& A GNU Manual |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1727 |
.Ve |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1728 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1729 |
(b) The \s-1FSF\s0's Back-Cover Text is: |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1730 |
.PP |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1731 |
.Vb 3 |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1732 |
\& You have freedom to copy and modify this GNU Manual, like GNU |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1733 |
\& software. Copies published by the Free Software Foundation raise |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1734 |
\& funds for GNU development. |
0878f7720e3e
7024396 g++ link missing from /usr/gnu/bin
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff
changeset
|
1735 |
.Ve |