1 /* lang-options.h file for Fortran
2 Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
3 Contributed by James Craig Burley.
5 This file is part of GNU Fortran.
7 GNU Fortran is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
12 GNU Fortran is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GNU Fortran; see the file COPYING. If not, write to
19 the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
24 /* This is the contribution to the `documented_lang_options' array in
27 #ifdef __STDC__ /* To be consistent with lang-specs.h. Maybe avoid
28 overflowing some old compiler's tables, etc. */
30 DEFINE_LANG_NAME ("Fortran")
32 { "-fversion", "Print g77-specific compiler version info, run internal tests" },
33 { "-fnull-version", "" },
36 { "-ff66", "Program is written in typical FORTRAN 66 dialect" },
38 { "-ff77", "Program is written in typical Unix f77 dialect" },
39 { "-fno-f77", "Program does not use Unix-f77 dialectal features" },
40 { "-ff90", "Program is written in Fortran-90-ish dialect" },
42 { "-fautomatic", "" },
43 { "-fno-automatic", "Treat local vars and COMMON blocks as if they were named in SAVE statements" },
44 { "-fdollar-ok", "Allow $ in symbol names" },
45 { "-fno-dollar-ok", "" },
47 { "-fno-f2c", "f2c-compatible code need not be generated" },
48 { "-ff2c-library", "" },
49 { "-fno-f2c-library", "Unsupported; do not generate libf2c-calling code" },
50 { "-fflatten-arrays", "Unsupported; affects code-generation of arrays" },
51 { "-fno-flatten-arrays", "" },
52 { "-ffree-form", "Program is written in Fortran-90-ish free form" },
53 { "-fno-free-form", "" },
54 { "-ffixed-form", "" },
55 { "-fno-fixed-form", "" },
56 { "-fpedantic", "Warn about use of (only a few for now) Fortran extensions" },
57 { "-fno-pedantic", "" },
58 { "-fvxt", "Program is written in VXT (Digital-like) FORTRAN" },
60 { "-fno-ugly", "Disallow all ugly features" },
61 { "-fugly-args", "" },
62 { "-fno-ugly-args", "Hollerith and typeless constants not passed as arguments" },
63 { "-fugly-assign", "Allow ordinary copying of ASSIGN'ed vars" },
64 { "-fno-ugly-assign", "" },
65 { "-fugly-assumed", "Dummy array dimensioned to (1) is assumed-size" },
66 { "-fno-ugly-assumed", "" },
67 { "-fugly-comma", "Trailing comma in procedure call denotes null argument" },
68 { "-fno-ugly-comma", "" },
69 { "-fugly-complex", "Allow REAL(Z) and AIMAG(Z) given DOUBLE COMPLEX Z" },
70 { "-fno-ugly-complex", "" },
71 { "-fugly-init", "" },
72 { "-fno-ugly-init", "Initialization via DATA and PARAMETER is type-compatible" },
73 { "-fugly-logint", "Allow INTEGER and LOGICAL interchangeability" },
74 { "-fno-ugly-logint", "" },
75 { "-fxyzzy", "Print internal debugging-related info" },
77 { "-finit-local-zero", "Initialize local vars and arrays to zero" },
78 { "-fno-init-local-zero", "" },
79 { "-fbackslash", "" },
80 { "-fno-backslash", "Backslashes in character/hollerith constants not special (C-style)" },
81 { "-femulate-complex", "Have front end emulate COMPLEX arithmetic to avoid bugs" },
82 { "-fno-emulate-complex", "" },
83 { "-funderscoring", "" },
84 { "-fno-underscoring", "Disable the appending of underscores to externals" },
85 { "-fsecond-underscore", "" },
86 { "-fno-second-underscore", "Never append a second underscore to externals" },
87 { "-fintrin-case-initcap", "Intrinsics spelled as e.g. SqRt" },
88 { "-fintrin-case-upper", "Intrinsics in uppercase" },
89 { "-fintrin-case-lower", "" },
90 { "-fintrin-case-any", "Intrinsics letters in arbitrary cases" },
91 { "-fmatch-case-initcap", "Language keywords spelled as e.g. IOStat" },
92 { "-fmatch-case-upper", "Language keywords in uppercase" },
93 { "-fmatch-case-lower", "" },
94 { "-fmatch-case-any", "Language keyword letters in arbitrary cases" },
95 { "-fsource-case-upper", "Internally convert most source to uppercase" },
96 { "-fsource-case-lower", "" },
97 { "-fsource-case-preserve", "Internally preserve source case" },
98 { "-fsymbol-case-initcap", "Symbol names spelled in mixed case" },
99 { "-fsymbol-case-upper", "Symbol names in uppercase" },
100 { "-fsymbol-case-lower", "Symbol names in lowercase" },
101 { "-fsymbol-case-any", "" },
102 { "-fcase-strict-upper", "Program written in uppercase" },
103 { "-fcase-strict-lower", "Program written in lowercase" },
104 { "-fcase-initcap", "Program written in strict mixed-case" },
105 { "-fcase-upper", "Compile as if program written in uppercase" },
106 { "-fcase-lower", "Compile as if program written in lowercase" },
107 { "-fcase-preserve", "Preserve all spelling (case) used in program" },
108 { "-fbadu77-intrinsics-delete", "Delete libU77 intrinsics with bad interfaces" },
109 { "-fbadu77-intrinsics-disable", "Disable libU77 intrinsics with bad interfaces" },
110 { "-fbadu77-intrinsics-enable", "" },
111 { "-fbadu77-intrinsics-hide", "Hide libU77 intrinsics with bad interfaces" },
112 { "-ff2c-intrinsics-delete", "Delete non-FORTRAN-77 intrinsics f2c supports" },
113 { "-ff2c-intrinsics-disable", "Disable non-FORTRAN-77 intrinsics f2c supports" },
114 { "-ff2c-intrinsics-enable", "" },
115 { "-ff2c-intrinsics-hide", "Hide non-FORTRAN-77 intrinsics f2c supports" },
116 { "-ff90-intrinsics-delete", "Delete non-FORTRAN-77 intrinsics F90 supports" },
117 { "-ff90-intrinsics-disable", "Disable non-FORTRAN-77 intrinsics F90 supports" },
118 { "-ff90-intrinsics-enable", "" },
119 { "-ff90-intrinsics-hide", "Hide non-FORTRAN-77 intrinsics F90 supports" },
120 { "-fgnu-intrinsics-delete", "Delete non-FORTRAN-77 intrinsics g77 supports" },
121 { "-fgnu-intrinsics-disable", "Disable non-FORTRAN 77 intrinsics F90 supports" },
122 { "-fgnu-intrinsics-enable", "" },
123 { "-fgnu-intrinsics-hide", "Hide non-FORTRAN 77 intrinsics F90 supports" },
124 { "-fmil-intrinsics-delete", "Delete MIL-STD 1753 intrinsics" },
125 { "-fmil-intrinsics-disable", "Disable MIL-STD 1753 intrinsics" },
126 { "-fmil-intrinsics-enable", "" },
127 { "-fmil-intrinsics-hide", "Hide MIL-STD 1753 intrinsics" },
128 { "-funix-intrinsics-delete", "Delete libU77 intrinsics" },
129 { "-funix-intrinsics-disable", "Disable libU77 intrinsics" },
130 { "-funix-intrinsics-enable", "" },
131 { "-funix-intrinsics-hide", "Hide libU77 intrinsics" },
132 { "-fvxt-intrinsics-delete", "Delete non-FORTRAN-77 intrinsics VXT FORTRAN supports" },
133 { "-fvxt-intrinsics-disable", "Disable non-FORTRAN-77 intrinsics VXT FORTRAN supports" },
134 { "-fvxt-intrinsics-enable", "" },
135 { "-fvxt-intrinsics-hide", "Hide non-FORTRAN-77 intrinsics VXT FORTRAN supports" },
136 { "-fzeros", "Treat initial values of 0 like non-zero values" },
137 { "-fno-zeros", "" },
138 { "-fdebug-kludge", "Emit special debugging information for COMMON and EQUIVALENCE (disabled)" },
139 { "-fno-debug-kludge", "" },
140 { "-fonetrip", "Take at least one trip through each iterative DO loop" },
141 { "-fno-onetrip", "" },
143 { "-fno-silent", "Print names of program units as they are compiled" },
145 { "-fno-globals", "Disable fatal diagnostics about inter-procedural problems" },
146 { "-ftypeless-boz", "Make prefix-radix non-decimal constants be typeless" },
147 { "-fno-typeless-boz", "" },
148 { "-fbounds-check", "Generate code to check subscript and substring bounds" },
149 { "-fno-bounds-check", "" },
150 { "-ffortran-bounds-check", "Fortran-specific form of -fbounds-check" },
151 { "-fno-fortran-bounds-check", "" },
153 { "-Wno-globals", "Disable warnings about inter-procedural problems" },
156 { "-Wsurprising", "Warn about constructs with surprising meanings" },
157 { "-Wno-surprising", "" },
159 /* Prefix options. */
160 { "-I", "Add a directory for INCLUDE searching" },
161 { "-ffixed-line-length-", "Set the maximum line length" },