]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/fortran/lang.opt
Update copyright years.
[thirdparty/gcc.git] / gcc / fortran / lang.opt
index dc7c2a7d522b5e2f7c041e24d1a765676220f346..2b1977c523b2016c44f081157d244ae404153d36 100644 (file)
@@ -1,5 +1,5 @@
-; Options for the Fortran 95 front end.
-; Copyright (C) 2003-2014 Free Software Foundation, Inc.
+; Options for the Fortran front end.
+; Copyright (C) 2003-2021 Free Software Foundation, Inc.
 ;
 ; This file is part of GCC.
 ;
@@ -143,7 +143,7 @@ Fortran Joined Separate
 
 J
 Fortran Joined Separate
--J<directory>  Put MODULE files in 'directory'
+-J<directory>  Put MODULE files in 'directory'.
 
 M
 Fortran
@@ -194,24 +194,28 @@ Fortran
 ; Documented in C
 
 Waliasing
-Fortran Warning
-Warn about possible aliasing of dummy arguments
+Fortran Warning Var(warn_aliasing) LangEnabledBy(Fortran,Wall)
+Warn about possible aliasing of dummy arguments.
 
 Walign-commons
-Fortran Warning
-Warn about alignment of COMMON blocks
+Fortran Warning Var(warn_align_commons) Init(1)
+Warn about alignment of COMMON blocks.
 
 Wampersand
-Fortran Warning
-Warn about missing ampersand in continued character constants
+Fortran Warning Var(warn_ampersand) LangEnabledBy(Fortran,Wall || Wpedantic)
+Warn about missing ampersand in continued character constants.
 
 Warray-temporaries
-Fortran Warning
-Warn about creation of array temporaries
+Fortran Warning Var(warn_array_temporaries)
+Warn about creation of array temporaries.
+
+Wargument-mismatch
+Fortran WarnRemoved
+Does nothing. Preserved for backward compatibility.
 
 Wc-binding-type
 Fortran Var(warn_c_binding_type) Warning LangEnabledBy(Fortran,Wall)
-Warn if the type of a variable might be not interoperable with C
+Warn if the type of a variable might be not interoperable with C.
 
 Wdate-time
 Fortran
@@ -219,11 +223,11 @@ Fortran
 
 Wcharacter-truncation
 Fortran Var(warn_character_truncation) Warning LangEnabledBy(Fortran,Wall)
-Warn about truncated character expressions
+Warn about truncated character expressions.
 
 Wcompare-reals
-Fortran Warning
-Warn about equality comparisons involving REAL or COMPLEX expressions
+Fortran Warning Var(warn_compare_reals) LangEnabledBy(Fortran,Wextra)
+Warn about equality comparisons involving REAL or COMPLEX expressions.
 
 Wconversion
 Fortran Var(warn_conversion) Warning LangEnabledBy(Fortran,Wall)
@@ -231,31 +235,47 @@ Fortran Var(warn_conversion) Warning LangEnabledBy(Fortran,Wall)
 
 Wconversion-extra
 Fortran Var(warn_conversion_extra) Warning
-Warn about most implicit conversions
+Warn about most implicit conversions.
+
+Wdo-subscript
+Fortran Var(warn_do_subscript) Warning LangEnabledBy(Fortran,Wextra)
+Warn about possibly incorrect subscripts in do loops.
 
 Wextra
 Fortran Warning
-Print extra (possibly unwanted) warnings
+; Documented in common
+
+Wfrontend-loop-interchange
+Fortran Var(flag_warn_frontend_loop_interchange)
+Warn if loops have been interchanged.
 
 Wfunction-elimination
-Fortran Warning
-Warn about function call elimination
+Fortran Warning Var(warn_function_elimination) LangEnabledBy(Fortran,Wextra)
+Warn about function call elimination.
 
 Wimplicit-interface
