GFORTRAN(1) GNU GFORTRAN(1) (NAME) aarch64-linux-gnu-gfortran - AArch64 (SYNOPSIS) gfortran [-c|-S|-E] [-g] [-pg] [-Olevel] [-Wwarn...] [-pedantic] [-Idir...] [-Ldir...] [-Dmacro[=defn]...] [-Umacro] [-foption...] [-mmachine-option...] [-o outfile] infile... . (DESCRIPTION) gfortran gcc . . GCC GNU Fortran gfortran gcc ( g++) GCC . -ffoo -fno-foo . ( ) . (OPTIONS) . . (Fortran Language Options) -fall-intrinsics -fallow-argument-mismatch -fallow-invalid-boz -fbackslash -fcray-pointer -fd-lines-as-code -fd-lines-as-comments -fdec -fdec-char-conversions -fdec-structure -fdec-intrinsic-ints -fdec-static -fdec-math -fdec-include -fdec-format-defaults -fdec-blank-format-item -fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 -fdefault-real-10 -fdefault-real-16 -fdollar-ok -ffixed-line-length-n -ffixed-line-length-none -fpad-source -ffree-form -ffree-line-length-n -ffree-line-length-none -fimplicit-none -finteger-4-integer-8 -fmax-identifier-length -fmodule-private -ffixed-form -fno-range-check -fopenacc -fopenmp -fopenmp-allocators -fopenmp-simd -freal-4-real-10 -freal-4-real-16 -freal-4-real-8 -freal-8-real-10 -freal-8-real-16 -freal-8-real-4 -std=std -ftest-forall-temp -funsigned (Preprocessing Options) -A-question[=answer] -Aquestion=answer -C -CC -Dmacro[=defn] -H -P -Umacro -cpp -dD -dI -dM -dN -dU -fworking-directory -imultilib dir -iprefix file -iquote -isysroot dir -isystem dir -nocpp -nostdinc -undef (Error and Warning Options) -Waliasing -Wall -Wampersand -Warray-bounds -Wc-binding-type -Wcharacter-truncation -Wconversion -Wno-deprecated-openmp -Wdo-subscript -Wfunction-elimination -Wimplicit-interface -Wimplicit-procedure -Wintrinsic-shadow -Wuse-without-only -Wintrinsics-std -Wline-truncation -Wno-align-commons -Wno-overwrite-recursive -Wno-tabs -Wreal-q-constant -Wsurprising -Wunderflow -Wunused-parameter -Wrealloc-lhs -Wrealloc-lhs-all -Wfrontend-loop-interchange -Wtarget-lifetime -fmax-errors=n -fsyntax-only -pedantic -pedantic-errors (Debugging Options) -fbacktrace -fdebug-aux-vars -ffpe-trap=list -ffpe-summary=list (Directory Options) -Idir -Jdir -fintrinsic-modules-path dir (Link Options) -static-libgfortran -static-libquadmath (Runtime Options) -fconvert=conversion -fmax-subrecord-length=length -frecord-marker=length -fsign-zero (Interoperability Options) -fc-prototypes -fc-prototypes-external (Code Generation Options) -faggressive-function-elimination -fblas-matmul-limit=n -fbounds-check -ftail-call-workaround -ftail-call-workaround=n -fcheck-array-temporaries -fcheck= -fcoarray= -fexternal-blas -fexternal-blas64 -ff2c -ffrontend-loop-interchange -ffrontend-optimize -finit-character=n -finit-integer=n -finit-local-zero -finit-derived -finit-logical= -finit-real= -finline-intrinsics[=] -finline-matmul-limit=n -finline-arg-packing -fmax-array-constructor=n -fmax-stack-var-size=n -fno-align-commons -fno-automatic -fno-protect-parens -fno-underscoring -fsecond-underscore -fpack-derived -frealloc-lhs -frecursive -frepack-arrays -fshort-enums -fstack-arrays (Developer Options) -fdump-fortran-global -fdump-fortran-optimized -fdump-fortran-original -fdump-parse-tree -save-temps (Options controlling Fortran dialect) : -ffree-form -ffixed-form . (free form) . (fixed form) . . -fall-intrinsics ( GNU) . -std= gfortran . -Wintrinsics-std "EXTERNAL" . -fallow-argument-mismatch . . -w . . -fallow-argument-mismatch -std=legacy . . TYPE(*) . -fallow-invalid-boz BOZ . BOZ . -fd-lines-as-code -fd-lines-as-comments "d" "D" . -fd-lines-as-code . -fd-lines-as-comments . -fdec DEC. ( DEC) . . GNU Fortran . : -fdollar-ok -fcray-pointer -fdec-char-conversions -fdec-structure -fdec-intrinsic-ints -fdec-static -fdec-math -fdec-include -fdec-blank-format-item -fdec-format-defaults -fd-lines-as-code/-fd-lines-as-comments -fdec -fd-lines-as-comments . -fdec-char-conversions "DATA" . -fdec-structure "STRUCTURE" "RECORD" DEC "UNION" "MAP" ('.') ( '%') . . -fdec-intrinsic-ints B/I/J/K ( "BIAND" "IIAND" "JIAND" ). Intrinsic Procedures . -fdec-math . "COTAN" ( "TAND" "ATAND" ) . . GNU . -fdec-static DEC "STATIC" "AUTOMATIC" . -fdec-include "INCLUDE" "INCLUDE" . "INCLUDE" "INCLUDE" . -fdec-format-defaults F G I . -fdec-blank-format-item . -fdollar-ok $ . $ . $ "IMPLICIT" . -fbackslash << C>> . : \a \b \f \n \r \t \v \\ \0 alert backspace form feed newline carriage return horizontal tab vertical tab backslash NUL. \xnn \unnnn \Unnnnnnnn ( n ) . \ . -fmodule-private "PRIVATE" . Use "PUBLIC" . -ffixed-line-length-n "-fno-pad-source" ( ). n ( ) ( ) ( <> ) . n none . -ffixed-line-length-0 -ffixed-line-length-none . -fno-pad-source ( ). -ffixed-line-length-0 -ffixed-line-length-none -fno-pad-source . . -ffree-line-length-n . . n none . -ffree-line-length-0 -ffree-line-length-none . -fmax-identifier-length=n . ( ) ( ) . -fimplicit-none "IMPLICIT" . "implicit none" . -fcray-pointer Cray C . -fopenacc OpenACC !$acc !$acc c$acc *$acc . -fopenacc OpenACC 2.6 . -pthread -pthread . -fopenacc -frecursive . -fopenmp OpenMP !$omp . !$ . c * . -fopenmp OpenMP 4.5 . -pthread -pthread . -fopenmp -fopenmp-simd -frecursive . -fopenmp-allocators (allocatable) !$omp allocators !$omp allocate . -fopenmp . OpenMP . : (scope) intent(out) . . -fopenmp-simd OpenMP "simd" "declare simd" "declare reduction" "assume" "ordered" "scan" "loop" "simd" "!$omp" . !$ . c * . OpenMP . -fopenmp "loop" "bind" . -fno-range-check . GNU Fortran "a = 1. / 0" . "a" "+Infinity" . ["-HUGE()":HUGE()] "-Inf" "+Inf" . "DATA i/Z'FFFFFFFF'/" -fno-range-check << >> "i" -1 . -fdefault-integer-8 . (kind) 42 . -finteger-4-integer-8 kind . -fdefault-real-8 (real) . 1.0 . "DOUBLE PRECISION" "1.d0" . "-fdefault-double-8" "fdefault-real-8" "DOUBLE PRECISION" . -freal-4-real-8 "fdefault-real-8" kind . -fdefault-real-10 . 1.0 . "DOUBLE PRECISION" "1.d0" . "-fdefault-double-8" "fdefault-real-10" "DOUBLE PRECISION" . -freal-4-real-10 "fdefault-real-10" kind . -fdefault-real-16 . 1.0 . "DOUBLE PRECISION" "1.d0" . "-fdefault-double-8" "fdefault-real-16" "DOUBLE PRECISION" . -freal-4-real-16 "fdefault-real-16" kind . -fdefault-double-8 "DOUBLE PRECISION" "1.d0" . . "DOUBLE PRECISION" "1.d0" -fdefault-real-8 -fdefault-real-10 -fdefault-real-16 . -finteger-4-integer-8 INTEGER(KIND=4) INTEGER(KIND=8) . "KIND=8" . . "EQUIVALENCE" / "COMMON" BOZ /. -fdump-tree-original . -freal-4-real-8 -freal-4-real-10 -freal-4-real-16 -freal-8-real-4 -freal-8-real-10 -freal-8-real-16 REAL(KIND=M) REAL(KIND=N) . REAL(KIND=N) . "-freal-4-" "-freal-8-" . . . "-fdefault-real-8" "-fdefault-real-10" "-fdefault-real-10" "-fdefault-double-8" kind . "REAL(KIND=KIND(1.0))" . . "EQUIVALENCE" / "COMMON" BOZ / "kind=" . -fdump-fortran-original -fdump-tree-original . : / (DTIO) . -std=std f95 f2003 f2008 f2018 f2023 gnu legacy . std gnu GNU Fortran . legacy . f95 f2003 f2008 f2018 f2023 . -std=f2008ts -std=f2018 . gfortran . -std=f202y -std=f2023 202y . 202y . -ftest-forall-temp forall . -funsigned (unsigned) . (Enable and customize preprocessing) (GNU Fortran) C ( CPP FPP ) . C (traditional mode) . (case-preserving) .F .FOR .FTN .fpp .FPP .F90 .F95 .F03 .F08 . -cpp -nocpp . -fpreprocessed . C . "INCLUDE" . "#include" . "__GFORTRAN__" . "__GNUC__" "__GNUC_MINOR__" "__GNUC_PATCHLEVEL__" . Top,,Overview,cpp,The C Preprocessor . (kind types) "INTEGER" "REAL" . . : "__GFC_INT_1__" "__GFC_INT_2__" "__GFC_INT_8__" "__GFC_INT_16__" "__GFC_REAL_10__" "__GFC_REAL_16__". CPP (de facto) (ISO/IEC 1539-3:1998) . : -cpp -nocpp . .fpp .FPP .F .FOR .FTN .F90 .F95 .F03 .F08 . . : -nocpp. (traditional mode) . -ffree-line-length-none -ffixed-line-length-none . -dM '#define' . . foo.f90 touch foo.f90; gfortran -cpp -E -dM foo.f90 . -dD -dM : "#define" . (stdout) . -dN -dD () . -dU -dD '#undef' . -dI '#include' . -fworking-directory (linemarkers) . . GCC . -fno-working-directory . -P "#line" . -idirafter dir dir include -I . dir include . dir "=" "=" sysroot --sysroot -isysroot . -imultilib dir dir C++ . -iprefix prefix prefix -iwithprefix . prefix '/' . -isysroot dir --sysroot . --sysroot . -iquote dir dir "#include "file"" -I "#include " . dir "=" "=" sysroot --sysroot -isysroot . -isystem dir dir -I . . dir "=" "=" sysroot --sysroot -isysroot . -nostdinc . -I ( ) . -undef GCC . . -Apredicate=answer (assertion) predicate answer . -A predicate(answer) . -A-predicate=answer predicate answer . -C () . . -C . '#' . : C . . -CC . -C . -C -CC C++ C . . -CC lint . : C C++ . . -Dname name 1 . -Dname=definition definition '#define' . . . ( ) . . sh csh "-D'name(args...)=definition'" . -D -U . -imacros file -include file -D -U . -H . '#include' . -P . C . -Uname name -D . (Options to request or suppress errors and warnings) GNU Fortran . . . -Werror . -W -Wimplicit . -Wno- -Wno-implicit. . GNU Fortran : -fmax-errors=n n GNU Fortran . n 0 . -fsyntax-only . . -Wpedantic -pedantic . -pedantic C GNU Fortran \e "#include". . . . -pedantic . --- . . -std=f95 -std=f2003 -std=f2008 -std=f2018 -std=f2023 . -pedantic-errors -pedantic . -Wall . -Waliasing -Wampersand -Wconversion -Wsurprising -Wc-binding-type -Wintrinsics-std -Wtabs -Wintrinsic-shadow -Wline-truncation -Wtarget-lifetime -Winteger-division -Wreal-q-constant -Wunused -Wundefined-do-loop . -Waliasing (aliasing) . INTENT(IN) INTENT(OUT) . . interface subroutine bar(a,b) integer, intent(in) :: a integer, intent(out) :: b end subroutine end interface integer :: a call bar(a,a) -Wampersand (&) . -Wampersand -pedantic -std=f95 -std=f2003 -std=f2008 -std=f2018 -std=f2023 . : GNU Fortran . -Warray-temporaries . . -Wc-binding-type C . (kind) kind C "ISO_C_Binding" . -Wall . -Wcharacter-truncation . -Wline-truncation . -Wall . (free-form) -Werror=line-truncation . -Wconversion . -Wall . -Wconversion-extra . -Wconversion . -Wdeprecated-openmp OpenMP . -Wexternal-argument-mismatch . -fc-prototypes-external C23 . -Wall . -Wextra . -Wcompare-reals -Wunused-parameter -Wdo-subscript . -Wfrontend-loop-interchange -ffrontend-loop-interchange . -Wimplicit-interface . . . -Wimplicit-procedure "EXTERNAL" . -Winteger-division ( ) . 3/5 0 . -Wintrinsics-std gfortran ( -std) "EXTERNAL" . -fall-intrinsics . -Wno-overwrite-recursive -fno-automatic -frecursive . "AUTOMATIC" . . -Werror . -Wreal-q-constant (real- literal-constant) "q" . -Wsurprising "" . . : * "SELECT CASE" "INTEGER" "CASE" . * "SELECT CASE" "LOGICAL" "CASE" . * "TRANSFER" . * . -pedantic . * "CHARACTER" . * -fopenmp (sentinel) "omx" . ( "ompx" .) * -fopenacc . -Wtabs . 1 9 . -Wtabs . -Wtabs -pedantic -std=f95 -std=f2003 -std=f2008 -std=f2018 -std=f2023 -Wall . -Wundefined-do-loop "DO" 1 -1 . -Wall . -Wunderflow . . -Wintrinsic-shadow "EXTERNAL" "INTRINSIC" / . -Wall . -Wuse-without-only "USE" "ONLY" . -Wunused-dummy-argument . -Wall . -Wunused-parameter gcc -Wunused-parameter gfortran ( -Wunused-dummy-argument ) "PARAMETER" . -Wunused-parameter -Wunused -Wall -Wextra . -Walign-commons gfortran "COMMON" . -Wno-align-commons . -falign-commons . -Wfunction-elimination -ffrontend-optimize . -Wextra . -Wrealloc-lhs . () 2003 . - ( "(:,:,:)") . . -frealloc-lhs . -Wrealloc-lhs-all . -Wcompare-reals . -Wextra . -Wtarget-lifetime . -Wall . -Wzerotrip "DO" . -Wall . -Wdo-subscript "DO" real a(3) do i=1,4 if (condition(i)) then a(i) = 1.2 end if end do -Wextra . -Werror . . (Options for debugging your program) . -fdebug-aux-vars gfortran . (underscore) . "-fdump-tree-original" "-g" "-ggdb3" . -ffpe-trap=list . "SIGFPE" core . list ( ) none ( ) : invalid ( SQRT(-1.0)) zero ( ) overflow ( ) underflow ( ) inexact ( ) denormal ( ). IEEE 754 (denormal) IEEE 754 x86 . (invalid zero overflow) . : '"ffpe-trap="list1 "ffpe-trap="list2' "ffpe-trap="list1,list2 . ( ) none. "ffpe-trap=inexact" . . -ffpe-summary=list "STOP" "ERROR STOP" "ERROR_UNIT" . list none all : invalid zero overflow underflow inexact denormal. ( -ffpe-trap .) . inexact . -fno-backtrace ( POSIX core ) (backtrace) . "-fno-backtrace" . . (Options for directory search) "INCLUDE" . cpp . -Idir "INCLUDE" ( "#include" cpp) . -I "INCLUDE" header.gcc -I "#include" cpp . .mod "USE" . -Jdir .mod . "USE" . . -fintrinsic-modules-path dir (intrinsic) . (Influencing the linking step) (object files) . . -static-libgfortran libgfortran (static) . libgfortran . -static-libquadmath libquadmath (static) . libquadmath . libquadmath (LGPL) () . (Influencing runtime behavior) . -fconvert=conversion (unformatted) . : native swap big-endian little-endian big-endian big-endian little-endian little-endian . POWER -mabi=ieeelongdouble . : -fconvert=r16_ieee - IEEE REAL(KIND=16). -fconvert=r16_ibm long double IBM REAL(KIND=16). . "CONVERT" GFORTRAN_CONVERT_UNIT -fconvert (override ). -frecord-marker=length . length . . gfortran . gfortran -frecord-marker=8 . -fmax-subrecord-length=length . length 2147483639 . (testsuite) gfortran . -fsign-zero "SIGN" . -fno-sign-zero ( /) Fortran 77 "SIGN" . -fsign-zero . (GNU Fortran Developer Options) . -fdump-fortran-global (middle- end) . . . . -fdump-fortran-optimized (parse tree) (front- end) . . . . -fdump-fortran-original . . . . -fdump-parse-tree . . . . "-fdump-fortran-original" . -save-temps <<>> -dumpbase -dumpdir GCC . gfortran -save-temps -c foo.F90 foo.F90 foo.fii foo.s () foo.o : gfortran -save-temps -S foo.F foo.fi () foo.s . (Options for code generation conventions) (machine-independent) . -ffoo -fno-foo . --- . no- . -fno-automatic ( "RECURSIVE" ) "SAVE" . (common blocks) . ( -static -save .) -fautomatic (stack) -fmax-stack-var-size . -frecursive . "SAVE" -pedantic . -ff2c g77 f2c . g77 ( f2c ) "REAL" "double" C "COMPLEX" . GNU GNU C --- "REAL" "float" C "COMPLEX" "complex" GNU C . -fsecond-underscore -fno-second-underscore . libgfortran . : -ff2c -fno-f2c "COMPLEX" "REAL" . : (intrinsic) "REAL" "COMPLEX" -fno-f2c . -fno-underscoring (underscore) . -funderscoring . . C binding . : f2c g77 -ff2c . -fno-underscoring ( ). -funderscoring j() max_count() "my_var" "lvar" : I = J() + MAX_COUNT (MY_VAR, LVAR) C : i = j_() + max_count_(&my_var, &lvar); -fno-underscoring : i = j() + max_count(&my_var, &lvar); -fno-underscoring . . --- . -fno-underscoring (unresolved-reference) --- . bind(C) . -fsecond-underscore . . "MAX_COUNT" "max_count__" "max_count_" . g77 f2c -ff2c . -fno-underscoring . -ff2c . -fcoarray= none (coarray) (image-control) . () single num_images() . lib . "libcaf_single" GCC . -fcheck= . no- . all -fcheck. array-temps . . : . bits . bounds . (assumed) (deferred) typespec . -fcheck=bounds . : . do . mem . : "ALLOCATE" . pointer (pointers) (allocatables). recursion . -frecursive . : OpenMP -frecursive -fopenmp . : foo.f90 gfortran -fcheck=all,no-array-temps foo.f90 . -fbounds-check -fcheck=bounds. -ftail-call-workaround -ftail-call-workaround=n C ABI gfortran . (push) (tail calls) (overflow the stack) . (workaround) gfortran . -ftail-call-workaround=2 gfortran -ftail-call-workaround=1 -ftail-call-workaround gfortran (implicitly prototyped) . (stack space) . . -fc-prototypes-external ABI gfortran . gfortran . -fno-tail-call-workaround -ftail-call-workaround=0 . -ftail-call-workaround . -fcheck-array-temporaries -fcheck=array-temps. -fmax-array-constructor=n . . program test implicit none integer j integer, parameter :: n = 100000 integer, parameter :: i(n) = (/ (2*j, j = 1, n) /) print '(10(I0,1X))', i end program test : . n . -fmax-stack-var-size=n (static) ( "RECURSIVE" ). -frecursive "RECURSIVE" . -fno-automatic . . GNU Fortran . n 65536 . -fstack-arrays . . -Ofast -fmax-stack-var-size . -fpack-derived GNU Fortran (derived type) . . -frepack-arrays GNU Fortran (assumed-shape) . . . . -fshort-enums C -fshort-enums . GNU Fortran (kind) "INTEGER" . -finline-arg-packing (assumed-shape) (assumed-size) . "foo" : subroutine foo(a) real, dimension(*) :: a end subroutine foo subroutine bar(b) real, dimension(:) :: b call foo(b) end subroutine bar -finline-arg-packing (inline) . . -finline-arg-packing -O -Os. . . -Warray-temporaries . -fexternal-blas gfortran "MATMUL" BLAS ( -fblas-matmul-limit ). BLAS . BLAS (link time) . BLAS ( ) . -fexternal-blas64 . -fexternal-blas64 gfortran "MATMUL" BLAS ( -fblas-matmul-limit ). BLAS . BLAS . BLAS "KIND=8" ( ) . -fexternal-blas . -ffrontend-optimize . -fblas-matmul-limit=n -fexternal-blas -fexternal-blas64 . n BLAS gfortran . . n 30 . -finline-intrinsics -finline-intrinsics=intr1,intr2,... (inline) libgfortran . libgfortran . . . "-finline-intrinsics=..." "-fno-inline-intrinsics=..." . : . "-finline-intrinsics=" "MAXLOC" "MINLOC" . "DIM" "ARRAY" "CHARACTER" . "DIM" "MAXLOC(A(:),DIM=1)" "MINLOC(A(:),DIM=1)" "A" . -finline-matmul-limit=n "MATMUL" . . "-finline-matmul-limit=0" . n n . . n 30 . "-fblas-matmul-limit" . -frecursive . -fmax-stack-var-size= -fno-automatic . -finit-local-zero -finit-derived -finit-integer=n -finit-real= -finit-logical= -finit-character=n -finit-local-zero "INTEGER" "REAL" "COMPLEX" "LOGICAL" false "CHARACTER" (null) . -finit-integer=n -finit-real= ( "COMPLEX" ) -finit-logical= -finit-character=n ( n ASCII ) . -finit-derived . -finit-* -finit-local-zero . : * "POINTER" * (allocatable) * "EQUIVALENCE" . ( ). -finit-real=nan "REAL" "COMPLEX" NaN (quiet NaN) . NaN (signalling NaN) -finit-real=snan NaN (trapping) ( -ffpe-trap). -finit-integer INTEGER(kind=C_LONG) . (wraparound) . -finit-* -Wuninitialized . -falign-commons gfortran "COMMON" (padding) . . "COMMON" -fno-align-commons . "COMMON" . "COMMON" . -fno-protect-parens (reassociation) . -fno-protect-parens "REAL" "COMPLEX" . -fno-signed-zeros -fno-trapping-math . -Ofast . -frealloc-lhs ((re)allocated). -std=f95 . -Wrealloc-lhs . -faggressive-function-elimination "PURE" . a = f(b,c) + f(b,c) "f" . -ffrontend-optimize . -ffrontend-optimize . -O -O0 -Og . : *< "MATMUL",> *< > *< "TRIM" > *< TRIM(a) "a(1:LEN_TRIM(a))" > *< (".AND." ".OR.").> -fno-frontend-optimize . -ffrontend-loop-interchange . -O . "FORALL" "DO CONCURRENT" forall . (ENVIRONMENT) gfortran gcc . (BUGS) : (SEE ALSO) gpl(7), gfdl(7), fsf-funding(7), cpp(1), gcov(1), gcc(1), as(1), ld(1), gdb(1), dbx(1) Info gcc cpp gfortran as ld binutils gdb. (AUTHOR) GCC GNU Fortran Info gfortran . (COPYRIGHT) (c) 2004-2026 (Free Software Foundation, Inc.) / << >> (GNU Free Documentation License) . <> () ( ) () ( ). gfdl(7) . () FSF : A GNU Manual () FSF : You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. gcc-16.1.0 2026-04-30 GFORTRAN(1)