1 ; Options for the Fortran 95 front end.
2 ; Copyright (C) 2003-2016 Free Software Foundation, Inc.
4 ; This file is part of GCC.
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
8 ; Software Foundation; either version 3, or (at your option) any later
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
16 ; You should have received a copy of the GNU General Public License
17 ; along with GCC; see the file COPYING3. If not see
18 ; <http://www.gnu.org/licenses/>.
20 ; See the GCC internals manual for a description of this file's format.
22 ; Please try to keep this file in ASCII collating order.
31 Fortran Separate Alias(A)
34 Fortran Joined Alias(A)
43 Fortran Separate Alias(D)
46 Fortran Joined Alias(D)
52 Fortran Separate Alias(d)
55 Fortran Joined Alias(d)
61 Fortran Separate Alias(I)
64 Fortran Joined Alias(I)
66 -include-directory-after
67 Fortran Separate Alias(idirafter)
69 -include-directory-after=
70 Fortran Joined Alias(idirafter)
73 Fortran Separate Alias(iprefix)
76 Fortran JoinedOrMissing Alias(iprefix)
82 Fortran Alias(nostdinc)
85 Fortran Separate Alias(o)
88 Fortran Joined Alias(o)
91 Fortran Undocumented Alias(E)
93 -print-missing-file-dependencies
100 Fortran Separate Alias(U)
103 Fortran Joined Alias(U)
112 Fortran NoDriverArg Separate Alias(MD)
114 -write-user-dependencies
115 Fortran NoDriverArg Separate Alias(MMD)
118 Fortran Joined Separate
130 Fortran Joined Separate
141 Fortran Joined Separate
145 Fortran Joined Separate
146 -J<directory> Put MODULE files in 'directory'.
153 Fortran Separate NoDriverArg
157 Fortran Joined Separate
169 Fortran Separate NoDriverArg
177 Fortran Joined Separate
181 Fortran Joined Separate
189 Fortran Joined Separate
197 Fortran Warning Var(warn_aliasing) LangEnabledBy(Fortran,Wall)
198 Warn about possible aliasing of dummy arguments.
201 Fortran Warning Var(warn_align_commons) Init(1)
202 Warn about alignment of COMMON blocks.
205 Fortran Warning Var(warn_ampersand) LangEnabledBy(Fortran,Wall || Wpedantic)
206 Warn about missing ampersand in continued character constants.
209 Fortran Warning Var(warn_array_temporaries)
210 Warn about creation of array temporaries.
213 Fortran Var(warn_c_binding_type) Warning LangEnabledBy(Fortran,Wall)
214 Warn if the type of a variable might be not interoperable with C.
220 Wcharacter-truncation
221 Fortran Var(warn_character_truncation) Warning LangEnabledBy(Fortran,Wall)
222 Warn about truncated character expressions.
225 Fortran Warning Var(warn_compare_reals) LangEnabledBy(Fortran,Wextra)
226 Warn about equality comparisons involving REAL or COMPLEX expressions.
229 Fortran Var(warn_conversion) Warning LangEnabledBy(Fortran,Wall)
233 Fortran Var(warn_conversion_extra) Warning
234 Warn about most implicit conversions.
238 ; Documented in common
240 Wfunction-elimination
241 Fortran Warning Var(warn_function_elimination)
242 Warn about function call elimination.
245 Fortran Warning Var(warn_implicit_interface)
246 Warn about calls with implicit interface.
249 Fortran Warning Var(warn_implicit_procedure)
250 Warn about called procedures not explicitly declared.
253 Fortran Warning Var(warn_integer_division) LangEnabledBy(Fortran,Wall)
254 Warn about constant integer divisions with truncated results.
257 Fortran Warning Var(warn_line_truncation) LangEnabledBy(Fortran,Wall) Init(-1)
258 Warn about truncated source lines.
261 Fortran Var(warn_intrinsics_std) Warning LangEnabledBy(Fortran,Wall)
262 Warn on intrinsics not part of the selected standard.
265 Fortran LangEnabledBy(Fortran,Wall)
266 ; Documented in common.opt
268 Wmissing-include-dirs
270 ; Documented in C/C++
273 Fortran Var(warn_use_without_only) Warning
274 Warn about USE statements that have no ONLY qualifier.
282 ; Documented in common.opt
285 Fortran Warning Var(warn_real_q_constant) LangEnabledBy(Fortran,Wall)
286 Warn about real-literal-constants with 'q' exponent-letter.
289 Fortran Warning Var(warn_realloc_lhs) LangEnabledBy(Fortran,Wrealloc-lhs-all)
290 Warn when a left-hand-side array variable is reallocated.
293 Fortran Warning Var(warn_realloc_lhs_all)
294 Warn when a left-hand-side variable is reallocated.
297 Fortran Warning Var(warn_target_lifetime) LangEnabledBy(Fortran,Wall)
298 Warn if the pointer in a pointer assignment might outlive its target.
301 Fortran Warning LangEnabledBy(Fortran,Wall)
305 Fortran Warning Var(warn_surprising) LangEnabledBy(Fortran,Wall)
306 Warn about \"suspicious\" constructs.
309 Fortran Warning Var(warn_tabs) LangEnabledBy(Fortran,Wall || Wpedantic)
310 Permit nonconforming uses of the tab character.
313 Fortran Warning Var(warn_undefined_do_loop) LangEnabledBy(Fortran,Wall)
314 Warn about an invalid DO loop.
317 Fortran Warning Var(warn_underflow) Init(1)
318 Warn about underflow of numerical constant expressions.
321 Fortran LangEnabledBy(Fortran,Wall)
322 ; Documented in common.opt
325 Fortran Warning Var(warn_intrinsic_shadow) LangEnabledBy(Fortran,Wall)
326 Warn if a user-procedure has the same name as an intrinsic.
329 LangEnabledBy(Fortran,Wall)
330 ; Documented in common.opt
332 Wunused-dummy-argument
333 Fortran Warning Var(warn_unused_dummy_argument) LangEnabledBy(Fortran,Wall)
334 Warn about unused dummy arguments.
337 Fortran Warning Var(warn_zerotrip) LangEnabledBy(Fortran,Wall)
338 Warn about zero-trip DO loops.
341 Fortran Negative(nocpp)
342 Enable preprocessing.
345 Fortran Joined Negative(nocpp) Undocumented NoDWARFRecord
346 ; Internal option generated by specs from -cpp.
349 Fortran Negative(cpp)
350 Disable preprocessing.
354 ; Documented in common.opt
356 faggressive-function-elimination
357 Fortran Var(flag_aggressive_function_elimination)
358 Eliminate multiple function invokations also for impure functions.
361 Fortran Var(flag_align_commons) Init(1)
362 Enable alignment of COMMON blocks.
365 Fortran RejectNegative Var(flag_all_intrinsics)
366 All intrinsics procedures are available regardless of selected standard.
368 fallow-leading-underscore
369 Fortran Undocumented Var(flag_allow_leading_underscore)
370 ; For internal use only: allow the first character of symbol names to be an underscore
373 Fortran Var(flag_automatic) Init(1)
374 Do not treat local variables and COMMON blocks as if they were named in SAVE statements.
377 Fortran Var(flag_backslash)
378 Specify that backslash in string introduces an escape character.
381 Fortran Var(flag_backtrace) Init(1)
382 Produce a backtrace when a runtime error is encountered.
385 Fortran RejectNegative Joined UInteger Var(flag_blas_matmul_limit) Init(30)
386 -fblas-matmul-limit=<n> Size of the smallest matrix for which matmul will use BLAS.
388 fcheck-array-temporaries
390 Produce a warning at runtime if a array temporary has been created for a procedure argument.
393 Fortran RejectNegative Joined Enum(gfc_convert) Var(flag_convert) Init(GFC_FLAG_CONVERT_NATIVE)
394 -fconvert=<big-endian|little-endian|native|swap> The endianness used for unformatted files.
397 Name(gfc_convert) Type(enum gfc_convert) UnknownError(Unrecognized option to endianess value: %qs)
400 Enum(gfc_convert) String(big-endian) Value(GFC_FLAG_CONVERT_BIG)
403 Enum(gfc_convert) String(little-endian) Value(GFC_FLAG_CONVERT_LITTLE)
406 Enum(gfc_convert) String(native) Value(GFC_FLAG_CONVERT_NATIVE)
409 Enum(gfc_convert) String(swap) Value(GFC_FLAG_CONVERT_SWAP)
412 Fortran Var(flag_cray_pointer)
413 Use the Cray Pointer extension.
416 Fortran RejectNegative
417 Ignore 'D' in column one in fixed form.
420 Fortran RejectNegative
421 Treat lines with 'D' in column one as comments.
425 Enable all DEC language extensions.
428 Fortran Var(flag_dec_intrinsic_ints)
429 Enable kind-specific variants of integer intrinsic functions.
432 Fortran Var(flag_dec_math)
433 Enable legacy math intrinsics for compatibility.
437 Enable support for DEC STRUCTURE/RECORD.
440 Fortran Var(flag_dec_static)
441 Enable DEC-style STATIC and AUTOMATIC attributes.
444 Fortran Var(flag_default_double)
445 Set the default double precision kind to an 8 byte wide type.
448 Fortran Var(flag_default_integer)
449 Set the default integer kind to an 8 byte wide type.
452 Fortran Var(flag_default_real)
453 Set the default real kind to an 8 byte wide type.
456 Fortran Var(flag_dollar_ok)
457 Allow dollar signs in entity names.
461 Does nothing. Preserved for backward compatibility.
463 fdump-fortran-original
464 Fortran Var(flag_dump_fortran_original)
465 Display the code tree after parsing.
467 fdump-fortran-optimized
468 Fortran Var(flag_dump_fortran_optimized)
469 Display the code tree after front end optimization.
472 Fortran Alias(fdump-fortran-original)
473 Display the code tree after parsing; deprecated option.
476 Fortran Var(flag_external_blas)
477 Specify that an external BLAS library should be used for matmul calls on large-size arrays.
480 Fortran Var(flag_f2c)
481 Use f2c calling convention.
484 Fortran RejectNegative
485 Assume that the source file is fixed form.
488 Fortran RejectNegative Var(flag_integer4_kind,8)
489 Interpret any INTEGER(4) as an INTEGER(8).
491 fintrinsic-modules-path
492 Fortran RejectNegative Separate
493 Specify where to find the compiled intrinsic modules.
495 fintrinsic-modules-path=
496 Fortran RejectNegative Joined
497 Specify where to find the compiled intrinsic modules.
499 ffixed-line-length-none
500 Fortran RejectNegative Var(flag_fixed_line_length,0)
501 Allow arbitrary character line width in fixed mode.
504 Fortran RejectNegative Joined UInteger Var(flag_fixed_line_length) Init(72)
505 -ffixed-line-length-<n> Use n as character line width in fixed mode.
508 Fortran RejectNegative JoinedOrMissing
509 -ffpe-trap=[...] Stop on following floating point exceptions.
512 Fortran RejectNegative JoinedOrMissing
513 -ffpe-summary=[...] Print summary of floating point exceptions.
516 Fortran RejectNegative
517 Assume that the source file is free form.
519 ffree-line-length-none
520 Fortran RejectNegative Var(flag_free_line_length,0)
521 Allow arbitrary character line width in free mode.
524 Fortran RejectNegative Joined UInteger Var(flag_free_line_length) Init(132)
525 -ffree-line-length-<n> Use n as character line width in free mode.
528 Fortran Var(flag_frontend_optimize) Init(-1)
529 Enable front end optimization.
532 Fortran Var(flag_implicit_none)
533 Specify that no implicit typing is allowed, unless overridden by explicit IMPLICIT statements.
536 Fortran RejectNegative Joined UInteger
537 -finit-character=<n> Initialize local character variables to ASCII value n.
540 Fortran Var(flag_init_derived)
541 Initialize components of derived type variables according to other init flags.
544 Fortran RejectNegative Joined
545 -finit-integer=<n> Initialize local integer variables to n.
549 Initialize local variables to zero (from g77).
552 Fortran RejectNegative Joined
553 -finit-logical=<true|false> Initialize local logical variables.
556 Fortran RejectNegative ToLower Joined Enum(gfc_init_local_real) Var(flag_init_real) Init(GFC_INIT_REAL_OFF)
557 -finit-real=<zero|snan|nan|inf|-inf> Initialize local real variables.
560 Name(gfc_init_local_real) Type(enum gfc_init_local_real) UnknownError(Unrecognized option to floating-point init value: %qs)
563 Enum(gfc_init_local_real) String(zero) Value(GFC_INIT_REAL_ZERO)
566 Enum(gfc_init_local_real) String(snan) Value(GFC_INIT_REAL_SNAN)
569 Enum(gfc_init_local_real) String(nan) Value(GFC_INIT_REAL_NAN)
572 Enum(gfc_init_local_real) String(inf) Value(GFC_INIT_REAL_INF)
575 Enum(gfc_init_local_real) String(-inf) Value(GFC_INIT_REAL_NEG_INF)
577 finline-matmul-limit=
578 Fortran RejectNegative Joined UInteger Var(flag_inline_matmul_limit) Init(-1)
579 -finline-matmul-limit=<n> Specify the size of the largest matrix for which matmul will be inlined.
581 fmax-array-constructor=
582 Fortran RejectNegative Joined UInteger Var(flag_max_array_constructor) Init(65535)
583 -fmax-array-constructor=<n> Maximum number of objects in an array constructor.
585 fmax-identifier-length=
586 Fortran RejectNegative Joined UInteger
587 -fmax-identifier-length=<n> Maximum identifier length.
589 fmax-subrecord-length=
590 Fortran RejectNegative Joined UInteger Var(flag_max_subrecord_length)
591 -fmax-subrecord-length=<n> Maximum length for subrecords.
594 Fortran RejectNegative Joined UInteger Var(flag_max_stack_var_size) Init(-2)
595 -fmax-stack-var-size=<n> Size in bytes of the largest array that will be put on the stack.
598 Fortran Var(flag_stack_arrays) Init(-1)
599 Put all local arrays on stack.
602 Fortran Var(flag_module_private)
603 Set default accessibility of module entities to PRIVATE.
610 Fortran LTO Joined Var(flag_openacc_dims)
622 Fortran Var(flag_pack_derived)
623 Try to lay out derived types as compactly as possible.
630 Fortran Var(flag_protect_parens) Init(-1)
631 Protect parentheses in expressions.
634 Fortran Var(flag_range_check) Init(1)
635 Enable range checking during compilation.
638 Fortran RejectNegative Var(flag_real4_kind,8)
639 Interpret any REAL(4) as a REAL(8).
642 Fortran RejectNegative Var(flag_real4_kind,10)
643 Interpret any REAL(4) as a REAL(10).
646 Fortran RejectNegative Var(flag_real4_kind,16)
647 Interpret any REAL(4) as a REAL(16).
650 Fortran RejectNegative Var(flag_real8_kind,4)
651 Interpret any REAL(8) as a REAL(4).
654 Fortran RejectNegative Var(flag_real8_kind,10)
655 Interpret any REAL(8) as a REAL(10).
658 Fortran RejectNegative Var(flag_real8_kind,16)
659 Interpret any REAL(8) as a REAL(16).
662 Fortran Var(flag_realloc_lhs) Init(-1)
663 Reallocate the LHS in assignments.
666 Fortran RejectNegative Var(flag_record_marker,4)
667 Use a 4-byte record marker for unformatted files.
670 Fortran RejectNegative Var(flag_record_marker,8)
671 Use an 8-byte record marker for unformatted files.
674 Fortran Var(flag_recursive)
675 Allocate local variables on the stack to allow indirect recursion.
678 Fortran Var(flag_repack_arrays)
679 Copy array sections into a contiguous block on procedure entry.
682 Fortran RejectNegative Joined Enum(gfc_fcoarray) Var(flag_coarray) Init(GFC_FCOARRAY_NONE)
683 -fcoarray=<none|single|lib> Specify which coarray parallelization should be used.
686 Name(gfc_fcoarray) Type(enum gfc_fcoarray) UnknownError(Unrecognized option: %qs)
689 Enum(gfc_fcoarray) String(none) Value(GFC_FCOARRAY_NONE)
692 Enum(gfc_fcoarray) String(single) Value(GFC_FCOARRAY_SINGLE)
695 Enum(gfc_fcoarray) String(lib) Value(GFC_FCOARRAY_LIB)
698 Fortran RejectNegative JoinedOrMissing
699 -fcheck=[...] Specify which runtime checks are to be performed.
702 Fortran Var(flag_second_underscore) Init(-1)
703 Append a second underscore if the name already contains an underscore.
706 Fortran Var(flag_short_enums)
710 Fortran Var(flag_sign_zero) Init(1)
711 Apply negative sign to zero values.
714 Fortran Var(flag_underscoring) Init(1)
715 Append underscores to externally visible names.
719 Does nothing. Preserved for backward compatibility.
726 Fortran Joined Separate
730 Fortran Joined Separate
734 Fortran Joined Separate
738 Fortran Joined Separate
742 Fortran Joined Separate
746 Fortran Joined Separate
754 Fortran Joined Separate
755 ; Documented in common.opt
759 Statically link the GNU Fortran helper library (libgfortran).
763 Conform to the ISO Fortran 2003 standard.
767 Conform to the ISO Fortran 2008 standard.
771 Conform to the ISO Fortran 2008 standard including TS 29113.
775 Conform to the ISO Fortran 95 standard.
779 Conform to nothing in particular.
783 Accept extensions to support legacy code.
793 ; This comment is to ensure we retain the blank line above.