-Fortran Warning
-Warn about calls with implicit interface
+Fortran Warning Var(warn_implicit_interface)
+Warn about calls with implicit interface.
 
 Wimplicit-procedure
-Fortran Warning
-Warn about called procedures not explicitly declared
+Fortran Warning Var(warn_implicit_procedure)
+Warn about called procedures not explicitly declared.
+
+Winteger-division
+Fortran Warning Var(warn_integer_division) LangEnabledBy(Fortran,Wall)
+Warn about constant integer divisions with truncated results.
 
 Wline-truncation
-Fortran Warning
-Warn about truncated source lines
+Fortran Warning Var(warn_line_truncation) LangEnabledBy(Fortran,Wall) Init(-1)
+Warn about truncated source lines.
 
 Wintrinsics-std
 Fortran Var(warn_intrinsics_std) Warning LangEnabledBy(Fortran,Wall)
-Warn on intrinsics not part of the selected standard
+Warn on intrinsics not part of the selected standard.
+
+Wmaybe-uninitialized
+Fortran LangEnabledBy(Fortran,Wall)
+; Documented in common.opt
 
 Wmissing-include-dirs
 Fortran
@@ -263,67 +283,79 @@ Fortran
 
 Wuse-without-only
 Fortran Var(warn_use_without_only) Warning
-Warn about USE statements that have no ONLY qualifier
+Warn about USE statements that have no ONLY qualifier.
 
 Wopenmp-simd
 Fortran
 ; Documented in C
 
+Woverwrite-recursive
+Fortran Warning Var(warn_overwrite_recursive) Init(1)
+Warn that -fno-automatic may break recursion.
+
 Wpedantic
 Fortran
 ; Documented in common.opt
 
 Wreal-q-constant
-Fortran Warning
-Warn about real-literal-constants with 'q' exponent-letter
+Fortran Warning Var(warn_real_q_constant) LangEnabledBy(Fortran,Wall)
+Warn about real-literal-constants with 'q' exponent-letter.
 
 Wrealloc-lhs
-Fortran Warning
-Warn when a left-hand-side array variable is reallocated
+Fortran Warning Var(warn_realloc_lhs) LangEnabledBy(Fortran,Wrealloc-lhs-all)
+Warn when a left-hand-side array variable is reallocated.
 
 Wrealloc-lhs-all
-Fortran Warning
-Warn when a left-hand-side variable is reallocated
+Fortran Warning Var(warn_realloc_lhs_all)
+Warn when a left-hand-side variable is reallocated.
 
 Wtarget-lifetime
-Fortran Warning
-Warn if the pointer in a pointer assignment might outlive its target
+Fortran Warning Var(warn_target_lifetime) LangEnabledBy(Fortran,Wall)
+Warn if the pointer in a pointer assignment might outlive its target.
 
 Wreturn-type
-Fortran Warning
+Fortran Warning LangEnabledBy(Fortran,Wall)
 ; Documented in C
 
 Wsurprising
-Fortran Warning
-Warn about \"suspicious\" constructs
+Fortran Warning Var(warn_surprising) LangEnabledBy(Fortran,Wall)
+Warn about \"suspicious\" constructs.
 
 Wtabs
-Fortran Warning Var(warn_tabs) LangEnabledBy(Fortran,Wall)
-Permit nonconforming uses of the tab character
+Fortran Warning Var(warn_tabs) LangEnabledBy(Fortran,Wall || Wpedantic)
+Permit nonconforming uses of the tab character.
 
-Wtabs
-LangEnabledBy(Fortran,Wpedantic)
-;
+Wundefined-do-loop
+Fortran Warning Var(warn_undefined_do_loop) LangEnabledBy(Fortran,Wall)
+Warn about an invalid DO loop.
 
 Wunderflow
-Fortran Warning
-Warn about underflow of numerical constant expressions
+Fortran Warning Var(warn_underflow) Init(1)
+Warn about underflow of numerical constant expressions.
+
+Wuninitialized
+Fortran LangEnabledBy(Fortran,Wall)
+; Documented in common.opt
 
 Wintrinsic-shadow
