]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/lang.opt
PR fortran/95090 - ICE: identifier overflow
[thirdparty/gcc.git] / gcc / fortran / lang.opt
CommitLineData
8179b067 1; Options for the Fortran front end.
8d9254fc 2; Copyright (C) 2003-2020 Free Software Foundation, Inc.
6de9cd9a
DN
3;
4; This file is part of GCC.
5;
6; GCC is free software; you can redistribute it and/or modify it under
7; the terms of the GNU General Public License as published by the Free
d234d788 8; Software Foundation; either version 3, or (at your option) any later
6de9cd9a
DN
9; version.
10;
11; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12; WARRANTY; without even the implied warranty of MERCHANTABILITY or
13; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14; for more details.
15;
16; You should have received a copy of the GNU General Public License
d234d788
NC
17; along with GCC; see the file COPYING3. If not see
18; <http://www.gnu.org/licenses/>.
6de9cd9a 19
0b026622 20; See the GCC internals manual for a description of this file's format.
6de9cd9a
DN
21
22; Please try to keep this file in ASCII collating order.
23
24Language
7f26dfa3 25Fortran
6de9cd9a 26
e200444e
JM
27-all-warnings
28Fortran Alias(Wall)
29
30-assert
31Fortran Separate Alias(A)
32
33-assert=
34Fortran Joined Alias(A)
35
36-comments
37Fortran Alias(C)
38
39-comments-in-macros
40Fortran Alias(CC)
41
42-define-macro
43Fortran Separate Alias(D)
44
45-define-macro=
46Fortran Joined Alias(D)
47
48-dependencies
49Fortran Alias(M)
50
51-dump
52Fortran Separate Alias(d)
53
54-dump=
55Fortran Joined Alias(d)
56
57-include-barrier
58Fortran Alias(I, -)
59
60-include-directory
61Fortran Separate Alias(I)
62
63-include-directory=
64Fortran Joined Alias(I)
65
66-include-directory-after
67Fortran Separate Alias(idirafter)
68
69-include-directory-after=
70Fortran Joined Alias(idirafter)
71
72-include-prefix
73Fortran Separate Alias(iprefix)
74
75-include-prefix=
76Fortran JoinedOrMissing Alias(iprefix)
77
78-no-line-commands
79Fortran Alias(P)
80
81-no-standard-includes
82Fortran Alias(nostdinc)
83
84-output
85Fortran Separate Alias(o)
86
87-output=
88Fortran Joined Alias(o)
89
90-preprocess
91Fortran Undocumented Alias(E)
92
93-print-missing-file-dependencies
94Fortran Alias(MG)
95
96-trace-includes
97Fortran Alias(H)
98
99-undefine-macro
100Fortran Separate Alias(U)
101
102-undefine-macro=
103Fortran Joined Alias(U)
104
105-user-dependencies
106Fortran Alias(MM)
107
108-verbose
109Fortran Alias(v)
110
111-write-dependencies
112Fortran NoDriverArg Separate Alias(MD)
113
114-write-user-dependencies
115Fortran NoDriverArg Separate Alias(MMD)
116
670637ee
DF
117A
118Fortran Joined Separate
119; Documented in C
120
121C
122Fortran
123; Documented in C
124
125CC
126Fortran
127; Documented in C
128
129D
130Fortran Joined Separate
131; Documented in C
132
133E
134Fortran Undocumented
135
136H
137Fortran
138; Documented in C
139
6de9cd9a 140I
3d39d415 141Fortran Joined Separate
9a0f3e86 142; Documented in C
6de9cd9a
DN
143
144J
3d39d415 145Fortran Joined Separate
a7b2e184 146-J<directory> Put MODULE files in 'directory'.
6de9cd9a 147
d8ddea40
DF
148M
149Fortran
150; Documented in C
151
c878765b 152MD
ca865c2b 153Fortran Separate NoDriverArg
d8ddea40
DF
154; Documented in C
155
156MF
157Fortran Joined Separate
158; Documented in C
159
160MG
161Fortran
162; Documented in C
163
164MM
165Fortran
166; Documented in C
167
c878765b 168MMD
ca865c2b 169Fortran Separate NoDriverArg
d8ddea40
DF
170; Documented in C
171
172MP
173Fortran
174; Documented in C
175
176MT
177Fortran Joined Separate
178; Documented in C
179
180MQ
181Fortran Joined Separate
182; Documented in C
183
670637ee
DF
184P
185Fortran
186; Documented in C
187
188U
189Fortran Joined Separate
190; Documented in C
191
6de9cd9a 192Wall
4428e682 193Fortran
6de9cd9a
DN
194; Documented in C
195
196Waliasing
73e42eef 197Fortran Warning Var(warn_aliasing) LangEnabledBy(Fortran,Wall)
a7b2e184 198Warn about possible aliasing of dummy arguments.
6de9cd9a 199
f613cea7 200Walign-commons
73e42eef 201Fortran Warning Var(warn_align_commons) Init(1)
a7b2e184 202Warn about alignment of COMMON blocks.
f613cea7 203
3fbab549 204Wampersand
73e42eef 205Fortran Warning Var(warn_ampersand) LangEnabledBy(Fortran,Wall || Wpedantic)
a7b2e184 206Warn about missing ampersand in continued character constants.
3fbab549 207
bdfd2ff0 208Warray-temporaries
73e42eef 209Fortran Warning Var(warn_array_temporaries)
a7b2e184 210Warn about creation of array temporaries.
bdfd2ff0 211
3df19fa0 212Wargument-mismatch
e0b9e5f9
TK
213Fortran WarnRemoved
214Does nothing. Preserved for backward compatibility.
3df19fa0 215
0e193637 216Wc-binding-type
4daa149b 217Fortran Var(warn_c_binding_type) Warning LangEnabledBy(Fortran,Wall)
a7b2e184 218Warn if the type of a variable might be not interoperable with C.
0e193637 219
e8ff5196
TB
220Wdate-time
221Fortran
222; Documented in C
223
0b30ba3b 224Wcharacter-truncation
a96c39ea 225Fortran Var(warn_character_truncation) Warning LangEnabledBy(Fortran,Wall)
a7b2e184 226Warn about truncated character expressions.
0b30ba3b 227
cf21551e 228Wcompare-reals
73e42eef 229Fortran Warning Var(warn_compare_reals) LangEnabledBy(Fortran,Wextra)
a7b2e184 230Warn about equality comparisons involving REAL or COMPLEX expressions.
cf21551e 231
6de9cd9a 232Wconversion
4daa149b 233Fortran Var(warn_conversion) Warning LangEnabledBy(Fortran,Wall)
9a0f3e86 234; Documented in C
6de9cd9a 235
daf8c6f0 236Wconversion-extra
4daa149b 237Fortran Var(warn_conversion_extra) Warning
a7b2e184 238Warn about most implicit conversions.
daf8c6f0 239
15e23330
TK
240Wdo-subscript
241Fortran Var(warn_do_subscript) Warning LangEnabledBy(Fortran,Wextra)
04620f22 242Warn about possibly incorrect subscripts in do loops.
15e23330 243
72ac1c07
TK
244Wextra
245Fortran Warning
73e42eef 246; Documented in common
72ac1c07 247
d88412fc
TK
248Wfrontend-loop-interchange
249Fortran Var(flag_warn_frontend_loop_interchange)
250Warn if loops have been interchanged.
251
51a30b32 252Wfunction-elimination
6457b1f0 253Fortran Warning Var(warn_function_elimination) LangEnabledBy(Fortran,Wextra)
a7b2e184 254Warn about function call elimination.
51a30b32 255
6de9cd9a 256Wimplicit-interface
73e42eef 257Fortran Warning Var(warn_implicit_interface)
a7b2e184 258Warn about calls with implicit interface.
6de9cd9a 259
ca071303 260Wimplicit-procedure
73e42eef 261Fortran Warning Var(warn_implicit_procedure)
a7b2e184 262Warn about called procedures not explicitly declared.
ca071303 263
c219aeb7
TK
264Winteger-division
265Fortran Warning Var(warn_integer_division) LangEnabledBy(Fortran,Wall)
a7b2e184 266Warn about constant integer divisions with truncated results.
c219aeb7 267
6de9cd9a 268Wline-truncation
aecfd035 269Fortran Warning Var(warn_line_truncation) LangEnabledBy(Fortran,Wall) Init(-1)
a7b2e184 270Warn about truncated source lines.
6de9cd9a 271
c3005b0f 272Wintrinsics-std
4daa149b 273Fortran Var(warn_intrinsics_std) Warning LangEnabledBy(Fortran,Wall)
a7b2e184 274Warn on intrinsics not part of the selected standard.
b7892582 275
73e42eef
TB
276Wmaybe-uninitialized
277Fortran LangEnabledBy(Fortran,Wall)
278; Documented in common.opt
279
7c02f68b
MLI
280Wmissing-include-dirs
281Fortran
282; Documented in C/C++
283
7e114fad 284Wuse-without-only
3aa34c1d 285Fortran Var(warn_use_without_only) Warning
a7b2e184 286Warn about USE statements that have no ONLY qualifier.
7e114fad 287
8b5e1202
SO
288Wopenmp-simd
289Fortran
290; Documented in C
291
91c4891a
ME
292Woverwrite-recursive
293Fortran Warning Var(warn_overwrite_recursive) Init(1)
294Warn that -fno-automatic may break recursion.
295
16db2a6a
TB
296Wpedantic
297Fortran
298; Documented in common.opt
299
5a17346a 300Wreal-q-constant
73e42eef 301Fortran Warning Var(warn_real_q_constant) LangEnabledBy(Fortran,Wall)
a7b2e184 302Warn about real-literal-constants with 'q' exponent-letter.
5a17346a 303
f1fb11f1 304Wrealloc-lhs
73e42eef 305Fortran Warning Var(warn_realloc_lhs) LangEnabledBy(Fortran,Wrealloc-lhs-all)
a7b2e184 306Warn when a left-hand-side array variable is reallocated.
f1fb11f1
TB
307
308Wrealloc-lhs-all
73e42eef 309Fortran Warning Var(warn_realloc_lhs_all)
a7b2e184 310Warn when a left-hand-side variable is reallocated.
f1fb11f1 311
f657024b 312Wtarget-lifetime
73e42eef 313Fortran Warning Var(warn_target_lifetime) LangEnabledBy(Fortran,Wall)
a7b2e184 314Warn if the pointer in a pointer assignment might outlive its target.
f657024b 315
766d0c8c 316Wreturn-type
73e42eef 317Fortran Warning LangEnabledBy(Fortran,Wall)
766d0c8c
DF
318; Documented in C
319
6de9cd9a 320Wsurprising
73e42eef 321Fortran Warning Var(warn_surprising) LangEnabledBy(Fortran,Wall)
a7b2e184 322Warn about \"suspicious\" constructs.
6de9cd9a 323
840bd9f7 324Wtabs
27e51192 325Fortran Warning Var(warn_tabs) LangEnabledBy(Fortran,Wall || Wpedantic)
a7b2e184 326Permit nonconforming uses of the tab character.
840bd9f7 327
1c122092
ML
328Wundefined-do-loop
329Fortran Warning Var(warn_undefined_do_loop) LangEnabledBy(Fortran,Wall)
330Warn about an invalid DO loop.
331
2d8b59df 332Wunderflow
73e42eef 333Fortran Warning Var(warn_underflow) Init(1)
a7b2e184 334Warn about underflow of numerical constant expressions.
2d8b59df 335
73e42eef
TB
336Wuninitialized
337Fortran LangEnabledBy(Fortran,Wall)
338; Documented in common.opt
339
c3005b0f 340Wintrinsic-shadow
73e42eef 341Fortran Warning Var(warn_intrinsic_shadow) LangEnabledBy(Fortran,Wall)
a7b2e184 342Warn if a user-procedure has the same name as an intrinsic.
c3005b0f 343
73e42eef
TB
344Wunused
345LangEnabledBy(Fortran,Wall)
346; Documented in common.opt
347
4ed44ccc 348Wunused-dummy-argument
73e42eef 349Fortran Warning Var(warn_unused_dummy_argument) LangEnabledBy(Fortran,Wall)
4ed44ccc
DF
350Warn about unused dummy arguments.
351
0e533e50 352Wzerotrip
73e42eef 353Fortran Warning Var(warn_zerotrip) LangEnabledBy(Fortran,Wall)
a7b2e184 354Warn about zero-trip DO loops.
0e533e50 355
670637ee 356cpp
6cfcf3ed 357Fortran Negative(nocpp)
a7b2e184 358Enable preprocessing.
670637ee 359
6cfcf3ed 360cpp=
77ee7190 361Fortran Joined Negative(nocpp) Undocumented NoDWARFRecord
6cfcf3ed
JM
362; Internal option generated by specs from -cpp.
363
670637ee
DF
364nocpp
365Fortran Negative(cpp)
a7b2e184 366Disable preprocessing.
670637ee
DF
367
368d
369Fortran Joined
9a0f3e86 370; Documented in common.opt
670637ee 371
7a56096c
TK
372fallow-argument-mismatch
373Fortran Var(flag_allow_argument_mismatch) LangEnabledBy(Fortran,std=legacy)
374Accept argument mismatches in procedure calls.
375
2757d5ec 376faggressive-function-elimination
c61819ff 377Fortran Var(flag_aggressive_function_elimination)
bd2c6270 378Eliminate multiple function invocations also for impure functions.
2757d5ec 379
f613cea7 380falign-commons
c61819ff 381Fortran Var(flag_align_commons) Init(1)
a7b2e184 382Enable alignment of COMMON blocks.
f613cea7 383
a23eec13 384fall-intrinsics
c61819ff 385Fortran RejectNegative Var(flag_all_intrinsics)
a7b2e184 386All intrinsics procedures are available regardless of selected standard.
a23eec13 387
8dc63166
SK
388fallow-invalid-boz
389Fortran RejectNegative Var(flag_allow_invalid_boz)
c35a3046 390Allow a BOZ literal constant to appear in an invalid context and with X instead of Z.
8dc63166 391
e6472bce 392fallow-leading-underscore
c61819ff 393Fortran Undocumented Var(flag_allow_leading_underscore)
e6472bce
FXC
394; For internal use only: allow the first character of symbol names to be an underscore
395
ee5426a4 396fautomatic
c61819ff 397Fortran Var(flag_automatic) Init(1)
a7b2e184 398Do not treat local variables and COMMON blocks as if they were named in SAVE statements.
ee5426a4 399
e0bcf78c 400fbackslash
c61819ff 401Fortran Var(flag_backslash)
a7b2e184 402Specify that backslash in string introduces an escape character.
e0bcf78c 403
868d75db 404fbacktrace
c61819ff 405Fortran Var(flag_backtrace) Init(1)
a7b2e184 406Produce a backtrace when a runtime error is encountered.
868d75db 407
5a0aad31 408fblas-matmul-limit=
c61819ff 409Fortran RejectNegative Joined UInteger Var(flag_blas_matmul_limit) Init(30)
a7b2e184 410-fblas-matmul-limit=<n> Size of the smallest matrix for which matmul will use BLAS.
5a0aad31 411
0d52899f
TB
412fcheck-array-temporaries
413Fortran
a7b2e184 414Produce a warning at runtime if a array temporary has been created for a procedure argument.
0d52899f 415
f19626cf
TB
416fconvert=
417Fortran RejectNegative Joined Enum(gfc_convert) Var(flag_convert) Init(GFC_FLAG_CONVERT_NATIVE)
b408e010 418-fconvert=<big-endian|little-endian|native|swap> The endianness used for unformatted files.
3ae9eb27 419
f19626cf 420Enum
bd2c6270 421Name(gfc_convert) Type(enum gfc_convert) UnknownError(Unrecognized option to endianness value: %qs)
3ae9eb27 422
f19626cf
TB
423EnumValue
424Enum(gfc_convert) String(big-endian) Value(GFC_FLAG_CONVERT_BIG)
10612ddf 425
f19626cf
TB
426EnumValue
427Enum(gfc_convert) String(little-endian) Value(GFC_FLAG_CONVERT_LITTLE)
428
429EnumValue
430Enum(gfc_convert) String(native) Value(GFC_FLAG_CONVERT_NATIVE)
431
432EnumValue
433Enum(gfc_convert) String(swap) Value(GFC_FLAG_CONVERT_SWAP)
10612ddf
BM
434
435fcray-pointer
c61819ff 436Fortran Var(flag_cray_pointer)
a7b2e184 437Use the Cray Pointer extension.
6de9cd9a 438
e655a6cc
TK
439fc-prototypes
440Fortran Var(flag_c_prototypes)
441Generate C prototypes from BIND(C) declarations.
442
6328ce1f
TK
443fc-prototypes-external
444Fortran Var(flag_c_prototypes_external)
445Generate C prototypes from non-BIND(C) external procedure definitions.
446
e0bcf78c 447fd-lines-as-code
7f26dfa3 448Fortran RejectNegative
a7b2e184 449Ignore 'D' in column one in fixed form.
e0bcf78c
TS
450
451fd-lines-as-comments
7f26dfa3 452Fortran RejectNegative
a7b2e184 453Treat lines with 'D' in column one as comments.
e0bcf78c 454
f6288c24 455fdec
f6d17ecd 456Fortran Var(flag_dec)
f6288c24
FR
457Enable all DEC language extensions.
458
17f62b7e
JM
459fdec-blank-format-item
460Fortran Var(flag_dec_blank_format_item)
461Enable the use of blank format items in format strings.
462
2afeb1ca
ME
463fdec-char-conversions
464Fortran Var(flag_dec_char_conversions)
465Enable the use of character literals in assignments and data statements
466for non-character variables.
467
7c74e813
JJ
468fdec-include
469Fortran Var(flag_dec_include)
470Enable legacy parsing of INCLUDE as statement.
471
88a8126a
JB
472fdec-format-defaults
473Fortran Var(flag_dec_format_defaults)
474Enable default widths for i, f and g format specifiers.
475
c98583e9
FR
476fdec-intrinsic-ints
477Fortran Var(flag_dec_intrinsic_ints)
478Enable kind-specific variants of integer intrinsic functions.
479
8e8c2744
FR
480fdec-math
481Fortran Var(flag_dec_math)
482Enable legacy math intrinsics for compatibility.
483
f6288c24 484fdec-structure
f6d17ecd 485Fortran Var(flag_dec_structure)
f6288c24
FR
486Enable support for DEC STRUCTURE/RECORD.
487
34d567d1
FR
488fdec-static
489Fortran Var(flag_dec_static)
490Enable DEC-style STATIC and AUTOMATIC attributes.
491
10612ddf 492fdefault-double-8
203c7ebf 493Fortran Var(flag_default_double)
a7b2e184 494Set the default double precision kind to an 8 byte wide type.
10612ddf
BM
495
496fdefault-integer-8
203c7ebf 497Fortran Var(flag_default_integer)
a7b2e184 498Set the default integer kind to an 8 byte wide type.
10612ddf
BM
499
500fdefault-real-8
d16d81b5 501Fortran Var(flag_default_real_8)
a7b2e184 502Set the default real kind to an 8 byte wide type.
10612ddf 503
d16d81b5
JW
504fdefault-real-10
505Fortran Var(flag_default_real_10)
506Set the default real kind to an 10 byte wide type.
507
508fdefault-real-16
509Fortran Var(flag_default_real_16)
510Set the default real kind to an 16 byte wide type.
511
6de9cd9a 512fdollar-ok
c61819ff 513Fortran Var(flag_dollar_ok)
a7b2e184 514Allow dollar signs in entity names.
6de9cd9a 515
ade2e403
TB
516fdump-core
517Fortran Ignore
518Does nothing. Preserved for backward compatibility.
519
1607a827 520fdump-fortran-original
c61819ff 521Fortran Var(flag_dump_fortran_original)
a7b2e184 522Display the code tree after parsing.
6de9cd9a 523
1607a827 524fdump-fortran-optimized
c61819ff 525Fortran Var(flag_dump_fortran_optimized)
a7b2e184 526Display the code tree after front end optimization.
1607a827 527
5c6aa9a8
TK
528fdump-fortran-global
529Fortran Var(flag_dump_fortran_global)
530Display the global symbol table after parsing.
531
1607a827 532fdump-parse-tree
c61819ff 533Fortran Alias(fdump-fortran-original)
a7b2e184 534Display the code tree after parsing; deprecated option.
1607a827 535
10612ddf 536fexternal-blas
c61819ff 537Fortran Var(flag_external_blas)
a7b2e184 538Specify that an external BLAS library should be used for matmul calls on large-size arrays.
10612ddf 539
973ff4c0 540ff2c
c61819ff 541Fortran Var(flag_f2c)
a7b2e184 542Use f2c calling convention.
973ff4c0 543
6de9cd9a 544ffixed-form
1005cc9c 545Fortran RejectNegative
a7b2e184 546Assume that the source file is fixed form.
6de9cd9a 547
7bd5dad2
LK
548ftest-forall-temp
549Fortran Var(flag_test_forall_temp) Init(0)
02a7f8dc 550Force creation of temporary to test infrequently-executed forall code.
7bd5dad2 551
f4347334 552finteger-4-integer-8
203c7ebf 553Fortran RejectNegative Var(flag_integer4_kind,8)
a7b2e184 554Interpret any INTEGER(4) as an INTEGER(8).
f4347334 555
31198773 556fintrinsic-modules-path
f34dea03 557Fortran RejectNegative Separate
a7b2e184 558Specify where to find the compiled intrinsic modules.
f34dea03
JJ
559
560fintrinsic-modules-path=
561Fortran RejectNegative Joined
a7b2e184 562Specify where to find the compiled intrinsic modules.
31198773 563
f56c5d5d 564ffixed-line-length-none
203c7ebf 565Fortran RejectNegative Var(flag_fixed_line_length,0)
a7b2e184 566Allow arbitrary character line width in fixed mode.
6de9cd9a 567
f56c5d5d 568ffixed-line-length-
203c7ebf 569Fortran RejectNegative Joined UInteger Var(flag_fixed_line_length) Init(72)
a7b2e184 570-ffixed-line-length-<n> Use n as character line width in fixed mode.
6de9cd9a 571
f03d260a
JJ
572fpad-source
573Fortran Var(flag_pad_source) Init(1)
574Pad shorter fixed form lines to line width with spaces.
575
10612ddf
BM
576ffpe-trap=
577Fortran RejectNegative JoinedOrMissing
a7b2e184 578-ffpe-trap=[...] Stop on following floating point exceptions.
10612ddf 579
fa86f4f9
TB
580ffpe-summary=
581Fortran RejectNegative JoinedOrMissing
a7b2e184 582-ffpe-summary=[...] Print summary of floating point exceptions.
fa86f4f9 583
10612ddf
BM
584ffree-form
585Fortran RejectNegative
a7b2e184 586Assume that the source file is free form.
10612ddf 587
16ab8e74 588ffree-line-length-none
203c7ebf 589Fortran RejectNegative Var(flag_free_line_length,0)
a7b2e184 590Allow arbitrary character line width in free mode.
16ab8e74
BF
591
592ffree-line-length-
203c7ebf 593Fortran RejectNegative Joined UInteger Var(flag_free_line_length) Init(132)
a7b2e184 594-ffree-line-length-<n> Use n as character line width in free mode.
16ab8e74 595
d88412fc
TK
596ffrontend-loop-interchange
597Fortran Var(flag_frontend_loop_interchange) Init(-1)
598Try to interchange loops if profitable.
599
51a30b32 600ffrontend-optimize
203c7ebf 601Fortran Var(flag_frontend_optimize) Init(-1)
a7b2e184 602Enable front end optimization.
51a30b32 603
10612ddf 604fimplicit-none
c61819ff 605Fortran Var(flag_implicit_none)
a7b2e184 606Specify that no implicit typing is allowed, unless overridden by explicit IMPLICIT statements.
10612ddf 607
51b09ce3
AL
608finit-character=
609Fortran RejectNegative Joined UInteger
a7b2e184 610-finit-character=<n> Initialize local character variables to ASCII value n.
51b09ce3 611
7fc61626
FR
612finit-derived
613Fortran Var(flag_init_derived)
614Initialize components of derived type variables according to other init flags.
615
51b09ce3
AL
616finit-integer=
617Fortran RejectNegative Joined
a7b2e184 618-finit-integer=<n> Initialize local integer variables to n.
51b09ce3
AL
619
620finit-local-zero
621Fortran
a7b2e184 622Initialize local variables to zero (from g77).
51b09ce3
AL
623
624finit-logical=
625Fortran RejectNegative Joined
a7b2e184 626-finit-logical=<true|false> Initialize local logical variables.
51b09ce3
AL
627
628finit-real=
f19626cf 629Fortran RejectNegative ToLower Joined Enum(gfc_init_local_real) Var(flag_init_real) Init(GFC_INIT_REAL_OFF)
a7b2e184 630-finit-real=<zero|snan|nan|inf|-inf> Initialize local real variables.
f19626cf
TB
631
632Enum
633Name(gfc_init_local_real) Type(enum gfc_init_local_real) UnknownError(Unrecognized option to floating-point init value: %qs)
634
635EnumValue
636Enum(gfc_init_local_real) String(zero) Value(GFC_INIT_REAL_ZERO)
637
638EnumValue
639Enum(gfc_init_local_real) String(snan) Value(GFC_INIT_REAL_SNAN)
640
641EnumValue
642Enum(gfc_init_local_real) String(nan) Value(GFC_INIT_REAL_NAN)
643
644EnumValue
645Enum(gfc_init_local_real) String(inf) Value(GFC_INIT_REAL_INF)
646
647EnumValue
648Enum(gfc_init_local_real) String(-inf) Value(GFC_INIT_REAL_NEG_INF)
51b09ce3 649
95d27703
TK
650finline-arg-packing
651Fortran Var(flag_inline_arg_packing) Init(-1)
907343e8 652-finline-arg-packing Perform argument packing inline.
95d27703 653
f1abbf69
TK
654finline-matmul-limit=
655Fortran RejectNegative Joined UInteger Var(flag_inline_matmul_limit) Init(-1)
a7b2e184 656-finline-matmul-limit=<n> Specify the size of the largest matrix for which matmul will be inlined.
f1abbf69 657
63346ddb 658fmax-array-constructor=
c61819ff 659Fortran RejectNegative Joined UInteger Var(flag_max_array_constructor) Init(65535)
a7b2e184 660-fmax-array-constructor=<n> Maximum number of objects in an array constructor.
63346ddb 661
6de9cd9a 662fmax-identifier-length=
7f26dfa3 663Fortran RejectNegative Joined UInteger
a7b2e184 664-fmax-identifier-length=<n> Maximum identifier length.
6de9cd9a 665
07b3bbf2 666fmax-subrecord-length=
203c7ebf 667Fortran RejectNegative Joined UInteger Var(flag_max_subrecord_length)
a7b2e184 668-fmax-subrecord-length=<n> Maximum length for subrecords.
07b3bbf2 669
6de9cd9a 670fmax-stack-var-size=
203c7ebf 671Fortran RejectNegative Joined UInteger Var(flag_max_stack_var_size) Init(-2)
a7b2e184 672-fmax-stack-var-size=<n> Size in bytes of the largest array that will be put on the stack.
6de9cd9a 673
c76f8d52 674fstack-arrays
203c7ebf 675Fortran Var(flag_stack_arrays) Init(-1)
c76f8d52
MM
676Put all local arrays on stack.
677
654b6073 678fmodule-private
c61819ff 679Fortran Var(flag_module_private)
654b6073
FXC
680Set default accessibility of module entities to PRIVATE.
681
41dbbb37 682fopenacc
a0c88d06 683Fortran LTO
41dbbb37
TS
684; Documented in C
685
b6adbb9f
NS
686fopenacc-dim=
687Fortran LTO Joined Var(flag_openacc_dims)
688; Documented in C
689
10612ddf 690fopenmp
1506ae0e 691Fortran LTO
9a0f3e86 692; Documented in C
54554825 693
6d7f7e0a
TB
694fopenmp-simd
695Fortran
696; Documented in C
697
6de9cd9a 698fpack-derived
c61819ff 699Fortran Var(flag_pack_derived)
a7b2e184 700Try to lay out derived types as compactly as possible.
6de9cd9a 701
10612ddf
BM
702fpreprocessed
703Fortran
9a0f3e86 704; Documented in C
10612ddf 705
72bd130e 706fprotect-parens
203c7ebf 707Fortran Var(flag_protect_parens) Init(-1)
a7b2e184 708Protect parentheses in expressions.
72bd130e 709
facf0354
ML
710fpre-include=
711Fortran RejectNegative Joined Var(flag_pre_include) Undocumented
712Path to header file that should be pre-included before each compilation unit.
713
10612ddf 714frange-check
c61819ff 715Fortran Var(flag_range_check) Init(1)
a7b2e184 716Enable range checking during compilation.
10612ddf 717
f4347334 718freal-4-real-8
203c7ebf 719Fortran RejectNegative Var(flag_real4_kind,8)
a7b2e184 720Interpret any REAL(4) as a REAL(8).
f4347334
ZG
721
722freal-4-real-10
203c7ebf 723Fortran RejectNegative Var(flag_real4_kind,10)
a7b2e184 724Interpret any REAL(4) as a REAL(10).
f4347334
ZG
725
726freal-4-real-16
203c7ebf 727Fortran RejectNegative Var(flag_real4_kind,16)
a7b2e184 728Interpret any REAL(4) as a REAL(16).
f4347334
ZG
729
730freal-8-real-4
203c7ebf 731Fortran RejectNegative Var(flag_real8_kind,4)
a7b2e184 732Interpret any REAL(8) as a REAL(4).
f4347334
ZG
733
734freal-8-real-10
203c7ebf 735Fortran RejectNegative Var(flag_real8_kind,10)
a7b2e184 736Interpret any REAL(8) as a REAL(10).
f4347334
ZG
737
738freal-8-real-16
203c7ebf 739Fortran RejectNegative Var(flag_real8_kind,16)
a7b2e184 740Interpret any REAL(8) as a REAL(16).
f4347334 741
597553ab 742frealloc-lhs
203c7ebf 743Fortran Var(flag_realloc_lhs) Init(-1)
a7b2e184 744Reallocate the LHS in assignments.
597553ab 745
10612ddf 746frecord-marker=4
203c7ebf 747Fortran RejectNegative Var(flag_record_marker,4)
a7b2e184 748Use a 4-byte record marker for unformatted files.
10612ddf
BM
749
750frecord-marker=8
203c7ebf 751Fortran RejectNegative Var(flag_record_marker,8)
a7b2e184 752Use an 8-byte record marker for unformatted files.
10612ddf 753
1e7de83b 754frecursive
c61819ff 755Fortran Var(flag_recursive)
a7b2e184 756Allocate local variables on the stack to allow indirect recursion.
1e7de83b 757
6de9cd9a 758frepack-arrays
c61819ff 759Fortran Var(flag_repack_arrays)
a7b2e184 760Copy array sections into a contiguous block on procedure entry.
6de9cd9a 761
f4d1d50a 762fcoarray=
f19626cf 763Fortran RejectNegative Joined Enum(gfc_fcoarray) Var(flag_coarray) Init(GFC_FCOARRAY_NONE)
a7b2e184 764-fcoarray=<none|single|lib> Specify which coarray parallelization should be used.
f19626cf
TB
765
766Enum
767Name(gfc_fcoarray) Type(enum gfc_fcoarray) UnknownError(Unrecognized option: %qs)
768
769EnumValue
770Enum(gfc_fcoarray) String(none) Value(GFC_FCOARRAY_NONE)
771
772EnumValue
773Enum(gfc_fcoarray) String(single) Value(GFC_FCOARRAY_SINGLE)
774
775EnumValue
776Enum(gfc_fcoarray) String(lib) Value(GFC_FCOARRAY_LIB)
f4d1d50a 777
d3d3011f
FXC
778fcheck=
779Fortran RejectNegative JoinedOrMissing
a7b2e184 780-fcheck=[...] Specify which runtime checks are to be performed.
d3d3011f 781
10612ddf 782fsecond-underscore
203c7ebf 783Fortran Var(flag_second_underscore) Init(-1)
a7b2e184 784Append a second underscore if the name already contains an underscore.
2d7c7df6 785
10612ddf 786fshort-enums
f0036cca 787Fortran Var(flag_short_enums)
cab129d1 788; Documented in C
944b8b35 789
68d2e027 790fsign-zero
c61819ff 791Fortran Var(flag_sign_zero) Init(1)
a7b2e184 792Apply negative sign to zero values.
68d2e027 793
ffeebc4f 794ftail-call-workaround
d4ecfa56 795Fortran Alias(ftail-call-workaround=,1,0)
ffeebc4f
JJ
796
797ftail-call-workaround=
798Fortran RejectNegative Joined UInteger IntegerRange(0, 2) Var(flag_tail_call_workaround) Init(1)
02fac244 799Disallow tail call optimization when a calling routine may have omitted character lengths.
ffeebc4f 800
10612ddf 801funderscoring
c61819ff 802Fortran Var(flag_underscoring) Init(1)
a7b2e184 803Append underscores to externally visible names.
6de9cd9a 804
71a7778c 805fwhole-file
9fa52231
TB
806Fortran Ignore
807Does nothing. Preserved for backward compatibility.
71a7778c 808
670637ee
DF
809fworking-directory
810Fortran
811; Documented in C
812
c3280643
DF
813idirafter
814Fortran Joined Separate
815; Documented in C
816
670637ee
DF
817imultilib
818Fortran Joined Separate
819; Documented in C
820
821iprefix
822Fortran Joined Separate
823; Documented in C
824
825iquote
826Fortran Joined Separate
827; Documented in C
828
829isysroot
830Fortran Joined Separate
831; Documented in C
832
833isystem
834Fortran Joined Separate
835; Documented in C
836
837nostdinc
838Fortran
839; Documented in C
840
841o
842Fortran Joined Separate
843; Documented in common.opt
844
86db887a
FXC
845static-libgfortran
846Fortran
a7b2e184 847Statically link the GNU Fortran helper library (libgfortran).
86db887a 848
6de9cd9a 849std=f2003
7f26dfa3 850Fortran
a7b2e184 851Conform to the ISO Fortran 2003 standard.
6de9cd9a 852
f489fba1
FXC
853std=f2008
854Fortran
a7b2e184 855Conform to the ISO Fortran 2008 standard.
f489fba1 856
4650947d 857std=f2008ts
2e8d9212 858Fortran
a7b2e184 859Conform to the ISO Fortran 2008 standard including TS 29113.
2e8d9212 860
8179b067
JB
861std=f2018
862Fortran
863Conform to the ISO Fortran 2018 standard.
864
10612ddf
BM
865std=f95
866Fortran
a7b2e184 867Conform to the ISO Fortran 95 standard.
10612ddf 868
6de9cd9a 869std=gnu
7f26dfa3 870Fortran
a7b2e184 871Conform to nothing in particular.
6de9cd9a 872
c0309c74 873std=legacy
7f26dfa3 874Fortran
a7b2e184 875Accept extensions to support legacy code.
c0309c74 876
670637ee
DF
877undef
878Fortran
879; Documented in C
880
881v
882Fortran
883; Documented in C
884
6de9cd9a 885; This comment is to ensure we retain the blank line above.