; Options for the Fortran front end. ; Copyright (C) 2003-2022 Free Software Foundation, Inc. ; ; This file is part of GCC. ; ; GCC is free software; you can redistribute it and/or modify it under ; the terms of the GNU General Public License as published by the Free ; Software Foundation; either version 3, or (at your option) any later ; version. ; ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY ; WARRANTY; without even the implied warranty of MERCHANTABILITY or ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ; for more details. ; ; You should have received a copy of the GNU General Public License ; along with GCC; see the file COPYING3. If not see ; . ; See the GCC internals manual for a description of this file's format. ; Please try to keep this file in ASCII collating order. Language Fortran -all-warnings Fortran Alias(Wall) -assert Fortran Separate Alias(A) -assert= Fortran Joined Alias(A) -comments Fortran Alias(C) -comments-in-macros Fortran Alias(CC) -define-macro Fortran Separate Alias(D) -define-macro= Fortran Joined Alias(D) -dependencies Fortran Alias(M) -dump Fortran Separate Alias(d) -dump= Fortran Joined Alias(d) -include-barrier Fortran Alias(I, -) -include-directory Fortran Separate Alias(I) -include-directory= Fortran Joined Alias(I) -include-directory-after Fortran Separate Alias(idirafter) -include-directory-after= Fortran Joined Alias(idirafter) -include-prefix Fortran Separate Alias(iprefix) -include-prefix= Fortran JoinedOrMissing Alias(iprefix) -no-line-commands Fortran Alias(P) -no-standard-includes Fortran Alias(nostdinc) -output Fortran Separate Alias(o) -output= Fortran Joined Alias(o) -preprocess Fortran Undocumented Alias(E) -print-missing-file-dependencies Fortran Alias(MG) -trace-includes Fortran Alias(H) -undefine-macro Fortran Separate Alias(U) -undefine-macro= Fortran Joined Alias(U) -user-dependencies Fortran Alias(MM) -verbose Fortran Alias(v) -write-dependencies Fortran NoDriverArg Separate Alias(MD) -write-user-dependencies Fortran NoDriverArg Separate Alias(MMD) A Fortran Joined Separate ; Documented in C C Fortran ; Documented in C CC Fortran ; Documented in C D Fortran Joined Separate ; Documented in C E Fortran Undocumented H Fortran ; Documented in C I Fortran Joined Separate ; Documented in C J Fortran Joined Separate -J Put MODULE files in 'directory'. M Fortran ; Documented in C MD Fortran Separate NoDriverArg ; Documented in C MF Fortran Joined Separate ; Documented in C MG Fortran ; Documented in C MM Fortran ; Documented in C MMD Fortran Separate NoDriverArg ; Documented in C MP Fortran ; Documented in C MT Fortran Joined Separate ; Documented in C MQ Fortran Joined Separate ; Documented in C P Fortran ; Documented in C U Fortran Joined Separate ; Documented in C Wall Fortran ; Documented in C Waliasing Fortran Warning Var(warn_aliasing) LangEnabledBy(Fortran,Wall) Warn about possible aliasing of dummy arguments. Walign-commons Fortran Warning Var(warn_align_commons) Init(1) Warn about alignment of COMMON blocks. Wampersand Fortran Warning Var(warn_ampersand) LangEnabledBy(Fortran,Wall || Wpedantic) Warn about missing ampersand in continued character constants. Warray-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. Wdate-time Fortran ; Documented in C Wcharacter-truncation Fortran Var(warn_character_truncation) Warning LangEnabledBy(Fortran,Wall) Warn about truncated character expressions. Wcompare-reals 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) ; Documented in C Wconversion-extra Fortran Var(warn_conversion_extra) Warning 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 ; Documented in common Wfrontend-loop-interchange Fortran Var(flag_warn_frontend_loop_interchange) Warn if loops have been interchanged. Wfunction-elimination Fortran Warning Var(warn_function_elimination) LangEnabledBy(Fortran,Wextra) Warn about function call elimination. Wimplicit-interface Fortran Warning Var(warn_implicit_interface) Warn about calls with implicit interface. Wimplicit-procedure 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 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. Wmaybe-uninitialized Fortran LangEnabledBy(Fortran,Wall) ; Documented in common.opt Wmissing-include-dirs Fortran ; Documented in C/C++ Wuse-without-only Fortran Var(warn_use_without_only) Warning Warn about USE statements that have no ONLY qualifier. Wopenacc-parallelism Fortran ; Documented in C 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 Var(warn_real_q_constant) LangEnabledBy(Fortran,Wall) Warn about real-literal-constants with 'q' exponent-letter. Wrealloc-lhs 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 Var(warn_realloc_lhs_all) Warn when a left-hand-side variable is reallocated. Wtarget-lifetime 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 LangEnabledBy(Fortran,Wall) ; Documented in C Wsurprising Fortran Warning Var(warn_surprising) LangEnabledBy(Fortran,Wall) Warn about \"suspicious\" constructs. Wtabs Fortran Warning Var(warn_tabs) LangEnabledBy(Fortran,Wall || Wpedantic) Permit nonconforming uses of the tab character. Wundefined-do-loop Fortran Warning Var(warn_undefined_do_loop) LangEnabledBy(Fortran,Wall) Warn about an invalid DO loop. Wunderflow 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 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 Var(warn_unused_dummy_argument) LangEnabledBy(Fortran,Wall) Warn about unused dummy arguments. Wzerotrip Fortran Warning Var(warn_zerotrip) LangEnabledBy(Fortran,Wall) Warn about zero-trip DO loops. cpp Fortran Negative(nocpp) Enable preprocessing. cpp= Fortran Joined Negative(nocpp) Undocumented NoDWARFRecord ; Internal option generated by specs from -cpp. nocpp Fortran Negative(cpp) 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 Var(flag_aggressive_function_elimination) Eliminate multiple function invocations also for impure functions. falign-commons Fortran Var(flag_align_commons) Init(1) Enable alignment of COMMON blocks. fall-intrinsics 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 Var(flag_allow_leading_underscore) ; For internal use only: allow the first character of symbol names to be an underscore fautomatic Fortran Var(flag_automatic) Init(1) Do not treat local variables and COMMON blocks as if they were named in SAVE statements. fbackslash Fortran Var(flag_backslash) Specify that backslash in string introduces an escape character. fbacktrace Fortran Var(flag_backtrace) Init(1) Produce a backtrace when a runtime error is encountered. fblas-matmul-limit= Fortran RejectNegative Joined UInteger Var(flag_blas_matmul_limit) Init(30) -fblas-matmul-limit= 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. fconvert= Fortran RejectNegative Joined Enum(gfc_convert) Var(flag_convert) Init(GFC_FLAG_CONVERT_NATIVE) -fconvert= The endianness used for unformatted files. Enum Name(gfc_convert) Type(enum gfc_convert) UnknownError(Unrecognized option to endianness value: %qs) EnumValue Enum(gfc_convert) String(big-endian) Value(GFC_FLAG_CONVERT_BIG) 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 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. fd-lines-as-comments Fortran RejectNegative 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 Var(flag_default_double) Set the default double precision kind to an 8 byte wide type. fdefault-integer-8 Fortran Var(flag_default_integer) Set the default integer kind to an 8 byte wide type. fdefault-real-8 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 Var(flag_dollar_ok) Allow dollar signs in entity names. fdump-core Fortran Ignore Does nothing. Preserved for backward compatibility. fdump-fortran-original Fortran Var(flag_dump_fortran_original) Display the code tree after parsing. fdump-fortran-optimized 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 Alias(fdump-fortran-original) Display the code tree after parsing; deprecated option. fexternal-blas Fortran Var(flag_external_blas) Specify that an external BLAS library should be used for matmul calls on large-size arrays. ff2c Fortran Var(flag_f2c) Use f2c calling convention. ffixed-form Fortran RejectNegative 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 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. fintrinsic-modules-path= Fortran RejectNegative Joined Specify where to find the compiled intrinsic modules. ffixed-line-length-none Fortran RejectNegative Var(flag_fixed_line_length,0) Allow arbitrary character line width in fixed mode. ffixed-line-length- Fortran RejectNegative Joined UInteger Var(flag_fixed_line_length) Init(72) -ffixed-line-length- 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-summary= Fortran RejectNegative JoinedOrMissing -ffpe-summary=[...] Print summary of floating point exceptions. ffree-form Fortran RejectNegative Assume that the source file is free form. ffree-line-length-none Fortran RejectNegative Var(flag_free_line_length,0) Allow arbitrary character line width in free mode. ffree-line-length- Fortran RejectNegative Joined UInteger Var(flag_free_line_length) Init(132) -ffree-line-length- 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 Var(flag_frontend_optimize) Init(-1) Enable front end optimization. fimplicit-none 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= 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= Initialize local integer variables to n. finit-local-zero Fortran Initialize local variables to zero (from g77). finit-logical= Fortran RejectNegative Joined -finit-logical= Initialize local logical variables. finit-real= Fortran RejectNegative ToLower Joined Enum(gfc_init_local_real) Var(flag_init_real) Init(GFC_INIT_REAL_OFF) -finit-real= 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= Specify the size of the largest matrix for which matmul will be inlined. fmax-array-constructor= Fortran RejectNegative Joined UInteger Var(flag_max_array_constructor) Init(65535) -fmax-array-constructor= Maximum number of objects in an array constructor. fmax-identifier-length= Fortran RejectNegative Joined UInteger -fmax-identifier-length= Maximum identifier length. fmax-subrecord-length= Fortran RejectNegative Joined UInteger Var(flag_max_subrecord_length) -fmax-subrecord-length= Maximum length for subrecords. fmax-stack-var-size= Fortran RejectNegative Joined UInteger Var(flag_max_stack_var_size) Init(-2) -fmax-stack-var-size= Size in bytes of the largest array that will be put on the stack. fstack-arrays Fortran Var(flag_stack_arrays) Init(-1) Put all local arrays on stack. fmodule-private 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 fopenmp Fortran LTO ; Documented in C fopenmp-simd Fortran ; Documented in C fpack-derived Fortran Var(flag_pack_derived) Try to lay out derived types as compactly as possible. fpreprocessed Fortran ; Documented in C fprotect-parens 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 Var(flag_range_check) Init(1) Enable range checking during compilation. freal-4-real-8 Fortran RejectNegative Var(flag_real4_kind,8) Interpret any REAL(4) as a REAL(8). freal-4-real-10 Fortran RejectNegative Var(flag_real4_kind,10) Interpret any REAL(4) as a REAL(10). freal-4-real-16 Fortran RejectNegative Var(flag_real4_kind,16) Interpret any REAL(4) as a REAL(16). freal-8-real-4 Fortran RejectNegative Var(flag_real8_kind,4) Interpret any REAL(8) as a REAL(4). freal-8-real-10 Fortran RejectNegative Var(flag_real8_kind,10) Interpret any REAL(8) as a REAL(10). freal-8-real-16 Fortran RejectNegative Var(flag_real8_kind,16) Interpret any REAL(8) as a REAL(16). frealloc-lhs Fortran Var(flag_realloc_lhs) Init(-1) Reallocate the LHS in assignments. frecord-marker=4 Fortran RejectNegative Var(flag_record_marker,4) Use a 4-byte record marker for unformatted files. frecord-marker=8 Fortran RejectNegative Var(flag_record_marker,8) Use an 8-byte record marker for unformatted files. frecursive Fortran Var(flag_recursive) Allocate local variables on the stack to allow indirect recursion. frepack-arrays Fortran Var(flag_repack_arrays) Copy array sections into a contiguous block on procedure entry. fcoarray= Fortran RejectNegative Joined Enum(gfc_fcoarray) Var(flag_coarray) Init(GFC_FCOARRAY_NONE) -fcoarray= 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. fsecond-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 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 Var(flag_underscoring) Init(1) Append underscores to externally visible names. fwhole-file Fortran Ignore Does nothing. Preserved for backward compatibility. fworking-directory Fortran ; Documented in C idirafter Fortran Joined Separate ; Documented in C imultilib Fortran Joined Separate ; Documented in C iprefix Fortran Joined Separate ; Documented in C iquote Fortran Joined Separate ; Documented in C isysroot Fortran Joined Separate ; Documented in C isystem Fortran Joined Separate ; Documented in C nostdinc Fortran ; Documented in C o Fortran Joined Separate ; Documented in common.opt static-libgfortran Fortran Statically link the GNU Fortran helper library (libgfortran). std=f2003 Fortran Conform to the ISO Fortran 2003 standard. std=f2008 Fortran Conform to the ISO Fortran 2008 standard. std=f2008ts Fortran 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. std=gnu Fortran Conform to nothing in particular. std=legacy Fortran Accept extensions to support legacy code. undef Fortran ; Documented in C v Fortran ; Documented in C ; This comment is to ensure we retain the blank line above.