-Fortran Warning
-Warn if a user-procedure has the same name as an intrinsic
+Fortran Warning Var(warn_intrinsic_shadow) LangEnabledBy(Fortran,Wall)
+Warn if a user-procedure has the same name as an intrinsic.
+
+Wunused
+LangEnabledBy(Fortran,Wall)
+; Documented in common.opt
 
 Wunused-dummy-argument
-Fortran Warning
+Fortran Warning Var(warn_unused_dummy_argument) LangEnabledBy(Fortran,Wall)
 Warn about unused dummy arguments.
 
 Wzerotrip
-Fortran Warning
-Warn about zero-trip DO loops
+Fortran Warning Var(warn_zerotrip) LangEnabledBy(Fortran,Wall)
+Warn about zero-trip DO loops.
 
 cpp
 Fortran Negative(nocpp)
-Enable preprocessing
+Enable preprocessing.
 
 cpp=
 Fortran Joined Negative(nocpp) Undocumented NoDWARFRecord
@@ -331,214 +363,340 @@ Fortran Joined Negative(nocpp) Undocumented NoDWARFRecord
 
 nocpp
 Fortran Negative(cpp)
-Disable preprocessing
+Disable preprocessing.
 
 d
 Fortran Joined
 ; Documented in common.opt
 
+fallow-argument-mismatch
+Fortran Var(flag_allow_argument_mismatch) LangEnabledBy(Fortran,std=legacy)
+Accept argument mismatches in procedure calls.
+
 faggressive-function-elimination
-Fortran
-Eliminate multiple function invokations also for impure functions
+Fortran Var(flag_aggressive_function_elimination)
+Eliminate multiple function invocations also for impure functions.
 
 falign-commons
-Fortran
-Enable alignment of COMMON blocks
+Fortran Var(flag_align_commons) Init(1)
+Enable alignment of COMMON blocks.
 
 fall-intrinsics
-Fortran RejectNegative
-All intrinsics procedures are available regardless of selected standard
+Fortran RejectNegative Var(flag_all_intrinsics)
+All intrinsics procedures are available regardless of selected standard.
+
+fallow-invalid-boz
+Fortran RejectNegative Var(flag_allow_invalid_boz)
+Allow a BOZ literal constant to appear in an invalid context and with X instead of Z.
 
 fallow-leading-underscore
-Fortran Undocumented
+Fortran Undocumented Var(flag_allow_leading_underscore)
 ; For internal use only: allow the first character of symbol names to be an underscore
 
 fautomatic
-Fortran
-Do not treat local variables and COMMON blocks as if they were named in SAVE statements
+Fortran Var(flag_automatic) Init(1)
+Do not treat local variables and COMMON blocks as if they were named in SAVE statements.
 
 fbackslash
-Fortran
-Specify that backslash in string introduces an escape character
+Fortran Var(flag_backslash)
+Specify that backslash in string introduces an escape character.
 
 fbacktrace
-Fortran
-Produce a backtrace when a runtime error is encountered
+Fortran Var(flag_backtrace) Init(1)
+Produce a backtrace when a runtime error is encountered.
 
 fblas-matmul-limit=
-Fortran RejectNegative Joined UInteger
--fblas-matmul-limit=<n>        Size of the smallest matrix for which matmul will use BLAS
+Fortran RejectNegative Joined UInteger Var(flag_blas_matmul_limit) Init(30)
+-fblas-matmul-limit=<n>        Size of the smallest matrix for which matmul will use BLAS.
 
 fcheck-array-temporaries
 Fortran
-Produce a warning at runtime if a array temporary has been created for a procedure argument
+Produce a warning at runtime if a array temporary has been created for a procedure argument.
 
