Here is a summary of all the options specific to GNU Fortran, grouped by type. Explanations are in the following sections.
-fall-intrinsics -fbackslash -fcray-pointer -fd-lines-as-code -fd-lines-as-comments -fdefault-double-8 -fdefault-integer-8 -fdefault-real-8 -fdollar-ok -ffixed-line-length-n -ffixed-line-length-none -ffree-form -ffree-line-length-n -ffree-line-length-none -fimplicit-none -finteger-4-integer-8 -fmax-identifier-length -fmodule-private -fno-fixed-form -fno-range-check -fopenmp -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
-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
-Waliasing -Wall -Wampersand -Warray-bounds -Wcharacter-truncation -Wconversion -Wfunction-elimination -Wimplicit-interface -Wimplicit-procedure -Wintrinsic-shadow -Wintrinsics-std -Wline-truncation -Wno-align-commons -Wno-tabs -Wreal-q-constant -Wsurprising -Wunderflow -Wunused-parameter -fmax-errors=n -fsyntax-only -pedantic -pedantic-errors
-fbacktrace -fdump-fortran-optimized -fdump-fortran-original -fdump-parse-tree -ffpe-trap=list
-Idir -Jdir -fintrinsic-modules-path dir
-static-libgfortran
-fconvert=conversion -fmax-subrecord-length=length -fno-range-check -frecord-marker=length -fsign-zero
-faggressive-function-elimination -fblas-matmul-limit=n -fbounds-check -fcheck-array-temporaries -fcheck=<all|array-temps|bounds|do|mem|pointer|recursion> -fcoarray=<none|single|lib> -fexternal-blas -ff2c -ffrontend-optimize -finit-character=n -finit-integer=n -finit-local-zero -finit-logical=<true|false> -finit-real=<zero|inf|-inf|nan|snan> -fmax-array-constructor=n -fmax-stack-var-size=n -fno-align-commons -fno-automatic -fno-protect-parens -fno-underscoring -fno-whole-file -fsecond-underscore -fpack-derived -frealloc-lhs -frecursive -frepack-arrays -fshort-enums -fstack-arrays