1 ; Options for the Fortran 95 front end.
2 ; Copyright (C) 2003-2015 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_line_truncation) LangEnabledBy(Fortran,Wall) Init(-1)
254 Warn about truncated source lines
257 Fortran Var(warn_intrinsics_std) Warning LangEnabledBy(Fortran,Wall)
258 Warn on intrinsics not part of the selected standard
261 Fortran LangEnabledBy(Fortran,Wall)
262 ; Documented in common.opt
264 Wmissing-include-dirs
266 ; Documented in C/C++
269 Fortran Var(warn_use_without_only) Warning
270 Warn about USE statements that have no ONLY qualifier
278 ; Documented in common.opt
281 Fortran Warning Var(warn_real_q_constant) LangEnabledBy(Fortran,Wall)
282 Warn about real-literal-constants with 'q' exponent-letter
285 Fortran Warning Var(warn_realloc_lhs) LangEnabledBy(Fortran,Wrealloc-lhs-all)
286 Warn when a left-hand-side array variable is reallocated
289 Fortran Warning Var(warn_realloc_lhs_all)
290 Warn when a left-hand-side variable is reallocated
293 Fortran Warning Var(warn_target_lifetime) LangEnabledBy(Fortran,Wall)
294 Warn if the pointer in a pointer assignment might outlive its target
297 Fortran Warning LangEnabledBy(Fortran,Wall)
301 Fortran Warning Var(warn_surprising) LangEnabledBy(Fortran,Wall)
302 Warn about \"suspicious\" constructs
305 Fortran Warning Var(warn_tabs) LangEnabledBy(Fortran,Wall || Wpedantic)
306 Permit nonconforming uses of the tab character
309 Fortran Warning Var(warn_underflow) Init(1)
310 Warn about underflow of numerical constant expressions
313 Fortran LangEnabledBy(Fortran,Wall)
314 ; Documented in common.opt
317 Fortran Warning Var(warn_intrinsic_shadow) LangEnabledBy(Fortran,Wall)
318 Warn if a user-procedure has the same name as an intrinsic
321 LangEnabledBy(Fortran,Wall)
322 ; Documented in common.opt
324 Wunused-dummy-argument
325 Fortran Warning Var(warn_unused_dummy_argument) LangEnabledBy(Fortran,Wall)
326 Warn about unused dummy arguments.
329 Fortran Warning Var(warn_zerotrip) LangEnabledBy(Fortran,Wall)
330 Warn about zero-trip DO loops
333 Fortran Negative(nocpp)
337 Fortran Joined Negative(nocpp) Undocumented NoDWARFRecord
338 ; Internal option generated by specs from -cpp.
341 Fortran Negative(cpp)
342 Disable preprocessing
346 ; Documented in common.opt
348 faggressive-function-elimination
349 Fortran Var(flag_aggressive_function_elimination)
350 Eliminate multiple function invokations also for impure functions
353 Fortran Var(flag_align_commons) Init(1)
354 Enable alignment of COMMON blocks
357 Fortran RejectNegative Var(flag_all_intrinsics)
358 All intrinsics procedures are available regardless of selected standard
360 fallow-leading-underscore
361 Fortran Undocumented Var(flag_allow_leading_underscore)
362 ; For internal use only: allow the first character of symbol names to be an underscore
365 Fortran Var(flag_automatic) Init(1)
366 Do not treat local variables and COMMON blocks as if they were named in SAVE statements
369 Fortran Var(flag_backslash)
370 Specify that backslash in string introduces an escape character
373 Fortran Var(flag_backtrace) Init(1)
374 Produce a backtrace when a runtime error is encountered
377 Fortran RejectNegative Joined UInteger Var(flag_blas_matmul_limit) Init(30)
378 -fblas-matmul-limit=<n> Size of the smallest matrix for which matmul will use BLAS
380 fcheck-array-temporaries
382 Produce a warning at runtime if a array temporary has been created for a procedure argument
385 Fortran RejectNegative Joined Enum(gfc_convert) Var(flag_convert) Init(GFC_FLAG_CONVERT_NATIVE)
386 -fconvert=<big-endian|little-endian|native|swap> The endianness used for unformatted files.
389 Name(gfc_convert) Type(enum gfc_convert) UnknownError(Unrecognized option to endianess value: %qs)
392 Enum(gfc_convert) String(big-endian) Value(GFC_FLAG_CONVERT_BIG)
395 Enum(gfc_convert) String(little-endian) Value(GFC_FLAG_CONVERT_LITTLE)
398 Enum(gfc_convert) String(native) Value(GFC_FLAG_CONVERT_NATIVE)
401 Enum(gfc_convert) String(swap) Value(GFC_FLAG_CONVERT_SWAP)
404 Fortran Var(flag_cray_pointer)
405 Use the Cray Pointer extension
408 Fortran RejectNegative
409 Ignore 'D' in column one in fixed form
412 Fortran RejectNegative
413 Treat lines with 'D' in column one as comments
416 Fortran Var(flag_default_double)
417 Set the default double precision kind to an 8 byte wide type
420 Fortran Var(flag_default_integer)
421 Set the default integer kind to an 8 byte wide type
424 Fortran Var(flag_default_real)
425 Set the default real kind to an 8 byte wide type
428 Fortran Var(flag_dollar_ok)
429 Allow dollar signs in entity names
433 Does nothing. Preserved for backward compatibility.
435 fdump-fortran-original
436 Fortran Var(flag_dump_fortran_original)
437 Display the code tree after parsing
439 fdump-fortran-optimized
440 Fortran Var(flag_dump_fortran_optimized)
441 Display the code tree after front end optimization
444 Fortran Alias(fdump-fortran-original)
445 Display the code tree after parsing; deprecated option
448 Fortran Var(flag_external_blas)
449 Specify that an external BLAS library should be used for matmul calls on large-size arrays
452 Fortran Var(flag_f2c)
453 Use f2c calling convention
456 Fortran RejectNegative
457 Assume that the source file is fixed form
460 Fortran RejectNegative Var(flag_integer4_kind,8)
461 Interpret any INTEGER(4) as an INTEGER(8)
463 fintrinsic-modules-path
464 Fortran RejectNegative Separate
465 Specify where to find the compiled intrinsic modules
467 fintrinsic-modules-path=
468 Fortran RejectNegative Joined
469 Specify where to find the compiled intrinsic modules
471 ffixed-line-length-none
472 Fortran RejectNegative Var(flag_fixed_line_length,0)
473 Allow arbitrary character line width in fixed mode
476 Fortran RejectNegative Joined UInteger Var(flag_fixed_line_length) Init(72)
477 -ffixed-line-length-<n> Use n as character line width in fixed mode
480 Fortran RejectNegative JoinedOrMissing
481 -ffpe-trap=[...] Stop on following floating point exceptions
484 Fortran RejectNegative JoinedOrMissing
485 -ffpe-summary=[...] Print summary of floating point exceptions
488 Fortran RejectNegative
489 Assume that the source file is free form
491 ffree-line-length-none
492 Fortran RejectNegative Var(flag_free_line_length,0)
493 Allow arbitrary character line width in free mode
496 Fortran RejectNegative Joined UInteger Var(flag_free_line_length) Init(132)
497 -ffree-line-length-<n> Use n as character line width in free mode
500 Fortran Var(flag_frontend_optimize) Init(-1)
501 Enable front end optimization
504 Fortran Var(flag_implicit_none)
505 Specify that no implicit typing is allowed, unless overridden by explicit IMPLICIT statements
508 Fortran RejectNegative Joined UInteger
509 -finit-character=<n> Initialize local character variables to ASCII value n
512 Fortran RejectNegative Joined
513 -finit-integer=<n> Initialize local integer variables to n
517 Initialize local variables to zero (from g77)
520 Fortran RejectNegative Joined
521 -finit-logical=<true|false> Initialize local logical variables
524 Fortran RejectNegative ToLower Joined Enum(gfc_init_local_real) Var(flag_init_real) Init(GFC_INIT_REAL_OFF)
525 -finit-real=<zero|snan|nan|inf|-inf> Initialize local real variables
528 Name(gfc_init_local_real) Type(enum gfc_init_local_real) UnknownError(Unrecognized option to floating-point init value: %qs)
531 Enum(gfc_init_local_real) String(zero) Value(GFC_INIT_REAL_ZERO)
534 Enum(gfc_init_local_real) String(snan) Value(GFC_INIT_REAL_SNAN)
537 Enum(gfc_init_local_real) String(nan) Value(GFC_INIT_REAL_NAN)
540 Enum(gfc_init_local_real) String(inf) Value(GFC_INIT_REAL_INF)
543 Enum(gfc_init_local_real) String(-inf) Value(GFC_INIT_REAL_NEG_INF)
545 finline-matmul-limit=
546 Fortran RejectNegative Joined UInteger Var(flag_inline_matmul_limit) Init(-1)
547 -finline-matmul-limit=<n> Specify the size of the largest matrix for which matmul will be inlined
549 fmax-array-constructor=
550 Fortran RejectNegative Joined UInteger Var(flag_max_array_constructor) Init(65535)
551 -fmax-array-constructor=<n> Maximum number of objects in an array constructor
553 fmax-identifier-length=
554 Fortran RejectNegative Joined UInteger
555 -fmax-identifier-length=<n> Maximum identifier length
557 fmax-subrecord-length=
558 Fortran RejectNegative Joined UInteger Var(flag_max_subrecord_length)
559 -fmax-subrecord-length=<n> Maximum length for subrecords
562 Fortran RejectNegative Joined UInteger Var(flag_max_stack_var_size) Init(-2)
563 -fmax-stack-var-size=<n> Size in bytes of the largest array that will be put on the stack
566 Fortran Var(flag_stack_arrays) Init(-1)
567 Put all local arrays on stack.
570 Fortran Var(flag_module_private)
571 Set default accessibility of module entities to PRIVATE.
586 Fortran Var(flag_pack_derived)
587 Try to lay out derived types as compactly as possible
594 Fortran Var(flag_protect_parens) Init(-1)
595 Protect parentheses in expressions
598 Fortran Var(flag_range_check) Init(1)
599 Enable range checking during compilation
602 Fortran RejectNegative Var(flag_real4_kind,8)
603 Interpret any REAL(4) as a REAL(8)
606 Fortran RejectNegative Var(flag_real4_kind,10)
607 Interpret any REAL(4) as a REAL(10)
610 Fortran RejectNegative Var(flag_real4_kind,16)
611 Interpret any REAL(4) as a REAL(16)
614 Fortran RejectNegative Var(flag_real8_kind,4)
615 Interpret any REAL(8) as a REAL(4)
618 Fortran RejectNegative Var(flag_real8_kind,10)
619 Interpret any REAL(8) as a REAL(10)
622 Fortran RejectNegative Var(flag_real8_kind,16)
623 Interpret any REAL(8) as a REAL(16)
626 Fortran Var(flag_realloc_lhs) Init(-1)
627 Reallocate the LHS in assignments
630 Fortran RejectNegative Var(flag_record_marker,4)
631 Use a 4-byte record marker for unformatted files
634 Fortran RejectNegative Var(flag_record_marker,8)
635 Use an 8-byte record marker for unformatted files
638 Fortran Var(flag_recursive)
639 Allocate local variables on the stack to allow indirect recursion
642 Fortran Var(flag_repack_arrays)
643 Copy array sections into a contiguous block on procedure entry
646 Fortran RejectNegative Joined Enum(gfc_fcoarray) Var(flag_coarray) Init(GFC_FCOARRAY_NONE)
647 -fcoarray=<none|single|lib> Specify which coarray parallelization should be used
650 Name(gfc_fcoarray) Type(enum gfc_fcoarray) UnknownError(Unrecognized option: %qs)
653 Enum(gfc_fcoarray) String(none) Value(GFC_FCOARRAY_NONE)
656 Enum(gfc_fcoarray) String(single) Value(GFC_FCOARRAY_SINGLE)
659 Enum(gfc_fcoarray) String(lib) Value(GFC_FCOARRAY_LIB)
662 Fortran RejectNegative JoinedOrMissing
663 -fcheck=[...] Specify which runtime checks are to be performed
666 Fortran Var(flag_second_underscore) Init(-1)
667 Append a second underscore if the name already contains an underscore
670 Fortran Var(flag_short_enums)
674 Fortran Var(flag_sign_zero) Init(1)
675 Apply negative sign to zero values
678 Fortran Var(flag_underscoring) Init(1)
679 Append underscores to externally visible names
683 Does nothing. Preserved for backward compatibility.
690 Fortran Joined Separate
694 Fortran Joined Separate
698 Fortran Joined Separate
702 Fortran Joined Separate
706 Fortran Joined Separate
710 Fortran Joined Separate
718 Fortran Joined Separate
719 ; Documented in common.opt
723 Statically link the GNU Fortran helper library (libgfortran)
727 Conform to the ISO Fortran 2003 standard
731 Conform to the ISO Fortran 2008 standard
735 Conform to the ISO Fortran 2008 standard including TS 29113
739 Conform to the ISO Fortran 95 standard
743 Conform to nothing in particular
747 Accept extensions to support legacy code
757 ; This comment is to ensure we retain the blank line above.