-fconvert=big-endian
-Fortran RejectNegative
-Use big-endian format for unformatted files
+fconvert=
+Fortran RejectNegative Joined Enum(gfc_convert) Var(flag_convert) Init(GFC_FLAG_CONVERT_NATIVE)
+-fconvert=<big-endian|little-endian|native|swap>       The endianness used for unformatted files.
 
-fconvert=little-endian
-Fortran RejectNegative
-Use little-endian format for unformatted files
+Enum
+Name(gfc_convert) Type(enum gfc_convert) UnknownError(Unrecognized option to endianness value: %qs)
 
-fconvert=native
-Fortran RejectNegative
-Use native format for unformatted files
+EnumValue
+Enum(gfc_convert) String(big-endian) Value(GFC_FLAG_CONVERT_BIG)
 
-fconvert=swap
-Fortran RejectNegative
-Swap endianness for unformatted files
+EnumValue
+Enum(gfc_convert) String(little-endian) Value(GFC_FLAG_CONVERT_LITTLE)
+
+EnumValue
+Enum(gfc_convert) String(native) Value(GFC_FLAG_CONVERT_NATIVE)
+
+EnumValue
+Enum(gfc_convert) String(swap) Value(GFC_FLAG_CONVERT_SWAP)
 
 fcray-pointer
-Fortran
-Use the Cray Pointer extension
+Fortran Var(flag_cray_pointer)
+Use the Cray Pointer extension.
+
+fc-prototypes
+Fortran Var(flag_c_prototypes)
+Generate C prototypes from BIND(C) declarations.
+
+fc-prototypes-external
+Fortran Var(flag_c_prototypes_external)
+Generate C prototypes from non-BIND(C) external procedure definitions.
 
 fd-lines-as-code
 Fortran RejectNegative
-Ignore 'D' in column one in fixed form
+Ignore 'D' in column one in fixed form.
 
 fd-lines-as-comments
 Fortran RejectNegative
-Treat lines with 'D' in column one as comments
+Treat lines with 'D' in column one as comments.
+
+fdebug-aux-vars
+Fortran Var(flag_debug_aux_vars)
+Issue debug information for compiler-generated auxiliary variables.
+
+fdec
+Fortran Var(flag_dec)
+Enable all DEC language extensions.
+
+fdec-blank-format-item
+Fortran Var(flag_dec_blank_format_item)
+Enable the use of blank format items in format strings.
+
+fdec-char-conversions
+Fortran Var(flag_dec_char_conversions)
+Enable the use of character literals in assignments and data statements
+for non-character variables.
+
+fdec-include
+Fortran Var(flag_dec_include)
+Enable legacy parsing of INCLUDE as statement.
+
+fdec-format-defaults
+Fortran Var(flag_dec_format_defaults)
+Enable default widths for i, f and g format specifiers.
+
+fdec-intrinsic-ints
+Fortran Var(flag_dec_intrinsic_ints)
+Enable kind-specific variants of integer intrinsic functions.
+
+fdec-math
+Fortran Var(flag_dec_math)
+Enable legacy math intrinsics for compatibility.
+
+fdec-structure
+Fortran Var(flag_dec_structure)
+Enable support for DEC STRUCTURE/RECORD.
+
+fdec-static
+Fortran Var(flag_dec_static)
+Enable DEC-style STATIC and AUTOMATIC attributes.
 
 fdefault-double-8
-Fortran
-Set the default double precision kind to an 8 byte wide type
+Fortran Var(flag_default_double)
+Set the default double precision kind to an 8 byte wide type.
 
 fdefault-integer-8
-Fortran
-Set the default integer kind to an 8 byte wide type
+Fortran Var(flag_default_integer)
+Set the default integer kind to an 8 byte wide type.
 
 fdefault-real-8
