2015-07-01 Thomas Koenig <tkoenig@gcc.gnu.org>
[official-gcc.git] / gcc / fortran / lang.opt
blobeab3eddae561dae04bbb2012058ef259c81ce811
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
9 ; version.
10
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
14 ; for more details.
15
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.
24 Language
25 Fortran
27 -all-warnings
28 Fortran Alias(Wall)
30 -assert
31 Fortran Separate Alias(A)
33 -assert=
34 Fortran Joined Alias(A)
36 -comments
37 Fortran Alias(C)
39 -comments-in-macros
40 Fortran Alias(CC)
42 -define-macro
43 Fortran Separate Alias(D)
45 -define-macro=
46 Fortran Joined Alias(D)
48 -dependencies
49 Fortran Alias(M)
51 -dump
52 Fortran Separate Alias(d)
54 -dump=
55 Fortran Joined Alias(d)
57 -include-barrier
58 Fortran Alias(I, -)
60 -include-directory
61 Fortran Separate Alias(I)
63 -include-directory=
64 Fortran Joined Alias(I)
66 -include-directory-after
67 Fortran Separate Alias(idirafter)
69 -include-directory-after=
70 Fortran Joined Alias(idirafter)
72 -include-prefix
73 Fortran Separate Alias(iprefix)
75 -include-prefix=
76 Fortran JoinedOrMissing Alias(iprefix)
78 -no-line-commands
79 Fortran Alias(P)
81 -no-standard-includes
82 Fortran Alias(nostdinc)
84 -output
85 Fortran Separate Alias(o)
87 -output=
88 Fortran Joined Alias(o)
90 -preprocess
91 Fortran Undocumented Alias(E)
93 -print-missing-file-dependencies
94 Fortran Alias(MG)
96 -trace-includes
97 Fortran Alias(H)
99 -undefine-macro
100 Fortran Separate Alias(U)
102 -undefine-macro=
103 Fortran Joined Alias(U)
105 -user-dependencies
106 Fortran Alias(MM)
108 -verbose
109 Fortran Alias(v)
111 -write-dependencies
112 Fortran NoDriverArg Separate Alias(MD)
114 -write-user-dependencies
115 Fortran NoDriverArg Separate Alias(MMD)
118 Fortran Joined Separate
119 ; Documented in C
122 Fortran
123 ; Documented in C
126 Fortran
127 ; Documented in C
130 Fortran Joined Separate
131 ; Documented in C
134 Fortran Undocumented
137 Fortran
138 ; Documented in C
141 Fortran Joined Separate
142 ; Documented in C
145 Fortran Joined Separate
146 -J<directory>   Put MODULE files in 'directory'
149 Fortran
150 ; Documented in C
153 Fortran Separate NoDriverArg
154 ; Documented in C
157 Fortran Joined Separate
158 ; Documented in C
161 Fortran
162 ; Documented in C
165 Fortran
166 ; Documented in C
169 Fortran Separate NoDriverArg
170 ; Documented in C
173 Fortran
174 ; Documented in C
177 Fortran Joined Separate
178 ; Documented in C
181 Fortran Joined Separate
182 ; Documented in C
185 Fortran
186 ; Documented in C
189 Fortran Joined Separate
190 ; Documented in C
192 Wall
193 Fortran
194 ; Documented in C
196 Waliasing
197 Fortran Warning Var(warn_aliasing) LangEnabledBy(Fortran,Wall)
198 Warn about possible aliasing of dummy arguments
200 Walign-commons
201 Fortran Warning Var(warn_align_commons) Init(1)
202 Warn about alignment of COMMON blocks
204 Wampersand
205 Fortran Warning Var(warn_ampersand) LangEnabledBy(Fortran,Wall || Wpedantic)
206 Warn about missing ampersand in continued character constants
208 Warray-temporaries
209 Fortran Warning Var(warn_array_temporaries)
210 Warn about creation of array temporaries
212 Wc-binding-type
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
216 Wdate-time
217 Fortran
218 ; Documented in C
220 Wcharacter-truncation
221 Fortran Var(warn_character_truncation) Warning LangEnabledBy(Fortran,Wall)
222 Warn about truncated character expressions
224 Wcompare-reals
225 Fortran Warning Var(warn_compare_reals) LangEnabledBy(Fortran,Wextra)
226 Warn about equality comparisons involving REAL or COMPLEX expressions
228 Wconversion
229 Fortran Var(warn_conversion) Warning LangEnabledBy(Fortran,Wall)
230 ; Documented in C
232 Wconversion-extra
233 Fortran Var(warn_conversion_extra) Warning
234 Warn about most implicit conversions
236 Wextra
237 Fortran Warning
238 ; Documented in common
240 Wfunction-elimination
241 Fortran Warning Var(warn_function_elimination)
242 Warn about function call elimination
244 Wimplicit-interface
245 Fortran Warning Var(warn_implicit_interface)
246 Warn about calls with implicit interface
248 Wimplicit-procedure
249 Fortran Warning Var(warn_implicit_procedure)
250 Warn about called procedures not explicitly declared
252 Winteger-division
253 Fortran Warning Var(warn_integer_division) LangEnabledBy(Fortran,Wall)
254 Warn about constant integer divisions with truncated results
256 Wline-truncation
257 Fortran Warning Var(warn_line_truncation) LangEnabledBy(Fortran,Wall) Init(-1)
258 Warn about truncated source lines
260 Wintrinsics-std
261 Fortran Var(warn_intrinsics_std) Warning LangEnabledBy(Fortran,Wall)
262 Warn on intrinsics not part of the selected standard
264 Wmaybe-uninitialized
265 Fortran LangEnabledBy(Fortran,Wall)
266 ; Documented in common.opt
268 Wmissing-include-dirs
269 Fortran
270 ; Documented in C/C++
272 Wuse-without-only
273 Fortran Var(warn_use_without_only) Warning
274 Warn about USE statements that have no ONLY qualifier
276 Wopenmp-simd
277 Fortran
278 ; Documented in C
280 Wpedantic
281 Fortran
282 ; Documented in common.opt
284 Wreal-q-constant
285 Fortran Warning Var(warn_real_q_constant) LangEnabledBy(Fortran,Wall)
286 Warn about real-literal-constants with 'q' exponent-letter
288 Wrealloc-lhs
289 Fortran Warning Var(warn_realloc_lhs) LangEnabledBy(Fortran,Wrealloc-lhs-all)
290 Warn when a left-hand-side array variable is reallocated
292 Wrealloc-lhs-all
293 Fortran Warning Var(warn_realloc_lhs_all)
294 Warn when a left-hand-side variable is reallocated
296 Wtarget-lifetime
297 Fortran Warning Var(warn_target_lifetime) LangEnabledBy(Fortran,Wall)
298 Warn if the pointer in a pointer assignment might outlive its target
300 Wreturn-type
301 Fortran Warning LangEnabledBy(Fortran,Wall)
302 ; Documented in C
304 Wsurprising
305 Fortran Warning Var(warn_surprising) LangEnabledBy(Fortran,Wall)
306 Warn about \"suspicious\" constructs
308 Wtabs
309 Fortran Warning Var(warn_tabs) LangEnabledBy(Fortran,Wall || Wpedantic)
310 Permit nonconforming uses of the tab character
312 Wunderflow
313 Fortran Warning Var(warn_underflow) Init(1)
314 Warn about underflow of numerical constant expressions
316 Wuninitialized
317 Fortran LangEnabledBy(Fortran,Wall)
318 ; Documented in common.opt
320 Wintrinsic-shadow
321 Fortran Warning Var(warn_intrinsic_shadow) LangEnabledBy(Fortran,Wall)
322 Warn if a user-procedure has the same name as an intrinsic
324 Wunused
325 LangEnabledBy(Fortran,Wall)
326 ; Documented in common.opt
328 Wunused-dummy-argument
329 Fortran Warning Var(warn_unused_dummy_argument) LangEnabledBy(Fortran,Wall)
330 Warn about unused dummy arguments.
332 Wzerotrip
333 Fortran Warning Var(warn_zerotrip) LangEnabledBy(Fortran,Wall)
334 Warn about zero-trip DO loops
337 Fortran Negative(nocpp)
338 Enable preprocessing
340 cpp=
341 Fortran Joined Negative(nocpp) Undocumented NoDWARFRecord
342 ; Internal option generated by specs from -cpp.
344 nocpp
345 Fortran Negative(cpp)
346 Disable preprocessing
349 Fortran Joined
350 ; Documented in common.opt
352 faggressive-function-elimination
353 Fortran Var(flag_aggressive_function_elimination)
354 Eliminate multiple function invokations also for impure functions
356 falign-commons
357 Fortran Var(flag_align_commons) Init(1)
358 Enable alignment of COMMON blocks
360 fall-intrinsics
361 Fortran RejectNegative Var(flag_all_intrinsics)
362 All intrinsics procedures are available regardless of selected standard
364 fallow-leading-underscore
365 Fortran Undocumented Var(flag_allow_leading_underscore)
366 ; For internal use only: allow the first character of symbol names to be an underscore
368 fautomatic
369 Fortran Var(flag_automatic) Init(1)
370 Do not treat local variables and COMMON blocks as if they were named in SAVE statements
372 fbackslash
373 Fortran Var(flag_backslash)
374 Specify that backslash in string introduces an escape character
376 fbacktrace
377 Fortran Var(flag_backtrace) Init(1)
378 Produce a backtrace when a runtime error is encountered
380 fblas-matmul-limit=
381 Fortran RejectNegative Joined UInteger Var(flag_blas_matmul_limit) Init(30)
382 -fblas-matmul-limit=<n> Size of the smallest matrix for which matmul will use BLAS
384 fcheck-array-temporaries
385 Fortran
386 Produce a warning at runtime if a array temporary has been created for a procedure argument
388 fconvert=
389 Fortran RejectNegative Joined Enum(gfc_convert) Var(flag_convert) Init(GFC_FLAG_CONVERT_NATIVE)
390 -fconvert=<big-endian|little-endian|native|swap> The endianness used for unformatted files.
392 Enum
393 Name(gfc_convert) Type(enum gfc_convert) UnknownError(Unrecognized option to endianess value: %qs)
395 EnumValue
396 Enum(gfc_convert) String(big-endian) Value(GFC_FLAG_CONVERT_BIG)
398 EnumValue
399 Enum(gfc_convert) String(little-endian) Value(GFC_FLAG_CONVERT_LITTLE)
401 EnumValue
402 Enum(gfc_convert) String(native) Value(GFC_FLAG_CONVERT_NATIVE)
404 EnumValue
405 Enum(gfc_convert) String(swap) Value(GFC_FLAG_CONVERT_SWAP)
407 fcray-pointer
408 Fortran Var(flag_cray_pointer)
409 Use the Cray Pointer extension
411 fd-lines-as-code
412 Fortran RejectNegative
413 Ignore 'D' in column one in fixed form
415 fd-lines-as-comments
416 Fortran RejectNegative
417 Treat lines with 'D' in column one as comments
419 fdefault-double-8
420 Fortran Var(flag_default_double)
421 Set the default double precision kind to an 8 byte wide type
423 fdefault-integer-8
424 Fortran Var(flag_default_integer)
425 Set the default integer kind to an 8 byte wide type
427 fdefault-real-8
428 Fortran Var(flag_default_real)
429 Set the default real kind to an 8 byte wide type
431 fdollar-ok
432 Fortran Var(flag_dollar_ok)
433 Allow dollar signs in entity names
435 fdump-core
436 Fortran Ignore
437 Does nothing. Preserved for backward compatibility.
439 fdump-fortran-original
440 Fortran Var(flag_dump_fortran_original)
441 Display the code tree after parsing
443 fdump-fortran-optimized
444 Fortran Var(flag_dump_fortran_optimized)
445 Display the code tree after front end optimization
447 fdump-parse-tree
448 Fortran Alias(fdump-fortran-original)
449 Display the code tree after parsing; deprecated option
451 fexternal-blas
452 Fortran Var(flag_external_blas)
453 Specify that an external BLAS library should be used for matmul calls on large-size arrays
455 ff2c
456 Fortran Var(flag_f2c)
457 Use f2c calling convention
459 ffixed-form
460 Fortran RejectNegative
461 Assume that the source file is fixed form
463 finteger-4-integer-8
464 Fortran RejectNegative Var(flag_integer4_kind,8)
465 Interpret any INTEGER(4) as an INTEGER(8)
467 fintrinsic-modules-path
468 Fortran RejectNegative Separate
469 Specify where to find the compiled intrinsic modules
471 fintrinsic-modules-path=
472 Fortran RejectNegative Joined
473 Specify where to find the compiled intrinsic modules
475 ffixed-line-length-none
476 Fortran RejectNegative Var(flag_fixed_line_length,0)
477 Allow arbitrary character line width in fixed mode
479 ffixed-line-length-
480 Fortran RejectNegative Joined UInteger Var(flag_fixed_line_length) Init(72)
481 -ffixed-line-length-<n> Use n as character line width in fixed mode
483 ffpe-trap=
484 Fortran RejectNegative JoinedOrMissing
485 -ffpe-trap=[...]        Stop on following floating point exceptions
487 ffpe-summary=
488 Fortran RejectNegative JoinedOrMissing
489 -ffpe-summary=[...]     Print summary of floating point exceptions
491 ffree-form
492 Fortran RejectNegative
493 Assume that the source file is free form
495 ffree-line-length-none
496 Fortran RejectNegative Var(flag_free_line_length,0)
497 Allow arbitrary character line width in free mode
499 ffree-line-length-
500 Fortran RejectNegative Joined UInteger Var(flag_free_line_length) Init(132)
501 -ffree-line-length-<n>  Use n as character line width in free mode
503 ffrontend-optimize
504 Fortran Var(flag_frontend_optimize) Init(-1)
505 Enable front end optimization
507 fimplicit-none
508 Fortran Var(flag_implicit_none)
509 Specify that no implicit typing is allowed, unless overridden by explicit IMPLICIT statements
511 finit-character=
512 Fortran RejectNegative Joined UInteger
513 -finit-character=<n>    Initialize local character variables to ASCII value n
515 finit-integer=
516 Fortran RejectNegative Joined
517 -finit-integer=<n>      Initialize local integer variables to n
519 finit-local-zero
520 Fortran
521 Initialize local variables to zero (from g77)
523 finit-logical=
524 Fortran RejectNegative Joined
525 -finit-logical=<true|false>     Initialize local logical variables
527 finit-real=
528 Fortran RejectNegative ToLower Joined Enum(gfc_init_local_real) Var(flag_init_real) Init(GFC_INIT_REAL_OFF)
529 -finit-real=<zero|snan|nan|inf|-inf>    Initialize local real variables
531 Enum
532 Name(gfc_init_local_real) Type(enum gfc_init_local_real) UnknownError(Unrecognized option to floating-point init value: %qs)
534 EnumValue
535 Enum(gfc_init_local_real) String(zero) Value(GFC_INIT_REAL_ZERO)
537 EnumValue
538 Enum(gfc_init_local_real) String(snan) Value(GFC_INIT_REAL_SNAN)
540 EnumValue
541 Enum(gfc_init_local_real) String(nan) Value(GFC_INIT_REAL_NAN)
543 EnumValue
544 Enum(gfc_init_local_real) String(inf) Value(GFC_INIT_REAL_INF)
546 EnumValue
547 Enum(gfc_init_local_real) String(-inf) Value(GFC_INIT_REAL_NEG_INF)
549 finline-matmul-limit=
550 Fortran RejectNegative Joined UInteger Var(flag_inline_matmul_limit) Init(-1)
551 -finline-matmul-limit=<n>       Specify the size of the largest matrix for which matmul will be inlined
553 fmax-array-constructor=
554 Fortran RejectNegative Joined UInteger Var(flag_max_array_constructor) Init(65535)
555 -fmax-array-constructor=<n>     Maximum number of objects in an array constructor
557 fmax-identifier-length=
558 Fortran RejectNegative Joined UInteger
559 -fmax-identifier-length=<n>     Maximum identifier length
561 fmax-subrecord-length=
562 Fortran RejectNegative Joined UInteger Var(flag_max_subrecord_length)
563 -fmax-subrecord-length=<n>      Maximum length for subrecords
565 fmax-stack-var-size=
566 Fortran RejectNegative Joined UInteger Var(flag_max_stack_var_size) Init(-2)
567 -fmax-stack-var-size=<n>        Size in bytes of the largest array that will be put on the stack
569 fstack-arrays
570 Fortran Var(flag_stack_arrays) Init(-1)
571 Put all local arrays on stack.
573 fmodule-private
574 Fortran Var(flag_module_private)
575 Set default accessibility of module entities to PRIVATE.
577 fopenacc
578 Fortran LTO
579 ; Documented in C
581 fopenmp
582 Fortran LTO
583 ; Documented in C
585 fopenmp-simd
586 Fortran
587 ; Documented in C
589 fpack-derived
590 Fortran Var(flag_pack_derived)
591 Try to lay out derived types as compactly as possible
593 fpreprocessed
594 Fortran
595 ; Documented in C
597 fprotect-parens
598 Fortran Var(flag_protect_parens) Init(-1)
599 Protect parentheses in expressions
601 frange-check
602 Fortran Var(flag_range_check) Init(1)
603 Enable range checking during compilation
605 freal-4-real-8
606 Fortran RejectNegative Var(flag_real4_kind,8)
607 Interpret any REAL(4) as a REAL(8)
609 freal-4-real-10
610 Fortran RejectNegative Var(flag_real4_kind,10)
611 Interpret any REAL(4) as a REAL(10)
613 freal-4-real-16
614 Fortran RejectNegative Var(flag_real4_kind,16)
615 Interpret any REAL(4) as a REAL(16)
617 freal-8-real-4
618 Fortran RejectNegative Var(flag_real8_kind,4)
619 Interpret any REAL(8) as a REAL(4)
621 freal-8-real-10
622 Fortran RejectNegative Var(flag_real8_kind,10)
623 Interpret any REAL(8) as a REAL(10)
625 freal-8-real-16
626 Fortran RejectNegative Var(flag_real8_kind,16)
627 Interpret any REAL(8) as a REAL(16)
629 frealloc-lhs
630 Fortran Var(flag_realloc_lhs) Init(-1)
631 Reallocate the LHS in assignments
633 frecord-marker=4
634 Fortran RejectNegative Var(flag_record_marker,4)
635 Use a 4-byte record marker for unformatted files
637 frecord-marker=8
638 Fortran RejectNegative Var(flag_record_marker,8)
639 Use an 8-byte record marker for unformatted files
641 frecursive
642 Fortran Var(flag_recursive)
643 Allocate local variables on the stack to allow indirect recursion
645 frepack-arrays
646 Fortran Var(flag_repack_arrays)
647 Copy array sections into a contiguous block on procedure entry
649 fcoarray=
650 Fortran RejectNegative Joined Enum(gfc_fcoarray) Var(flag_coarray) Init(GFC_FCOARRAY_NONE)
651 -fcoarray=<none|single|lib>     Specify which coarray parallelization should be used
653 Enum
654 Name(gfc_fcoarray) Type(enum gfc_fcoarray) UnknownError(Unrecognized option: %qs)
656 EnumValue
657 Enum(gfc_fcoarray) String(none) Value(GFC_FCOARRAY_NONE)
659 EnumValue
660 Enum(gfc_fcoarray) String(single) Value(GFC_FCOARRAY_SINGLE)
662 EnumValue
663 Enum(gfc_fcoarray) String(lib) Value(GFC_FCOARRAY_LIB)
665 fcheck=
666 Fortran RejectNegative JoinedOrMissing
667 -fcheck=[...]   Specify which runtime checks are to be performed
669 fsecond-underscore
670 Fortran Var(flag_second_underscore) Init(-1)
671 Append a second underscore if the name already contains an underscore
673 fshort-enums
674 Fortran Var(flag_short_enums)
675 ; Documented in C
677 fsign-zero
678 Fortran Var(flag_sign_zero) Init(1)
679 Apply negative sign to zero values
681 funderscoring
682 Fortran Var(flag_underscoring) Init(1)
683 Append underscores to externally visible names
685 fwhole-file
686 Fortran Ignore
687 Does nothing.  Preserved for backward compatibility.
689 fworking-directory
690 Fortran
691 ; Documented in C
693 idirafter
694 Fortran Joined Separate
695 ; Documented in C
697 imultilib
698 Fortran Joined Separate
699 ; Documented in C
701 iprefix
702 Fortran Joined Separate
703 ; Documented in C
705 iquote
706 Fortran Joined Separate
707 ; Documented in C
709 isysroot
710 Fortran Joined Separate
711 ; Documented in C
713 isystem
714 Fortran Joined Separate
715 ; Documented in C
717 nostdinc
718 Fortran
719 ; Documented in C
722 Fortran Joined Separate
723 ; Documented in common.opt
725 static-libgfortran
726 Fortran
727 Statically link the GNU Fortran helper library (libgfortran)
729 std=f2003
730 Fortran
731 Conform to the ISO Fortran 2003 standard
733 std=f2008
734 Fortran
735 Conform to the ISO Fortran 2008 standard
737 std=f2008ts
738 Fortran
739 Conform to the ISO Fortran 2008 standard including TS 29113
741 std=f95
742 Fortran
743 Conform to the ISO Fortran 95 standard
745 std=gnu
746 Fortran
747 Conform to nothing in particular
749 std=legacy
750 Fortran
751 Accept extensions to support legacy code
753 undef
754 Fortran
755 ; Documented in C
758 Fortran
759 ; Documented in C
761 ; This comment is to ensure we retain the blank line above.