1*38fd1498Szrj; Options for the Fortran front end. 2*38fd1498Szrj; Copyright (C) 2003-2018 Free Software Foundation, Inc. 3*38fd1498Szrj; 4*38fd1498Szrj; This file is part of GCC. 5*38fd1498Szrj; 6*38fd1498Szrj; GCC is free software; you can redistribute it and/or modify it under 7*38fd1498Szrj; the terms of the GNU General Public License as published by the Free 8*38fd1498Szrj; Software Foundation; either version 3, or (at your option) any later 9*38fd1498Szrj; version. 10*38fd1498Szrj; 11*38fd1498Szrj; GCC is distributed in the hope that it will be useful, but WITHOUT ANY 12*38fd1498Szrj; WARRANTY; without even the implied warranty of MERCHANTABILITY or 13*38fd1498Szrj; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14*38fd1498Szrj; for more details. 15*38fd1498Szrj; 16*38fd1498Szrj; You should have received a copy of the GNU General Public License 17*38fd1498Szrj; along with GCC; see the file COPYING3. If not see 18*38fd1498Szrj; <http://www.gnu.org/licenses/>. 19*38fd1498Szrj 20*38fd1498Szrj; See the GCC internals manual for a description of this file's format. 21*38fd1498Szrj 22*38fd1498Szrj; Please try to keep this file in ASCII collating order. 23*38fd1498Szrj 24*38fd1498SzrjLanguage 25*38fd1498SzrjFortran 26*38fd1498Szrj 27*38fd1498Szrj-all-warnings 28*38fd1498SzrjFortran Alias(Wall) 29*38fd1498Szrj 30*38fd1498Szrj-assert 31*38fd1498SzrjFortran Separate Alias(A) 32*38fd1498Szrj 33*38fd1498Szrj-assert= 34*38fd1498SzrjFortran Joined Alias(A) 35*38fd1498Szrj 36*38fd1498Szrj-comments 37*38fd1498SzrjFortran Alias(C) 38*38fd1498Szrj 39*38fd1498Szrj-comments-in-macros 40*38fd1498SzrjFortran Alias(CC) 41*38fd1498Szrj 42*38fd1498Szrj-define-macro 43*38fd1498SzrjFortran Separate Alias(D) 44*38fd1498Szrj 45*38fd1498Szrj-define-macro= 46*38fd1498SzrjFortran Joined Alias(D) 47*38fd1498Szrj 48*38fd1498Szrj-dependencies 49*38fd1498SzrjFortran Alias(M) 50*38fd1498Szrj 51*38fd1498Szrj-dump 52*38fd1498SzrjFortran Separate Alias(d) 53*38fd1498Szrj 54*38fd1498Szrj-dump= 55*38fd1498SzrjFortran Joined Alias(d) 56*38fd1498Szrj 57*38fd1498Szrj-include-barrier 58*38fd1498SzrjFortran Alias(I, -) 59*38fd1498Szrj 60*38fd1498Szrj-include-directory 61*38fd1498SzrjFortran Separate Alias(I) 62*38fd1498Szrj 63*38fd1498Szrj-include-directory= 64*38fd1498SzrjFortran Joined Alias(I) 65*38fd1498Szrj 66*38fd1498Szrj-include-directory-after 67*38fd1498SzrjFortran Separate Alias(idirafter) 68*38fd1498Szrj 69*38fd1498Szrj-include-directory-after= 70*38fd1498SzrjFortran Joined Alias(idirafter) 71*38fd1498Szrj 72*38fd1498Szrj-include-prefix 73*38fd1498SzrjFortran Separate Alias(iprefix) 74*38fd1498Szrj 75*38fd1498Szrj-include-prefix= 76*38fd1498SzrjFortran JoinedOrMissing Alias(iprefix) 77*38fd1498Szrj 78*38fd1498Szrj-no-line-commands 79*38fd1498SzrjFortran Alias(P) 80*38fd1498Szrj 81*38fd1498Szrj-no-standard-includes 82*38fd1498SzrjFortran Alias(nostdinc) 83*38fd1498Szrj 84*38fd1498Szrj-output 85*38fd1498SzrjFortran Separate Alias(o) 86*38fd1498Szrj 87*38fd1498Szrj-output= 88*38fd1498SzrjFortran Joined Alias(o) 89*38fd1498Szrj 90*38fd1498Szrj-preprocess 91*38fd1498SzrjFortran Undocumented Alias(E) 92*38fd1498Szrj 93*38fd1498Szrj-print-missing-file-dependencies 94*38fd1498SzrjFortran Alias(MG) 95*38fd1498Szrj 96*38fd1498Szrj-trace-includes 97*38fd1498SzrjFortran Alias(H) 98*38fd1498Szrj 99*38fd1498Szrj-undefine-macro 100*38fd1498SzrjFortran Separate Alias(U) 101*38fd1498Szrj 102*38fd1498Szrj-undefine-macro= 103*38fd1498SzrjFortran Joined Alias(U) 104*38fd1498Szrj 105*38fd1498Szrj-user-dependencies 106*38fd1498SzrjFortran Alias(MM) 107*38fd1498Szrj 108*38fd1498Szrj-verbose 109*38fd1498SzrjFortran Alias(v) 110*38fd1498Szrj 111*38fd1498Szrj-write-dependencies 112*38fd1498SzrjFortran NoDriverArg Separate Alias(MD) 113*38fd1498Szrj 114*38fd1498Szrj-write-user-dependencies 115*38fd1498SzrjFortran NoDriverArg Separate Alias(MMD) 116*38fd1498Szrj 117*38fd1498SzrjA 118*38fd1498SzrjFortran Joined Separate 119*38fd1498Szrj; Documented in C 120*38fd1498Szrj 121*38fd1498SzrjC 122*38fd1498SzrjFortran 123*38fd1498Szrj; Documented in C 124*38fd1498Szrj 125*38fd1498SzrjCC 126*38fd1498SzrjFortran 127*38fd1498Szrj; Documented in C 128*38fd1498Szrj 129*38fd1498SzrjD 130*38fd1498SzrjFortran Joined Separate 131*38fd1498Szrj; Documented in C 132*38fd1498Szrj 133*38fd1498SzrjE 134*38fd1498SzrjFortran Undocumented 135*38fd1498Szrj 136*38fd1498SzrjH 137*38fd1498SzrjFortran 138*38fd1498Szrj; Documented in C 139*38fd1498Szrj 140*38fd1498SzrjI 141*38fd1498SzrjFortran Joined Separate 142*38fd1498Szrj; Documented in C 143*38fd1498Szrj 144*38fd1498SzrjJ 145*38fd1498SzrjFortran Joined Separate 146*38fd1498Szrj-J<directory> Put MODULE files in 'directory'. 147*38fd1498Szrj 148*38fd1498SzrjM 149*38fd1498SzrjFortran 150*38fd1498Szrj; Documented in C 151*38fd1498Szrj 152*38fd1498SzrjMD 153*38fd1498SzrjFortran Separate NoDriverArg 154*38fd1498Szrj; Documented in C 155*38fd1498Szrj 156*38fd1498SzrjMF 157*38fd1498SzrjFortran Joined Separate 158*38fd1498Szrj; Documented in C 159*38fd1498Szrj 160*38fd1498SzrjMG 161*38fd1498SzrjFortran 162*38fd1498Szrj; Documented in C 163*38fd1498Szrj 164*38fd1498SzrjMM 165*38fd1498SzrjFortran 166*38fd1498Szrj; Documented in C 167*38fd1498Szrj 168*38fd1498SzrjMMD 169*38fd1498SzrjFortran Separate NoDriverArg 170*38fd1498Szrj; Documented in C 171*38fd1498Szrj 172*38fd1498SzrjMP 173*38fd1498SzrjFortran 174*38fd1498Szrj; Documented in C 175*38fd1498Szrj 176*38fd1498SzrjMT 177*38fd1498SzrjFortran Joined Separate 178*38fd1498Szrj; Documented in C 179*38fd1498Szrj 180*38fd1498SzrjMQ 181*38fd1498SzrjFortran Joined Separate 182*38fd1498Szrj; Documented in C 183*38fd1498Szrj 184*38fd1498SzrjP 185*38fd1498SzrjFortran 186*38fd1498Szrj; Documented in C 187*38fd1498Szrj 188*38fd1498SzrjU 189*38fd1498SzrjFortran Joined Separate 190*38fd1498Szrj; Documented in C 191*38fd1498Szrj 192*38fd1498SzrjWall 193*38fd1498SzrjFortran 194*38fd1498Szrj; Documented in C 195*38fd1498Szrj 196*38fd1498SzrjWaliasing 197*38fd1498SzrjFortran Warning Var(warn_aliasing) LangEnabledBy(Fortran,Wall) 198*38fd1498SzrjWarn about possible aliasing of dummy arguments. 199*38fd1498Szrj 200*38fd1498SzrjWalign-commons 201*38fd1498SzrjFortran Warning Var(warn_align_commons) Init(1) 202*38fd1498SzrjWarn about alignment of COMMON blocks. 203*38fd1498Szrj 204*38fd1498SzrjWampersand 205*38fd1498SzrjFortran Warning Var(warn_ampersand) LangEnabledBy(Fortran,Wall || Wpedantic) 206*38fd1498SzrjWarn about missing ampersand in continued character constants. 207*38fd1498Szrj 208*38fd1498SzrjWarray-temporaries 209*38fd1498SzrjFortran Warning Var(warn_array_temporaries) 210*38fd1498SzrjWarn about creation of array temporaries. 211*38fd1498Szrj 212*38fd1498SzrjWargument-mismatch 213*38fd1498SzrjFortran Warning Var(warn_argument_mismatch) Init(1) 214*38fd1498SzrjWarn about type and rank mismatches between arguments and parameters. 215*38fd1498Szrj 216*38fd1498SzrjWc-binding-type 217*38fd1498SzrjFortran Var(warn_c_binding_type) Warning LangEnabledBy(Fortran,Wall) 218*38fd1498SzrjWarn if the type of a variable might be not interoperable with C. 219*38fd1498Szrj 220*38fd1498SzrjWdate-time 221*38fd1498SzrjFortran 222*38fd1498Szrj; Documented in C 223*38fd1498Szrj 224*38fd1498SzrjWcharacter-truncation 225*38fd1498SzrjFortran Var(warn_character_truncation) Warning LangEnabledBy(Fortran,Wall) 226*38fd1498SzrjWarn about truncated character expressions. 227*38fd1498Szrj 228*38fd1498SzrjWcompare-reals 229*38fd1498SzrjFortran Warning Var(warn_compare_reals) LangEnabledBy(Fortran,Wextra) 230*38fd1498SzrjWarn about equality comparisons involving REAL or COMPLEX expressions. 231*38fd1498Szrj 232*38fd1498SzrjWconversion 233*38fd1498SzrjFortran Var(warn_conversion) Warning LangEnabledBy(Fortran,Wall) 234*38fd1498Szrj; Documented in C 235*38fd1498Szrj 236*38fd1498SzrjWconversion-extra 237*38fd1498SzrjFortran Var(warn_conversion_extra) Warning 238*38fd1498SzrjWarn about most implicit conversions. 239*38fd1498Szrj 240*38fd1498SzrjWdo-subscript 241*38fd1498SzrjFortran Var(warn_do_subscript) Warning LangEnabledBy(Fortran,Wextra) 242*38fd1498SzrjWarn about possibly incorrect subscripts in do loops. 243*38fd1498Szrj 244*38fd1498SzrjWextra 245*38fd1498SzrjFortran Warning 246*38fd1498Szrj; Documented in common 247*38fd1498Szrj 248*38fd1498SzrjWfrontend-loop-interchange 249*38fd1498SzrjFortran Var(flag_warn_frontend_loop_interchange) 250*38fd1498SzrjWarn if loops have been interchanged. 251*38fd1498Szrj 252*38fd1498SzrjWfunction-elimination 253*38fd1498SzrjFortran Warning Var(warn_function_elimination) 254*38fd1498SzrjWarn about function call elimination. 255*38fd1498Szrj 256*38fd1498SzrjWimplicit-interface 257*38fd1498SzrjFortran Warning Var(warn_implicit_interface) 258*38fd1498SzrjWarn about calls with implicit interface. 259*38fd1498Szrj 260*38fd1498SzrjWimplicit-procedure 261*38fd1498SzrjFortran Warning Var(warn_implicit_procedure) 262*38fd1498SzrjWarn about called procedures not explicitly declared. 263*38fd1498Szrj 264*38fd1498SzrjWinteger-division 265*38fd1498SzrjFortran Warning Var(warn_integer_division) LangEnabledBy(Fortran,Wall) 266*38fd1498SzrjWarn about constant integer divisions with truncated results. 267*38fd1498Szrj 268*38fd1498SzrjWline-truncation 269*38fd1498SzrjFortran Warning Var(warn_line_truncation) LangEnabledBy(Fortran,Wall) Init(-1) 270*38fd1498SzrjWarn about truncated source lines. 271*38fd1498Szrj 272*38fd1498SzrjWintrinsics-std 273*38fd1498SzrjFortran Var(warn_intrinsics_std) Warning LangEnabledBy(Fortran,Wall) 274*38fd1498SzrjWarn on intrinsics not part of the selected standard. 275*38fd1498Szrj 276*38fd1498SzrjWmaybe-uninitialized 277*38fd1498SzrjFortran LangEnabledBy(Fortran,Wall) 278*38fd1498Szrj; Documented in common.opt 279*38fd1498Szrj 280*38fd1498SzrjWmissing-include-dirs 281*38fd1498SzrjFortran 282*38fd1498Szrj; Documented in C/C++ 283*38fd1498Szrj 284*38fd1498SzrjWuse-without-only 285*38fd1498SzrjFortran Var(warn_use_without_only) Warning 286*38fd1498SzrjWarn about USE statements that have no ONLY qualifier. 287*38fd1498Szrj 288*38fd1498SzrjWopenmp-simd 289*38fd1498SzrjFortran 290*38fd1498Szrj; Documented in C 291*38fd1498Szrj 292*38fd1498SzrjWpedantic 293*38fd1498SzrjFortran 294*38fd1498Szrj; Documented in common.opt 295*38fd1498Szrj 296*38fd1498SzrjWreal-q-constant 297*38fd1498SzrjFortran Warning Var(warn_real_q_constant) LangEnabledBy(Fortran,Wall) 298*38fd1498SzrjWarn about real-literal-constants with 'q' exponent-letter. 299*38fd1498Szrj 300*38fd1498SzrjWrealloc-lhs 301*38fd1498SzrjFortran Warning Var(warn_realloc_lhs) LangEnabledBy(Fortran,Wrealloc-lhs-all) 302*38fd1498SzrjWarn when a left-hand-side array variable is reallocated. 303*38fd1498Szrj 304*38fd1498SzrjWrealloc-lhs-all 305*38fd1498SzrjFortran Warning Var(warn_realloc_lhs_all) 306*38fd1498SzrjWarn when a left-hand-side variable is reallocated. 307*38fd1498Szrj 308*38fd1498SzrjWtarget-lifetime 309*38fd1498SzrjFortran Warning Var(warn_target_lifetime) LangEnabledBy(Fortran,Wall) 310*38fd1498SzrjWarn if the pointer in a pointer assignment might outlive its target. 311*38fd1498Szrj 312*38fd1498SzrjWreturn-type 313*38fd1498SzrjFortran Warning LangEnabledBy(Fortran,Wall) 314*38fd1498Szrj; Documented in C 315*38fd1498Szrj 316*38fd1498SzrjWsurprising 317*38fd1498SzrjFortran Warning Var(warn_surprising) LangEnabledBy(Fortran,Wall) 318*38fd1498SzrjWarn about \"suspicious\" constructs. 319*38fd1498Szrj 320*38fd1498SzrjWtabs 321*38fd1498SzrjFortran Warning Var(warn_tabs) LangEnabledBy(Fortran,Wall || Wpedantic) 322*38fd1498SzrjPermit nonconforming uses of the tab character. 323*38fd1498Szrj 324*38fd1498SzrjWundefined-do-loop 325*38fd1498SzrjFortran Warning Var(warn_undefined_do_loop) LangEnabledBy(Fortran,Wall) 326*38fd1498SzrjWarn about an invalid DO loop. 327*38fd1498Szrj 328*38fd1498SzrjWunderflow 329*38fd1498SzrjFortran Warning Var(warn_underflow) Init(1) 330*38fd1498SzrjWarn about underflow of numerical constant expressions. 331*38fd1498Szrj 332*38fd1498SzrjWuninitialized 333*38fd1498SzrjFortran LangEnabledBy(Fortran,Wall) 334*38fd1498Szrj; Documented in common.opt 335*38fd1498Szrj 336*38fd1498SzrjWintrinsic-shadow 337*38fd1498SzrjFortran Warning Var(warn_intrinsic_shadow) LangEnabledBy(Fortran,Wall) 338*38fd1498SzrjWarn if a user-procedure has the same name as an intrinsic. 339*38fd1498Szrj 340*38fd1498SzrjWunused 341*38fd1498SzrjLangEnabledBy(Fortran,Wall) 342*38fd1498Szrj; Documented in common.opt 343*38fd1498Szrj 344*38fd1498SzrjWunused-dummy-argument 345*38fd1498SzrjFortran Warning Var(warn_unused_dummy_argument) LangEnabledBy(Fortran,Wall) 346*38fd1498SzrjWarn about unused dummy arguments. 347*38fd1498Szrj 348*38fd1498SzrjWzerotrip 349*38fd1498SzrjFortran Warning Var(warn_zerotrip) LangEnabledBy(Fortran,Wall) 350*38fd1498SzrjWarn about zero-trip DO loops. 351*38fd1498Szrj 352*38fd1498Szrjcpp 353*38fd1498SzrjFortran Negative(nocpp) 354*38fd1498SzrjEnable preprocessing. 355*38fd1498Szrj 356*38fd1498Szrjcpp= 357*38fd1498SzrjFortran Joined Negative(nocpp) Undocumented NoDWARFRecord 358*38fd1498Szrj; Internal option generated by specs from -cpp. 359*38fd1498Szrj 360*38fd1498Szrjnocpp 361*38fd1498SzrjFortran Negative(cpp) 362*38fd1498SzrjDisable preprocessing. 363*38fd1498Szrj 364*38fd1498Szrjd 365*38fd1498SzrjFortran Joined 366*38fd1498Szrj; Documented in common.opt 367*38fd1498Szrj 368*38fd1498Szrjfaggressive-function-elimination 369*38fd1498SzrjFortran Var(flag_aggressive_function_elimination) 370*38fd1498SzrjEliminate multiple function invocations also for impure functions. 371*38fd1498Szrj 372*38fd1498Szrjfalign-commons 373*38fd1498SzrjFortran Var(flag_align_commons) Init(1) 374*38fd1498SzrjEnable alignment of COMMON blocks. 375*38fd1498Szrj 376*38fd1498Szrjfall-intrinsics 377*38fd1498SzrjFortran RejectNegative Var(flag_all_intrinsics) 378*38fd1498SzrjAll intrinsics procedures are available regardless of selected standard. 379*38fd1498Szrj 380*38fd1498Szrjfallow-leading-underscore 381*38fd1498SzrjFortran Undocumented Var(flag_allow_leading_underscore) 382*38fd1498Szrj; For internal use only: allow the first character of symbol names to be an underscore 383*38fd1498Szrj 384*38fd1498Szrjfautomatic 385*38fd1498SzrjFortran Var(flag_automatic) Init(1) 386*38fd1498SzrjDo not treat local variables and COMMON blocks as if they were named in SAVE statements. 387*38fd1498Szrj 388*38fd1498Szrjfbackslash 389*38fd1498SzrjFortran Var(flag_backslash) 390*38fd1498SzrjSpecify that backslash in string introduces an escape character. 391*38fd1498Szrj 392*38fd1498Szrjfbacktrace 393*38fd1498SzrjFortran Var(flag_backtrace) Init(1) 394*38fd1498SzrjProduce a backtrace when a runtime error is encountered. 395*38fd1498Szrj 396*38fd1498Szrjfblas-matmul-limit= 397*38fd1498SzrjFortran RejectNegative Joined UInteger Var(flag_blas_matmul_limit) Init(30) 398*38fd1498Szrj-fblas-matmul-limit=<n> Size of the smallest matrix for which matmul will use BLAS. 399*38fd1498Szrj 400*38fd1498Szrjfcheck-array-temporaries 401*38fd1498SzrjFortran 402*38fd1498SzrjProduce a warning at runtime if a array temporary has been created for a procedure argument. 403*38fd1498Szrj 404*38fd1498Szrjfconvert= 405*38fd1498SzrjFortran RejectNegative Joined Enum(gfc_convert) Var(flag_convert) Init(GFC_FLAG_CONVERT_NATIVE) 406*38fd1498Szrj-fconvert=<big-endian|little-endian|native|swap> The endianness used for unformatted files. 407*38fd1498Szrj 408*38fd1498SzrjEnum 409*38fd1498SzrjName(gfc_convert) Type(enum gfc_convert) UnknownError(Unrecognized option to endianness value: %qs) 410*38fd1498Szrj 411*38fd1498SzrjEnumValue 412*38fd1498SzrjEnum(gfc_convert) String(big-endian) Value(GFC_FLAG_CONVERT_BIG) 413*38fd1498Szrj 414*38fd1498SzrjEnumValue 415*38fd1498SzrjEnum(gfc_convert) String(little-endian) Value(GFC_FLAG_CONVERT_LITTLE) 416*38fd1498Szrj 417*38fd1498SzrjEnumValue 418*38fd1498SzrjEnum(gfc_convert) String(native) Value(GFC_FLAG_CONVERT_NATIVE) 419*38fd1498Szrj 420*38fd1498SzrjEnumValue 421*38fd1498SzrjEnum(gfc_convert) String(swap) Value(GFC_FLAG_CONVERT_SWAP) 422*38fd1498Szrj 423*38fd1498Szrjfcray-pointer 424*38fd1498SzrjFortran Var(flag_cray_pointer) 425*38fd1498SzrjUse the Cray Pointer extension. 426*38fd1498Szrj 427*38fd1498Szrjfc-prototypes 428*38fd1498SzrjFortran Var(flag_c_prototypes) 429*38fd1498SzrjGenerate C prototypes from BIND(C) declarations. 430*38fd1498Szrj 431*38fd1498Szrjfd-lines-as-code 432*38fd1498SzrjFortran RejectNegative 433*38fd1498SzrjIgnore 'D' in column one in fixed form. 434*38fd1498Szrj 435*38fd1498Szrjfd-lines-as-comments 436*38fd1498SzrjFortran RejectNegative 437*38fd1498SzrjTreat lines with 'D' in column one as comments. 438*38fd1498Szrj 439*38fd1498Szrjfdec 440*38fd1498SzrjFortran Var(flag_dec) 441*38fd1498SzrjEnable all DEC language extensions. 442*38fd1498Szrj 443*38fd1498Szrjfdec-intrinsic-ints 444*38fd1498SzrjFortran Var(flag_dec_intrinsic_ints) 445*38fd1498SzrjEnable kind-specific variants of integer intrinsic functions. 446*38fd1498Szrj 447*38fd1498Szrjfdec-math 448*38fd1498SzrjFortran Var(flag_dec_math) 449*38fd1498SzrjEnable legacy math intrinsics for compatibility. 450*38fd1498Szrj 451*38fd1498Szrjfdec-structure 452*38fd1498SzrjFortran Var(flag_dec_structure) 453*38fd1498SzrjEnable support for DEC STRUCTURE/RECORD. 454*38fd1498Szrj 455*38fd1498Szrjfdec-static 456*38fd1498SzrjFortran Var(flag_dec_static) 457*38fd1498SzrjEnable DEC-style STATIC and AUTOMATIC attributes. 458*38fd1498Szrj 459*38fd1498Szrjfdefault-double-8 460*38fd1498SzrjFortran Var(flag_default_double) 461*38fd1498SzrjSet the default double precision kind to an 8 byte wide type. 462*38fd1498Szrj 463*38fd1498Szrjfdefault-integer-8 464*38fd1498SzrjFortran Var(flag_default_integer) 465*38fd1498SzrjSet the default integer kind to an 8 byte wide type. 466*38fd1498Szrj 467*38fd1498Szrjfdefault-real-8 468*38fd1498SzrjFortran Var(flag_default_real_8) 469*38fd1498SzrjSet the default real kind to an 8 byte wide type. 470*38fd1498Szrj 471*38fd1498Szrjfdefault-real-10 472*38fd1498SzrjFortran Var(flag_default_real_10) 473*38fd1498SzrjSet the default real kind to an 10 byte wide type. 474*38fd1498Szrj 475*38fd1498Szrjfdefault-real-16 476*38fd1498SzrjFortran Var(flag_default_real_16) 477*38fd1498SzrjSet the default real kind to an 16 byte wide type. 478*38fd1498Szrj 479*38fd1498Szrjfdollar-ok 480*38fd1498SzrjFortran Var(flag_dollar_ok) 481*38fd1498SzrjAllow dollar signs in entity names. 482*38fd1498Szrj 483*38fd1498Szrjfdump-core 484*38fd1498SzrjFortran Ignore 485*38fd1498SzrjDoes nothing. Preserved for backward compatibility. 486*38fd1498Szrj 487*38fd1498Szrjfdump-fortran-original 488*38fd1498SzrjFortran Var(flag_dump_fortran_original) 489*38fd1498SzrjDisplay the code tree after parsing. 490*38fd1498Szrj 491*38fd1498Szrjfdump-fortran-optimized 492*38fd1498SzrjFortran Var(flag_dump_fortran_optimized) 493*38fd1498SzrjDisplay the code tree after front end optimization. 494*38fd1498Szrj 495*38fd1498Szrjfdump-parse-tree 496*38fd1498SzrjFortran Alias(fdump-fortran-original) 497*38fd1498SzrjDisplay the code tree after parsing; deprecated option. 498*38fd1498Szrj 499*38fd1498Szrjfexternal-blas 500*38fd1498SzrjFortran Var(flag_external_blas) 501*38fd1498SzrjSpecify that an external BLAS library should be used for matmul calls on large-size arrays. 502*38fd1498Szrj 503*38fd1498Szrjff2c 504*38fd1498SzrjFortran Var(flag_f2c) 505*38fd1498SzrjUse f2c calling convention. 506*38fd1498Szrj 507*38fd1498Szrjffixed-form 508*38fd1498SzrjFortran RejectNegative 509*38fd1498SzrjAssume that the source file is fixed form. 510*38fd1498Szrj 511*38fd1498Szrjftest-forall-temp 512*38fd1498SzrjFortran Var(flag_test_forall_temp) Init(0) 513*38fd1498SzrjForce creation of temporary to test infrequently-executed forall code. 514*38fd1498Szrj 515*38fd1498Szrjfinteger-4-integer-8 516*38fd1498SzrjFortran RejectNegative Var(flag_integer4_kind,8) 517*38fd1498SzrjInterpret any INTEGER(4) as an INTEGER(8). 518*38fd1498Szrj 519*38fd1498Szrjfintrinsic-modules-path 520*38fd1498SzrjFortran RejectNegative Separate 521*38fd1498SzrjSpecify where to find the compiled intrinsic modules. 522*38fd1498Szrj 523*38fd1498Szrjfintrinsic-modules-path= 524*38fd1498SzrjFortran RejectNegative Joined 525*38fd1498SzrjSpecify where to find the compiled intrinsic modules. 526*38fd1498Szrj 527*38fd1498Szrjffixed-line-length-none 528*38fd1498SzrjFortran RejectNegative Var(flag_fixed_line_length,0) 529*38fd1498SzrjAllow arbitrary character line width in fixed mode. 530*38fd1498Szrj 531*38fd1498Szrjffixed-line-length- 532*38fd1498SzrjFortran RejectNegative Joined UInteger Var(flag_fixed_line_length) Init(72) 533*38fd1498Szrj-ffixed-line-length-<n> Use n as character line width in fixed mode. 534*38fd1498Szrj 535*38fd1498Szrjffpe-trap= 536*38fd1498SzrjFortran RejectNegative JoinedOrMissing 537*38fd1498Szrj-ffpe-trap=[...] Stop on following floating point exceptions. 538*38fd1498Szrj 539*38fd1498Szrjffpe-summary= 540*38fd1498SzrjFortran RejectNegative JoinedOrMissing 541*38fd1498Szrj-ffpe-summary=[...] Print summary of floating point exceptions. 542*38fd1498Szrj 543*38fd1498Szrjffree-form 544*38fd1498SzrjFortran RejectNegative 545*38fd1498SzrjAssume that the source file is free form. 546*38fd1498Szrj 547*38fd1498Szrjffree-line-length-none 548*38fd1498SzrjFortran RejectNegative Var(flag_free_line_length,0) 549*38fd1498SzrjAllow arbitrary character line width in free mode. 550*38fd1498Szrj 551*38fd1498Szrjffree-line-length- 552*38fd1498SzrjFortran RejectNegative Joined UInteger Var(flag_free_line_length) Init(132) 553*38fd1498Szrj-ffree-line-length-<n> Use n as character line width in free mode. 554*38fd1498Szrj 555*38fd1498Szrjffrontend-loop-interchange 556*38fd1498SzrjFortran Var(flag_frontend_loop_interchange) Init(-1) 557*38fd1498SzrjTry to interchange loops if profitable. 558*38fd1498Szrj 559*38fd1498Szrjffrontend-optimize 560*38fd1498SzrjFortran Var(flag_frontend_optimize) Init(-1) 561*38fd1498SzrjEnable front end optimization. 562*38fd1498Szrj 563*38fd1498Szrjfimplicit-none 564*38fd1498SzrjFortran Var(flag_implicit_none) 565*38fd1498SzrjSpecify that no implicit typing is allowed, unless overridden by explicit IMPLICIT statements. 566*38fd1498Szrj 567*38fd1498Szrjfinit-character= 568*38fd1498SzrjFortran RejectNegative Joined UInteger 569*38fd1498Szrj-finit-character=<n> Initialize local character variables to ASCII value n. 570*38fd1498Szrj 571*38fd1498Szrjfinit-derived 572*38fd1498SzrjFortran Var(flag_init_derived) 573*38fd1498SzrjInitialize components of derived type variables according to other init flags. 574*38fd1498Szrj 575*38fd1498Szrjfinit-integer= 576*38fd1498SzrjFortran RejectNegative Joined 577*38fd1498Szrj-finit-integer=<n> Initialize local integer variables to n. 578*38fd1498Szrj 579*38fd1498Szrjfinit-local-zero 580*38fd1498SzrjFortran 581*38fd1498SzrjInitialize local variables to zero (from g77). 582*38fd1498Szrj 583*38fd1498Szrjfinit-logical= 584*38fd1498SzrjFortran RejectNegative Joined 585*38fd1498Szrj-finit-logical=<true|false> Initialize local logical variables. 586*38fd1498Szrj 587*38fd1498Szrjfinit-real= 588*38fd1498SzrjFortran RejectNegative ToLower Joined Enum(gfc_init_local_real) Var(flag_init_real) Init(GFC_INIT_REAL_OFF) 589*38fd1498Szrj-finit-real=<zero|snan|nan|inf|-inf> Initialize local real variables. 590*38fd1498Szrj 591*38fd1498SzrjEnum 592*38fd1498SzrjName(gfc_init_local_real) Type(enum gfc_init_local_real) UnknownError(Unrecognized option to floating-point init value: %qs) 593*38fd1498Szrj 594*38fd1498SzrjEnumValue 595*38fd1498SzrjEnum(gfc_init_local_real) String(zero) Value(GFC_INIT_REAL_ZERO) 596*38fd1498Szrj 597*38fd1498SzrjEnumValue 598*38fd1498SzrjEnum(gfc_init_local_real) String(snan) Value(GFC_INIT_REAL_SNAN) 599*38fd1498Szrj 600*38fd1498SzrjEnumValue 601*38fd1498SzrjEnum(gfc_init_local_real) String(nan) Value(GFC_INIT_REAL_NAN) 602*38fd1498Szrj 603*38fd1498SzrjEnumValue 604*38fd1498SzrjEnum(gfc_init_local_real) String(inf) Value(GFC_INIT_REAL_INF) 605*38fd1498Szrj 606*38fd1498SzrjEnumValue 607*38fd1498SzrjEnum(gfc_init_local_real) String(-inf) Value(GFC_INIT_REAL_NEG_INF) 608*38fd1498Szrj 609*38fd1498Szrjfinline-matmul-limit= 610*38fd1498SzrjFortran RejectNegative Joined UInteger Var(flag_inline_matmul_limit) Init(-1) 611*38fd1498Szrj-finline-matmul-limit=<n> Specify the size of the largest matrix for which matmul will be inlined. 612*38fd1498Szrj 613*38fd1498Szrjfmax-array-constructor= 614*38fd1498SzrjFortran RejectNegative Joined UInteger Var(flag_max_array_constructor) Init(65535) 615*38fd1498Szrj-fmax-array-constructor=<n> Maximum number of objects in an array constructor. 616*38fd1498Szrj 617*38fd1498Szrjfmax-identifier-length= 618*38fd1498SzrjFortran RejectNegative Joined UInteger 619*38fd1498Szrj-fmax-identifier-length=<n> Maximum identifier length. 620*38fd1498Szrj 621*38fd1498Szrjfmax-subrecord-length= 622*38fd1498SzrjFortran RejectNegative Joined UInteger Var(flag_max_subrecord_length) 623*38fd1498Szrj-fmax-subrecord-length=<n> Maximum length for subrecords. 624*38fd1498Szrj 625*38fd1498Szrjfmax-stack-var-size= 626*38fd1498SzrjFortran RejectNegative Joined UInteger Var(flag_max_stack_var_size) Init(-2) 627*38fd1498Szrj-fmax-stack-var-size=<n> Size in bytes of the largest array that will be put on the stack. 628*38fd1498Szrj 629*38fd1498Szrjfstack-arrays 630*38fd1498SzrjFortran Var(flag_stack_arrays) Init(-1) 631*38fd1498SzrjPut all local arrays on stack. 632*38fd1498Szrj 633*38fd1498Szrjfmodule-private 634*38fd1498SzrjFortran Var(flag_module_private) 635*38fd1498SzrjSet default accessibility of module entities to PRIVATE. 636*38fd1498Szrj 637*38fd1498Szrjfopenacc 638*38fd1498SzrjFortran LTO 639*38fd1498Szrj; Documented in C 640*38fd1498Szrj 641*38fd1498Szrjfopenacc-dim= 642*38fd1498SzrjFortran LTO Joined Var(flag_openacc_dims) 643*38fd1498Szrj; Documented in C 644*38fd1498Szrj 645*38fd1498Szrjfopenmp 646*38fd1498SzrjFortran LTO 647*38fd1498Szrj; Documented in C 648*38fd1498Szrj 649*38fd1498Szrjfopenmp-simd 650*38fd1498SzrjFortran 651*38fd1498Szrj; Documented in C 652*38fd1498Szrj 653*38fd1498Szrjfpack-derived 654*38fd1498SzrjFortran Var(flag_pack_derived) 655*38fd1498SzrjTry to lay out derived types as compactly as possible. 656*38fd1498Szrj 657*38fd1498Szrjfpreprocessed 658*38fd1498SzrjFortran 659*38fd1498Szrj; Documented in C 660*38fd1498Szrj 661*38fd1498Szrjfprotect-parens 662*38fd1498SzrjFortran Var(flag_protect_parens) Init(-1) 663*38fd1498SzrjProtect parentheses in expressions. 664*38fd1498Szrj 665*38fd1498Szrjfrange-check 666*38fd1498SzrjFortran Var(flag_range_check) Init(1) 667*38fd1498SzrjEnable range checking during compilation. 668*38fd1498Szrj 669*38fd1498Szrjfreal-4-real-8 670*38fd1498SzrjFortran RejectNegative Var(flag_real4_kind,8) 671*38fd1498SzrjInterpret any REAL(4) as a REAL(8). 672*38fd1498Szrj 673*38fd1498Szrjfreal-4-real-10 674*38fd1498SzrjFortran RejectNegative Var(flag_real4_kind,10) 675*38fd1498SzrjInterpret any REAL(4) as a REAL(10). 676*38fd1498Szrj 677*38fd1498Szrjfreal-4-real-16 678*38fd1498SzrjFortran RejectNegative Var(flag_real4_kind,16) 679*38fd1498SzrjInterpret any REAL(4) as a REAL(16). 680*38fd1498Szrj 681*38fd1498Szrjfreal-8-real-4 682*38fd1498SzrjFortran RejectNegative Var(flag_real8_kind,4) 683*38fd1498SzrjInterpret any REAL(8) as a REAL(4). 684*38fd1498Szrj 685*38fd1498Szrjfreal-8-real-10 686*38fd1498SzrjFortran RejectNegative Var(flag_real8_kind,10) 687*38fd1498SzrjInterpret any REAL(8) as a REAL(10). 688*38fd1498Szrj 689*38fd1498Szrjfreal-8-real-16 690*38fd1498SzrjFortran RejectNegative Var(flag_real8_kind,16) 691*38fd1498SzrjInterpret any REAL(8) as a REAL(16). 692*38fd1498Szrj 693*38fd1498Szrjfrealloc-lhs 694*38fd1498SzrjFortran Var(flag_realloc_lhs) Init(-1) 695*38fd1498SzrjReallocate the LHS in assignments. 696*38fd1498Szrj 697*38fd1498Szrjfrecord-marker=4 698*38fd1498SzrjFortran RejectNegative Var(flag_record_marker,4) 699*38fd1498SzrjUse a 4-byte record marker for unformatted files. 700*38fd1498Szrj 701*38fd1498Szrjfrecord-marker=8 702*38fd1498SzrjFortran RejectNegative Var(flag_record_marker,8) 703*38fd1498SzrjUse an 8-byte record marker for unformatted files. 704*38fd1498Szrj 705*38fd1498Szrjfrecursive 706*38fd1498SzrjFortran Var(flag_recursive) 707*38fd1498SzrjAllocate local variables on the stack to allow indirect recursion. 708*38fd1498Szrj 709*38fd1498Szrjfrepack-arrays 710*38fd1498SzrjFortran Var(flag_repack_arrays) 711*38fd1498SzrjCopy array sections into a contiguous block on procedure entry. 712*38fd1498Szrj 713*38fd1498Szrjfcoarray= 714*38fd1498SzrjFortran RejectNegative Joined Enum(gfc_fcoarray) Var(flag_coarray) Init(GFC_FCOARRAY_NONE) 715*38fd1498Szrj-fcoarray=<none|single|lib> Specify which coarray parallelization should be used. 716*38fd1498Szrj 717*38fd1498SzrjEnum 718*38fd1498SzrjName(gfc_fcoarray) Type(enum gfc_fcoarray) UnknownError(Unrecognized option: %qs) 719*38fd1498Szrj 720*38fd1498SzrjEnumValue 721*38fd1498SzrjEnum(gfc_fcoarray) String(none) Value(GFC_FCOARRAY_NONE) 722*38fd1498Szrj 723*38fd1498SzrjEnumValue 724*38fd1498SzrjEnum(gfc_fcoarray) String(single) Value(GFC_FCOARRAY_SINGLE) 725*38fd1498Szrj 726*38fd1498SzrjEnumValue 727*38fd1498SzrjEnum(gfc_fcoarray) String(lib) Value(GFC_FCOARRAY_LIB) 728*38fd1498Szrj 729*38fd1498Szrjfcheck= 730*38fd1498SzrjFortran RejectNegative JoinedOrMissing 731*38fd1498Szrj-fcheck=[...] Specify which runtime checks are to be performed. 732*38fd1498Szrj 733*38fd1498Szrjfsecond-underscore 734*38fd1498SzrjFortran Var(flag_second_underscore) Init(-1) 735*38fd1498SzrjAppend a second underscore if the name already contains an underscore. 736*38fd1498Szrj 737*38fd1498Szrjfshort-enums 738*38fd1498SzrjFortran Var(flag_short_enums) 739*38fd1498Szrj; Documented in C 740*38fd1498Szrj 741*38fd1498Szrjfsign-zero 742*38fd1498SzrjFortran Var(flag_sign_zero) Init(1) 743*38fd1498SzrjApply negative sign to zero values. 744*38fd1498Szrj 745*38fd1498Szrjfunderscoring 746*38fd1498SzrjFortran Var(flag_underscoring) Init(1) 747*38fd1498SzrjAppend underscores to externally visible names. 748*38fd1498Szrj 749*38fd1498Szrjfwhole-file 750*38fd1498SzrjFortran Ignore 751*38fd1498SzrjDoes nothing. Preserved for backward compatibility. 752*38fd1498Szrj 753*38fd1498Szrjfworking-directory 754*38fd1498SzrjFortran 755*38fd1498Szrj; Documented in C 756*38fd1498Szrj 757*38fd1498Szrjidirafter 758*38fd1498SzrjFortran Joined Separate 759*38fd1498Szrj; Documented in C 760*38fd1498Szrj 761*38fd1498Szrjimultilib 762*38fd1498SzrjFortran Joined Separate 763*38fd1498Szrj; Documented in C 764*38fd1498Szrj 765*38fd1498Szrjiprefix 766*38fd1498SzrjFortran Joined Separate 767*38fd1498Szrj; Documented in C 768*38fd1498Szrj 769*38fd1498Szrjiquote 770*38fd1498SzrjFortran Joined Separate 771*38fd1498Szrj; Documented in C 772*38fd1498Szrj 773*38fd1498Szrjisysroot 774*38fd1498SzrjFortran Joined Separate 775*38fd1498Szrj; Documented in C 776*38fd1498Szrj 777*38fd1498Szrjisystem 778*38fd1498SzrjFortran Joined Separate 779*38fd1498Szrj; Documented in C 780*38fd1498Szrj 781*38fd1498Szrjnostdinc 782*38fd1498SzrjFortran 783*38fd1498Szrj; Documented in C 784*38fd1498Szrj 785*38fd1498Szrjo 786*38fd1498SzrjFortran Joined Separate 787*38fd1498Szrj; Documented in common.opt 788*38fd1498Szrj 789*38fd1498Szrjstatic-libgfortran 790*38fd1498SzrjFortran 791*38fd1498SzrjStatically link the GNU Fortran helper library (libgfortran). 792*38fd1498Szrj 793*38fd1498Szrjstd=f2003 794*38fd1498SzrjFortran 795*38fd1498SzrjConform to the ISO Fortran 2003 standard. 796*38fd1498Szrj 797*38fd1498Szrjstd=f2008 798*38fd1498SzrjFortran 799*38fd1498SzrjConform to the ISO Fortran 2008 standard. 800*38fd1498Szrj 801*38fd1498Szrjstd=f2008ts 802*38fd1498SzrjFortran 803*38fd1498SzrjConform to the ISO Fortran 2008 standard including TS 29113. 804*38fd1498Szrj 805*38fd1498Szrjstd=f2018 806*38fd1498SzrjFortran 807*38fd1498SzrjConform to the ISO Fortran 2018 standard. 808*38fd1498Szrj 809*38fd1498Szrjstd=f95 810*38fd1498SzrjFortran 811*38fd1498SzrjConform to the ISO Fortran 95 standard. 812*38fd1498Szrj 813*38fd1498Szrjstd=gnu 814*38fd1498SzrjFortran 815*38fd1498SzrjConform to nothing in particular. 816*38fd1498Szrj 817*38fd1498Szrjstd=legacy 818*38fd1498SzrjFortran 819*38fd1498SzrjAccept extensions to support legacy code. 820*38fd1498Szrj 821*38fd1498Szrjundef 822*38fd1498SzrjFortran 823*38fd1498Szrj; Documented in C 824*38fd1498Szrj 825*38fd1498Szrjv 826*38fd1498SzrjFortran 827*38fd1498Szrj; Documented in C 828*38fd1498Szrj 829*38fd1498Szrj; This comment is to ensure we retain the blank line above. 830