-Fortran
-Set the default real kind to an 8 byte wide type
+Fortran Var(flag_default_real_8)
+Set the default real kind to an 8 byte wide type.
+
+fdefault-real-10
+Fortran Var(flag_default_real_10)
+Set the default real kind to an 10 byte wide type.
+
+fdefault-real-16
+Fortran Var(flag_default_real_16)
+Set the default real kind to an 16 byte wide type.
 
 fdollar-ok
-Fortran
-Allow dollar signs in entity names
+Fortran Var(flag_dollar_ok)
+Allow dollar signs in entity names.
 
 fdump-core
 Fortran Ignore
 Does nothing. Preserved for backward compatibility.
 
 fdump-fortran-original
-Fortran
-Display the code tree after parsing
+Fortran Var(flag_dump_fortran_original)
+Display the code tree after parsing.
 
 fdump-fortran-optimized
-Fortran
-Display the code tree after front end optimization
+Fortran Var(flag_dump_fortran_optimized)
+Display the code tree after front end optimization.
+
+fdump-fortran-global
+Fortran Var(flag_dump_fortran_global)
+Display the global symbol table after parsing.
 
 fdump-parse-tree
-Fortran
-Display the code tree after parsing; deprecated option
+Fortran Alias(fdump-fortran-original)
+Display the code tree after parsing; deprecated option.
 
 fexternal-blas
-Fortran
-Specify that an external BLAS library should be used for matmul calls on large-size arrays
+Fortran Var(flag_external_blas)
+Specify that an external BLAS library should be used for matmul calls on large-size arrays.
 
 ff2c
-Fortran
-Use f2c calling convention
+Fortran Var(flag_f2c)
+Use f2c calling convention.
 
 ffixed-form
 Fortran RejectNegative
-Assume that the source file is fixed form
+Assume that the source file is fixed form.
+
+ftest-forall-temp
+Fortran Var(flag_test_forall_temp) Init(0)
+Force creation of temporary to test infrequently-executed forall code.
 
 finteger-4-integer-8
-Fortran RejectNegative
-Interpret any INTEGER(4) as an INTEGER(8)
+Fortran RejectNegative Var(flag_integer4_kind,8)
+Interpret any INTEGER(4) as an INTEGER(8).
 
 fintrinsic-modules-path
 Fortran RejectNegative Separate
-Specify where to find the compiled intrinsic modules
+Specify where to find the compiled intrinsic modules.
 
 fintrinsic-modules-path=
 Fortran RejectNegative Joined
-Specify where to find the compiled intrinsic modules
+Specify where to find the compiled intrinsic modules.
 
 ffixed-line-length-none
-Fortran RejectNegative
-Allow arbitrary character line width in fixed mode
+Fortran RejectNegative Var(flag_fixed_line_length,0)
+Allow arbitrary character line width in fixed mode.
 
 ffixed-line-length-
-Fortran RejectNegative Joined UInteger
--ffixed-line-length-<n>        Use n as character line width in fixed mode
+Fortran RejectNegative Joined UInteger Var(flag_fixed_line_length) Init(72)
+-ffixed-line-length-<n>        Use n as character line width in fixed mode.
+
+fpad-source
+Fortran Var(flag_pad_source) Init(1)
+Pad shorter fixed form lines to line width with spaces.
 
 ffpe-trap=
 Fortran RejectNegative JoinedOrMissing
--ffpe-trap=[...]       Stop on following floating point exceptions
+-ffpe-trap=[...]       Stop on following floating point exceptions.
 
 ffpe-summary=
 Fortran RejectNegative JoinedOrMissing
--ffpe-summary=[...]    Print summary of floating point exceptions
+-ffpe-summary=[...]    Print summary of floating point exceptions.
 
 ffree-form
 Fortran RejectNegative
-Assume that the source file is free form
+Assume that the source file is free form.
 
 ffree-line-length-none
-Fortran RejectNegative
-Allow arbitrary character line width in free mode
+Fortran RejectNegative Var(flag_free_line_length,0)
+Allow arbitrary character line width in free mode.
 
 ffree-line-length-
-Fortran RejectNegative Joined UInteger
--ffree-line-length-<n> Use n as character line width in free mode
+Fortran RejectNegative Joined UInteger Var(flag_free_line_length) Init(132)
+-ffree-line-length-<n> Use n as character line width in free mode.
+
+ffrontend-loop-interchange
+Fortran Var(flag_frontend_loop_interchange) Init(-1)
+Try to interchange loops if profitable.
 
 ffrontend-optimize
-Fortran
-Enable front end optimization
+Fortran Var(flag_frontend_optimize) Init(-1)
+Enable front end optimization.
 
 fimplicit-none
-Fortran
-Specify that no implicit typing is allowed, unless overridden by explicit IMPLICIT statements
+Fortran Var(flag_implicit_none)
+Specify that no implicit typing is allowed, unless overridden by explicit IMPLICIT statements.
 
 finit-character=
 Fortran RejectNegative Joined UInteger
--finit-character=<n>   Initialize local character variables to ASCII value n
+-finit-character=<n>   Initialize local character variables to ASCII value n.
+
+finit-derived
+Fortran Var(flag_init_derived)
+Initialize components of derived type variables according to other init flags.
 
 finit-integer=
 Fortran RejectNegative Joined
--finit-integer=<n>     Initialize local integer variables to n
+-finit-integer=<n>     Initialize local integer variables to n.
 
 finit-local-zero
 Fortran
-Initialize local variables to zero (from g77)
+Initialize local variables to zero (from g77).
 
 finit-logical=
 Fortran RejectNegative Joined
--finit-logical=<true|false>    Initialize local logical variables
+-finit-logical=<true|false>    Initialize local logical variables.
 
 finit-real=
-Fortran RejectNegative Joined
--finit-real=<zero|nan|inf|-inf>        Initialize local real variables
+Fortran RejectNegative ToLower Joined Enum(gfc_init_local_real) Var(flag_init_real) Init(GFC_INIT_REAL_OFF)
+-finit-real=<zero|snan|nan|inf|-inf>   Initialize local real variables.
+
+Enum
+Name(gfc_init_local_real) Type(enum gfc_init_local_real) UnknownError(Unrecognized option to floating-point init value: %qs)
+
+EnumValue
+Enum(gfc_init_local_real) String(zero) Value(GFC_INIT_REAL_ZERO)
+
+EnumValue
+Enum(gfc_init_local_real) String(snan) Value(GFC_INIT_REAL_SNAN)
+
+EnumValue
+Enum(gfc_init_local_real) String(nan) Value(GFC_INIT_REAL_NAN)
+
+EnumValue
+Enum(gfc_init_local_real) String(inf) Value(GFC_INIT_REAL_INF)
+
+EnumValue
+Enum(gfc_init_local_real) String(-inf) Value(GFC_INIT_REAL_NEG_INF)
+
+finline-arg-packing
+Fortran  Var(flag_inline_arg_packing) Init(-1)
+-finline-arg-packing   Perform argument packing inline.
+
+finline-matmul-limit=
+Fortran RejectNegative Joined UInteger Var(flag_inline_matmul_limit) Init(-1)
+-finline-matmul-limit=<n>      Specify the size of the largest matrix for which matmul will be inlined.
 
 fmax-array-constructor=
-Fortran RejectNegative Joined UInteger
--fmax-array-constructor=<n>    Maximum number of objects in an array constructor
+Fortran RejectNegative Joined UInteger Var(flag_max_array_constructor) Init(65535)
+-fmax-array-constructor=<n>    Maximum number of objects in an array constructor.
 
 fmax-identifier-length=
 Fortran RejectNegative Joined UInteger
--fmax-identifier-length=<n>    Maximum identifier length
+-fmax-identifier-length=<n>    Maximum identifier length.
 
 fmax-subrecord-length=
-Fortran RejectNegative Joined UInteger
--fmax-subrecord-length=<n>     Maximum length for subrecords
+Fortran RejectNegative Joined UInteger Var(flag_max_subrecord_length)
+-fmax-subrecord-length=<n>     Maximum length for subrecords.
 
 fmax-stack-var-size=
-Fortran RejectNegative Joined UInteger
--fmax-stack-var-size=<n>       Size in bytes of the largest array that will be put on the stack
+Fortran RejectNegative Joined UInteger Var(flag_max_stack_var_size) Init(-2)
+-fmax-stack-var-size=<n>       Size in bytes of the largest array that will be put on the stack.
 
 fstack-arrays
-Fortran
+Fortran Var(flag_stack_arrays) Init(-1)
 Put all local arrays on stack.
 
 fmodule-private
-Fortran
+Fortran Var(flag_module_private)
 Set default accessibility of module entities to PRIVATE.
 
+fopenacc
+Fortran LTO
+; Documented in C
+
+fopenacc-dim=
+Fortran LTO Joined Var(flag_openacc_dims)
+; Documented in C
+
+fopenacc-kernels=
+Fortran RejectNegative Joined Enum(openacc_kernels) Var(flag_openacc_kernels) Init(OPENACC_KERNELS_PARLOOPS)
+; Documented in C
+
 fopenmp
-Fortran
+Fortran LTO
 ; Documented in C
 
 fopenmp-simd
@@ -546,88 +704,111 @@ Fortran
 ; Documented in C
 
 fpack-derived
-Fortran
-Try to lay out derived types as compactly as possible
+Fortran Var(flag_pack_derived)
+Try to lay out derived types as compactly as possible.
 
 fpreprocessed
 Fortran
 ; Documented in C
 
 fprotect-parens
-Fortran
-Protect parentheses in expressions
+Fortran Var(flag_protect_parens) Init(-1)
+Protect parentheses in expressions.
+
+fpre-include=
+Fortran RejectNegative Joined Var(flag_pre_include) Undocumented
+Path to header file that should be pre-included before each compilation unit.
 
 frange-check
-Fortran
-Enable range checking during compilation
+Fortran Var(flag_range_check) Init(1)
+Enable range checking during compilation.
 
 freal-4-real-8
-Fortran RejectNegative
-Interpret any REAL(4) as a REAL(8)
+Fortran RejectNegative Var(flag_real4_kind,8)
+Interpret any REAL(4) as a REAL(8).
 
 freal-4-real-10
-Fortran RejectNegative
-Interpret any REAL(4) as a REAL(10)
+Fortran RejectNegative Var(flag_real4_kind,10)
+Interpret any REAL(4) as a REAL(10).
 
 freal-4-real-16
-Fortran RejectNegative
-Interpret any REAL(4) as a REAL(16)
+Fortran RejectNegative Var(flag_real4_kind,16)
+Interpret any REAL(4) as a REAL(16).
 
 freal-8-real-4
-Fortran RejectNegative
-Interpret any REAL(8) as a REAL(4)
+Fortran RejectNegative Var(flag_real8_kind,4)
+Interpret any REAL(8) as a REAL(4).
 
 freal-8-real-10
-Fortran RejectNegative
-Interpret any REAL(8) as a REAL(10)
+Fortran RejectNegative Var(flag_real8_kind,10)
+Interpret any REAL(8) as a REAL(10).
 
 freal-8-real-16
-Fortran RejectNegative
-Interpret any REAL(8) as a REAL(16)
+Fortran RejectNegative Var(flag_real8_kind,16)
+Interpret any REAL(8) as a REAL(16).
 
 frealloc-lhs
-Fortran
-Reallocate the LHS in assignments
+Fortran Var(flag_realloc_lhs) Init(-1)
+Reallocate the LHS in assignments.
 
 frecord-marker=4
-Fortran RejectNegative
-Use a 4-byte record marker for unformatted files
+Fortran RejectNegative Var(flag_record_marker,4)
+Use a 4-byte record marker for unformatted files.
 
 frecord-marker=8
-Fortran RejectNegative
-Use an 8-byte record marker for unformatted files
+Fortran RejectNegative Var(flag_record_marker,8)
+Use an 8-byte record marker for unformatted files.
 
 frecursive
-Fortran
-Allocate local variables on the stack to allow indirect recursion
+Fortran Var(flag_recursive)
+Allocate local variables on the stack to allow indirect recursion.
 
 frepack-arrays
-Fortran
-Copy array sections into a contiguous block on procedure entry
+Fortran Var(flag_repack_arrays)
+Copy array sections into a contiguous block on procedure entry.
 
 fcoarray=
-Fortran RejectNegative JoinedOrMissing
--fcoarray=[...]        Specify which coarray parallelization should be used
+Fortran RejectNegative Joined Enum(gfc_fcoarray) Var(flag_coarray) Init(GFC_FCOARRAY_NONE)
+-fcoarray=<none|single|lib>    Specify which coarray parallelization should be used.
+
+Enum
+Name(gfc_fcoarray) Type(enum gfc_fcoarray) UnknownError(Unrecognized option: %qs)
+
+EnumValue
+Enum(gfc_fcoarray) String(none) Value(GFC_FCOARRAY_NONE)
+
+EnumValue
+Enum(gfc_fcoarray) String(single) Value(GFC_FCOARRAY_SINGLE)
+
+EnumValue
+Enum(gfc_fcoarray) String(lib) Value(GFC_FCOARRAY_LIB)
 
 fcheck=
 Fortran RejectNegative JoinedOrMissing
--fcheck=[...]  Specify which runtime checks are to be performed
+-fcheck=[...]  Specify which runtime checks are to be performed.
 
 fsecond-underscore
-Fortran
-Append a second underscore if the name already contains an underscore
+Fortran Var(flag_second_underscore) Init(-1)
+Append a second underscore if the name already contains an underscore.
 
 fshort-enums
 Fortran Var(flag_short_enums)
 ; Documented in C
 
 fsign-zero
-Fortran
-Apply negative sign to zero values
+Fortran Var(flag_sign_zero) Init(1)
+Apply negative sign to zero values.
+
+ftail-call-workaround
+Fortran Alias(ftail-call-workaround=,1,0)
+
+ftail-call-workaround=
+Fortran RejectNegative Joined UInteger IntegerRange(0, 2) Var(flag_tail_call_workaround) Init(1)
+Disallow tail call optimization when a calling routine may have omitted character lengths.
 
 funderscoring
-Fortran
-Append underscores to externally visible names
+Fortran Var(flag_underscoring) Init(1)
+Append underscores to externally visible names.
 
 fwhole-file
 Fortran Ignore
@@ -671,31 +852,35 @@ Fortran Joined Separate
 
 static-libgfortran
 Fortran
-Statically link the GNU Fortran helper library (libgfortran)
+Statically link the GNU Fortran helper library (libgfortran).
 
 std=f2003
 Fortran
-Conform to the ISO Fortran 2003 standard
+Conform to the ISO Fortran 2003 standard.
 
 std=f2008
 Fortran
-Conform to the ISO Fortran 2008 standard
+Conform to the ISO Fortran 2008 standard.
 
 std=f2008ts
 Fortran
-Conform to the ISO Fortran 2008 standard including TS 29113
+Conform to the ISO Fortran 2008 standard including TS 29113.
+
+std=f2018
+Fortran
+Conform to the ISO Fortran 2018 standard.
 
 std=f95
 Fortran
-Conform to the ISO Fortran 95 standard
+Conform to the ISO Fortran 95 standard.
 
 std=gnu
 Fortran
-Conform to nothing in particular
+Conform to nothing in particular.
 
 std=legacy
 Fortran
-Accept extensions to support legacy code
+Accept extensions to support legacy code.
 
 undef
 Fortran