OS Manuals

/usr/bin/gfortran

GNU Fortran Compiler

From gfortran 16.2.0-r3 (os), captured 2026-11-10 by running gfortran --help (exit 0). permalink

Also provided by 2 other package versions
Usage: gfortran [options] file...
Options:
  -pass-exit-codes         Exit with highest error code from a phase.
  --help                   Display this information.
  --target-help            Display target specific command line options (including assembler and linker options).
  --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...].
                           Display specific types of command line options.
  (Use '-v --help' to display command line options of sub-processes).
  --version                Display compiler version information.
  -dumpspecs               Display all of the built in spec strings.
  -dumpversion             Display the version of the compiler.
  -dumpmachine             Display the compiler's target processor.
  -foffload=<targets>      Specify offloading targets.
  -print-search-dirs       Display the directories in the compiler's search path.
  -print-libgcc-file-name  Display the name of the compiler's companion library.
  -print-file-name=<lib>   Display the full path to library <lib>.
  -print-prog-name=<prog>  Display the full path to compiler component <prog>.
  -print-multiarch         Display the target's normalized GNU triplet, used as
                           a component in the library path.
  -print-multi-directory   Display the root directory for versions of libgcc.
  -print-multi-lib         Display the mapping between command line options and
                           multiple library search directories.
  -print-multi-os-directory Display the relative path to OS libraries.
  -print-sysroot           Display the target libraries directory.
  -print-sysroot-headers-suffix Display the sysroot suffix used to find headers.
  -Wa,<options>            Pass comma-separated <options> on to the assembler.
  -Wp,<options>            Pass comma-separated <options> on to the preprocessor.
  -Wl,<options>            Pass comma-separated <options> on to the linker.
  -Xassembler <arg>        Pass <arg> on to the assembler.
  -Xpreprocessor <arg>     Pass <arg> on to the preprocessor.
  -Xlinker <arg>           Pass <arg> on to the linker.
  -save-temps              Do not delete intermediate files.
  -save-temps=<arg>        Do not delete intermediate files.
  -no-canonical-prefixes   Do not canonicalize paths when building relative
                           prefixes to other gcc components.
  -pipe                    Use pipes rather than intermediate files.
  -time                    Time the execution of each subprocess.
  -specs=<file>            Override built-in specs with the contents of <file>.
  -std=<standard>          Assume that the input sources are for <standard>.
  --sysroot=<directory>    Use <directory> as the root directory for headers
                           and libraries.
  -B <directory>           Add <directory> to the compiler's search paths.
  -v                       Display the programs invoked by the compiler.
  -###                     Like -v but options quoted and commands not executed.
  -E                       Preprocess only; do not compile, assemble or link.
  -S                       Compile only; do not assemble or link.
  -c                       Compile and assemble, but do not link.
  -o <file>                Place the output into <file>.
  -pie                     Create a dynamically linked position independent
                           executable.
  -shared                  Create a shared library.
  -x <language>            Specify the language of the following input files.
                           Permissible languages include: c c++ assembler none
                           'none' means revert to the default behavior of
                           guessing the language based on the file's extension.

Options starting with -g, -f, -m, -O, -W, or --param are automatically
 passed on to the various sub-processes invoked by gfortran.  In order to pass
 other options on to these processes the -W<letter> options must be used.

For bug reporting instructions, please see:
<https://gcc.gnu.org/bugs/>.
Options (201)
OptionDescriptionSource
-pass-exit-codesExit with highest error code from a phase.help
--helpDisplay this information.help
--target-helpDisplay target specific command line options (including assembler and linker options).help
--versionDisplay compiler version information.help
-dumpspecsDisplay all of the built in spec strings.help
-dumpversionDisplay the version of the compiler.help
-dumpmachineDisplay the compiler's target processor.help
-foffload targetsSpecify offloading targets.help
-print-search-dirsDisplay the directories in the compiler's search path.help
-print-libgcc-file-nameDisplay the name of the compiler's companion library.help
-print-file-name libDisplay the full path to library <lib>.help
-print-prog-name progDisplay the full path to compiler component <prog>.help
-print-multiarchDisplay the target's normalized GNU triplet, used as a component in the library path.help
-print-multi-directoryDisplay the root directory for versions of libgcc.help
-print-multi-libDisplay the mapping between command line options and multiple library search directories.help
-print-sysrootDisplay the target libraries directory.help
-WaPass comma-separated <options> on to the assembler.help
-WpPass comma-separated <options> on to the preprocessor.help
-WlPass comma-separated <options> on to the linker.help
-Xassembler argPass <arg> on to the assembler.help
-Xpreprocessor argPass <arg> on to the preprocessor.help
-Xlinker argPass <arg> on to the linker.help
-save-tempsStore the usual "temporary" intermediate files permanently;help + man
-no-canonical-prefixesDo not canonicalize paths when building relative prefixes to other gcc components.help
-pipeUse pipes rather than intermediate files.help
-timeTime the execution of each subprocess.help
-specs fileOverride built-in specs with the contents of <file>.help
-std standardSpecify the standard to which the program is expected to conform, which may be one of f95, f2003, f2008, f2018, f2023, gnu, or legacy.help + man
--sysroot directoryUse <directory> as the root directory for headers and libraries.help
-B directoryAdd <directory> to the compiler's search paths.help
-vDisplay the programs invoked by the compiler.help
-###Like -v but options quoted and commands not executed.help
-EPreprocess only;help
-SCompile only;help
-cCompile and assemble, but do not link.help
-o filePlace the output into <file>.help
-pieCreate a dynamically linked position independent executable.help
-sharedCreate a shared library.help
-x languageSpecify the language of the following input files.help
-fbacktrace -fdebug-aux-varsDirectory Options (in the manual page but not in --help)man
-Idir -JdirLink Options (in the manual page but not in --help)man
-static-libgfortran -static-libquadmathRuntime Options (in the manual page but not in --help)man
-fconvert conversionInteroperability Options (in the manual page but not in --help)man
-fc-prototypes -fc-prototypes-externalCode Generation Options (in the manual page but not in --help)man
-fdump-fortran-global -fdump-fortran-optimized## Options controlling Fortran dialect (in the manual page but not in --help)man
-ffree-form (in the manual page but not in --help)man
-ffixed-formSpecify the layout used by the source file. (in the manual page but not in --help)man
-fall-intrinsicsThis option causes all intrinsic procedures (including the GNU-specific extensions) to be accepted. (in the manual page but not in --help)man
-fallow-argument-mismatchSome code contains calls to external procedures with mismatches between the calls and the procedure definition, or with mismatches between different calls. (in the manual page but not in --help)man
-fallow-invalid-bozA BOZ literal constant can occur in a limited number of contexts in standard conforming Fortran. (in the manual page but not in --help)man
-fd-lines-as-code (in the manual page but not in --help)man
-fd-lines-as-commentsEnable special treatment for lines beginning with "d" or "D" in fixed form sources. (in the manual page but not in --help)man
-fdecDEC compatibility mode. (in the manual page but not in --help)man
-fdec-char-conversionsEnable the use of character literals in assignments and "DATA" statements for non-character variables. (in the manual page but not in --help)man
-fdec-structureEnable DEC "STRUCTURE" and "RECORD" as well as "UNION", "MAP", and dot ('.') as a member separator (in addition to '%'). (in the manual page but not in --help)man
-fdec-intrinsic-intsEnable B/I/J/K kind variants of existing integer functions (e.g. "BIAND", "IIAND", "JIAND", etc...). (in the manual page but not in --help)man
-fdec-mathObsolete flag. (in the manual page but not in --help)man
-fdec-staticEnable DEC-style "STATIC" and "AUTOMATIC" attributes to explicitly specify the storage of variables and other objects. (in the manual page but not in --help)man
-fdec-includeEnable parsing of "INCLUDE" as a statement in addition to parsing it as "INCLUDE" line. (in the manual page but not in --help)man
-fdec-format-defaultsEnable format specifiers F, G and I to be used without width specifiers; (in the manual page but not in --help)man
-fdec-blank-format-itemEnable a blank format item at the end of a format specification i.e. nothing following the final comma. (in the manual page but not in --help)man
-fdollar-okAllow $ as a valid non-first character in a symbol name. (in the manual page but not in --help)man
-fbackslashChange the interpretation of backslashes in string literals from a single backslash character to "C-style" escape characters. (in the manual page but not in --help)man
-fmodule-privateSet the default accessibility of module entities to "PRIVATE". (in the manual page but not in --help)man
-ffixed-line-length-nSet column after which characters are ignored in typical fixed-form lines in the source file, and, unless "-fno-pad-source", through which spaces are assumed (as if padded to that length) after the… (in the manual page but not in --help)man
-fno-pad-sourceBy default fixed-form lines have spaces assumed (as if padded to that length) after the ends of short fixed-form lines. (in the manual page but not in --help)man
-ffree-line-length-nSet column after which characters are ignored in typical free-form lines in the source file. (in the manual page but not in --help)man
-fmax-identifier-length nSpecify the maximum allowed identifier length. (in the manual page but not in --help)man
-fimplicit-noneSpecify that no implicit typing is allowed, unless overridden by explicit "IMPLICIT" statements. (in the manual page but not in --help)man
-fcray-pointerEnable the Cray pointer extension, which provides C-like pointer functionality. (in the manual page but not in --help)man
-fopenaccEnable handling of OpenACC directives !$acc in free-form Fortran and !$acc, c$acc and $acc in fixed-form Fortran. (in the manual page but not in --help)man
-fopenmpEnable handling of OpenMP directives !$omp in Fortran. (in the manual page but not in --help)man
-fopenmp-allocatorsEnables handling of allocation, reallocation and deallocation of Fortran allocatable and pointer variables that are allocated using the !$omp allocators and !$omp allocate constructs. (in the manual page but not in --help)man
-fopenmp-simdEnable handling of OpenMP's "simd", "declare simd", "declare reduction", "assume", "ordered", "scan" and "loop" directive, and of combined or composite directives with "simd" as constituent with… (in the manual page but not in --help)man
-fno-range-checkDisable range checking on results of simplification of constant expressions during compilation. (in the manual page but not in --help)man
-fdefault-integer-8Set the default integer and logical types to an 8 byte wide type. (in the manual page but not in --help)man
-fdefault-real-8Set the default real type to an 8 byte wide type. (in the manual page but not in --help)man
-fdefault-real-10Set the default real type to an 10 byte wide type. (in the manual page but not in --help)man
-fdefault-real-16Set the default real type to an 16 byte wide type. (in the manual page but not in --help)man
-fdefault-double-8Set the "DOUBLE PRECISION" type and double real constants like "1.d0" to an 8 byte wide type. (in the manual page but not in --help)man
-finteger-4-integer-8Promote all INTEGER(KIND=4) entities to an INTEGER(KIND=8) entities. (in the manual page but not in --help)man
-freal-4-real-8 (in the manual page but not in --help)man
-freal-4-real-10 (in the manual page but not in --help)man
-freal-4-real-16 (in the manual page but not in --help)man
-freal-8-real-4 (in the manual page but not in --help)man
-freal-8-real-10 (in the manual page but not in --help)man
-freal-8-real-16Promote all REAL(KIND=M) entities to REAL(KIND=N) entities. (in the manual page but not in --help)man
-ftest-forall-tempEnhance test coverage by forcing most forall assignments to use temporary. (in the manual page but not in --help)man
-funsignedAllow the experimental unsigned extension. (in the manual page but not in --help)man
-cpp (in the manual page but not in --help)man
-nocppEnable preprocessing. (in the manual page but not in --help)man
-dMInstead of the normal output, generate a list of '#define' directives for all the macros defined during the execution of the preprocessor, including predefined macros. (in the manual page but not in --help)man
-dDLike -dM except in two respects: it does not include the predefined macros, and it outputs both the "#define" directives and the result of preprocessing. (in the manual page but not in --help)man
-dNLike -dD, but emit only the macro names, not their expansions. (in the manual page but not in --help)man
-dULike dD except that only macros that are expanded, or whose definedness is tested in preprocessor directives, are output; (in the manual page but not in --help)man
-dIOutput '#include' directives in addition to the result of preprocessing. (in the manual page but not in --help)man
-fworking-directoryEnable generation of linemarkers in the preprocessor output that let the compiler know the current working directory at the time of preprocessing. (in the manual page but not in --help)man
-idirafter dirSearch dir for include files, but do it after all directories specified with -I and the standard system directories have been exhausted. (in the manual page but not in --help)man
-imultilib dirUse dir as a subdirectory of the directory containing target-specific C++ headers. (in the manual page but not in --help)man
-iprefix prefixSpecify prefix as the prefix for subsequent -iwithprefix options. (in the manual page but not in --help)man
-isysroot dirThis option is like the --sysroot option, but applies only to header files. (in the manual page but not in --help)man
-iquote dirSearch dir only for header files requested with "#include "file""; (in the manual page but not in --help)man
-isystem dirSearch dir for header files, after all directories specified by -I but before the standard system directories. (in the manual page but not in --help)man
-nostdincDo not search the standard system directories for header files. (in the manual page but not in --help)man
-undefDo not predefine any system-specific or GCC-specific macros. (in the manual page but not in --help)man
-Apredicate answerMake an assertion with the predicate predicate and answer answer. (in the manual page but not in --help)man
-A-predicate answerCancel an assertion with the predicate predicate and answer answer. (in the manual page but not in --help)man
-CDo not discard comments. (in the manual page but not in --help)man
-CCDo not discard comments, including during macro expansion. (in the manual page but not in --help)man
-DnamePredefine name as a macro, with definition 1. (in the manual page but not in --help)man
-HPrint the name of each header file used, in addition to other normal activities. (in the manual page but not in --help)man
-PInhibit generation of linemarkers in the output from the preprocessor. (in the manual page but not in --help)man
-UnameCancel any previous definition of name, either built in or provided with a -D option. (in the manual page but not in --help)man
-fmax-errors nLimits the maximum number of error messages to n, at which point GNU Fortran bails out rather than attempting to continue processing the source code. (in the manual page but not in --help)man
-fsyntax-onlyCheck the code for syntax errors, but do not actually compile it. (in the manual page but not in --help)man
-Wpedantic (in the manual page but not in --help)man
-pedanticIssue warnings for uses of extensions to Fortran. (in the manual page but not in --help)man
-pedantic-errorsLike -pedantic, except that errors are produced rather than warnings. (in the manual page but not in --help)man
-WallEnables commonly used warning options pertaining to usage that we recommend avoiding and that we believe are easy to avoid. (in the manual page but not in --help)man
-WaliasingWarn about possible aliasing of dummy arguments. (in the manual page but not in --help)man
-WampersandWarn about missing ampersand in continued character constants. (in the manual page but not in --help)man
-Warray-temporariesWarn about array temporaries generated by the compiler. (in the manual page but not in --help)man
-Wc-binding-typeWarn if the a variable might not be C interoperable. (in the manual page but not in --help)man
-Wcharacter-truncationWarn when a character assignment truncates the assigned string. (in the manual page but not in --help)man
-Wline-truncationWarn when a source code line is truncated. (in the manual page but not in --help)man
-WconversionWarn about implicit conversions that are likely to change the value of the expression after conversion. (in the manual page but not in --help)man
-Wconversion-extraWarn about implicit conversions between different types and kinds. (in the manual page but not in --help)man
-Wdeprecated-openmpWarn for usage of deprecated OpenMP code. (in the manual page but not in --help)man
-Wexternal-argument-mismatchWarn about argument mismatches for dummy external procedures. (in the manual page but not in --help)man
-WextraEnables some warning options for usages of language features that may be problematic. (in the manual page but not in --help)man
-Wfrontend-loop-interchangeWarn when using -ffrontend-loop-interchange for performing loop interchanges. (in the manual page but not in --help)man
-Wimplicit-interfaceWarn if a procedure is called without an explicit interface. (in the manual page but not in --help)man
-Wimplicit-procedureWarn if a procedure is called that has neither an explicit interface nor has been declared as "EXTERNAL". (in the manual page but not in --help)man
-Winteger-divisionWarn if a constant integer division truncates its result. (in the manual page but not in --help)man
-Wintrinsics-stdWarn if gfortran finds a procedure named like an intrinsic not available in the currently selected standard (with -std) and treats it as "EXTERNAL" procedure because of this. (in the manual page but not in --help)man
-Wno-overwrite-recursiveDo not warn when -fno-automatic is used with -frecursive. (in the manual page but not in --help)man
-Wreal-q-constantProduce a warning if a real-literal-constant contains a "q" exponent-letter. (in the manual page but not in --help)man
-WsurprisingProduce a warning when "suspicious" code constructs are encountered. (in the manual page but not in --help)man
-WtabsBy default, tabs are accepted as whitespace, but tabs are not members of the Fortran Character Set. (in the manual page but not in --help)man
-Wundefined-do-loopWarn if a "DO" loop with step either 1 or -1 yields an underflow or an overflow during iteration of an induction variable of the loop. (in the manual page but not in --help)man
-WunderflowProduce a warning when numerical constant expressions that yield an underflow are encountered during compilation. (in the manual page but not in --help)man
-Wintrinsic-shadowWarn if a user-defined procedure or module procedure has the same name as an intrinsic; (in the manual page but not in --help)man
-Wuse-without-onlyWarn if a "USE" statement has no "ONLY" qualifier and thus implicitly imports all public entities of the used module. (in the manual page but not in --help)man
-Wunused-dummy-argumentWarn about unused dummy arguments. (in the manual page but not in --help)man
-Wunused-parameterContrary to gcc's meaning of -Wunused-parameter, gfortran's implementation of this option does not warn about unused dummy arguments (see -Wunused-dummy-argument), but about unused "PARAMETER" values. (in the manual page but not in --help)man
-Walign-commonsBy default, gfortran warns about any occasion of variables being padded for proper alignment inside a "COMMON" block. (in the manual page but not in --help)man
-Wfunction-eliminationWarn if any calls to impure functions are eliminated by the optimizations enabled by the -ffrontend-optimize option. (in the manual page but not in --help)man
-Wrealloc-lhsWarn when the compiler might insert code to for allocation or reallocation of an allocatable array variable of intrinsic type in intrinsic assignments. (in the manual page but not in --help)man
-Wrealloc-lhs-allWarn when the compiler inserts code to for allocation or reallocation of an allocatable variable; (in the manual page but not in --help)man
-Wcompare-realsWarn when comparing real or complex types for equality or inequality. (in the manual page but not in --help)man
-Wtarget-lifetimeWarn if the pointer in a pointer assignment might be longer than the its target. (in the manual page but not in --help)man
-WzerotripWarn if a "DO" loop is known to execute zero times at compile time. (in the manual page but not in --help)man
-Wdo-subscriptWarn if an array subscript inside a "DO" loop could lead to an out-of-bounds access even if the compiler cannot prove that the statement is actually executed, in cases like (in the manual page but not in --help)man
-WerrorTurns all warnings into errors. (in the manual page but not in --help)man
-fdebug-aux-varsRenames internal variables created by the gfortran front end and makes them accessible to a debugger. (in the manual page but not in --help)man
-ffpe-trap listSpecify a list of floating point exception traps to enable. (in the manual page but not in --help)man
-ffpe-summary listSpecify a list of floating-point exceptions, whose flag status is printed to "ERROR_UNIT" when invoking "STOP" and "ERROR STOP". (in the manual page but not in --help)man
-fno-backtraceWhen a serious runtime error is encountered or a deadly signal is emitted (segmentation fault, illegal instruction, bus error, floating-point exception, and the other POSIX signals that have the… (in the manual page but not in --help)man
-JdirThis option specifies where to put .mod files for compiled modules. (in the manual page but not in --help)man
-fintrinsic-modules-path dirThis option specifies the location of pre-compiled intrinsic modules, if they are not in the default location expected by the compiler. (in the manual page but not in --help)man
-static-libquadmathOn systems that provide libquadmath as a shared and a static library, this option forces the use of the static version. (in the manual page but not in --help)man
-frecord-marker lengthSpecify the length of record markers for unformatted files. (in the manual page but not in --help)man
-fmax-subrecord-length lengthSpecify the maximum length for a subrecord. (in the manual page but not in --help)man
-fsign-zeroWhen enabled, floating point numbers of value zero with the sign bit set are written as negative number in formatted output and treated as negative in the "SIGN" intrinsic. (in the manual page but not in --help)man
-fdump-fortran-optimizedOutput the parse tree after front-end optimization. (in the manual page but not in --help)man
-fdump-fortran-originalOutput the internal parse tree after translating the source program into internal representation. (in the manual page but not in --help)man
-fdump-parse-treeOutput the internal parse tree after translating the source program into internal representation. (in the manual page but not in --help)man
-fno-automaticTreat each program unit (except those marked as "RECURSIVE") as if the "SAVE" statement were specified for every local variable and array referenced in it. (in the manual page but not in --help)man
-ff2cGenerate code designed to be compatible with code generated by g77 and f2c. (in the manual page but not in --help)man
-fno-underscoringDo not transform names of entities specified in the Fortran source file by appending underscores to them. (in the manual page but not in --help)man
-fsecond-underscoreBy default, GNU Fortran appends an underscore to external names. (in the manual page but not in --help)man
-fcoarray keywordnone (in the manual page but not in --help)man
-fcheck keywordEnable the generation of run-time checks; (in the manual page but not in --help)man
-fbounds-checkDeprecated alias for -fcheck=bounds. (in the manual page but not in --help)man
-ftail-call-workaround (in the manual page but not in --help)man
-fcheck-array-temporariesDeprecated alias for -fcheck=array-temps. (in the manual page but not in --help)man
-fmax-array-constructor nThis option can be used to increase the upper limit permitted in array constructors. (in the manual page but not in --help)man
-fmax-stack-var-size nThis option specifies the size in bytes of the largest array that is put on the stack; (in the manual page but not in --help)man
-fstack-arraysAdding this option makes the Fortran compiler put all arrays of unknown size and array temporaries onto stack memory. (in the manual page but not in --help)man
-fpack-derivedThis option tells GNU Fortran to pack derived type members as closely as possible. (in the manual page but not in --help)man
-frepack-arraysIn some circumstances GNU Fortran may pass assumed shape array sections via a descriptor describing a noncontiguous area of memory. (in the manual page but not in --help)man
-fshort-enumsThis option is provided for interoperability with C code that was compiled with the -fshort-enums option. (in the manual page but not in --help)man
-finline-arg-packingWhen passing an assumed-shape argument of a procedure as actual argument to an assumed-size or explicit size or as argument to a procedure that does not have an explicit interface, the argument may… (in the manual page but not in --help)man
-fexternal-blasThis option makes gfortran generate calls to BLAS functions for some matrix operations like "MATMUL", instead of using our own algorithms, if the size of the matrices involved is larger than a given… (in the manual page but not in --help)man
-fexternal-blas64makes gfortran generate calls to BLAS functions for some matrix operations like "MATMUL", instead of using our own algorithms, if the size of the matrices involved is larger than a given limit (see… (in the manual page but not in --help)man
-fblas-matmul-limit nOnly significant when -fexternal-blas or -fexternal-blas64 are in effect. (in the manual page but not in --help)man
-finline-intrinsics (in the manual page but not in --help)man
-finline-matmul-limit nWhen front-end optimization is active, some calls to the "MATMUL" intrinsic function are inlined. (in the manual page but not in --help)man
-frecursiveAllow indirect recursion by forcing all local arrays to be allocated on the stack. (in the manual page but not in --help)man
-finit-local-zero (in the manual page but not in --help)man
-finit-derived (in the manual page but not in --help)man
-finit-integer n (in the manual page but not in --help)man
-finit-real zero|inf|-inf|nan|snan (in the manual page but not in --help)man
-finit-logical true|false (in the manual page but not in --help)man
-finit-character nThe -finit-local-zero option instructs the compiler to initialize local "INTEGER", "REAL", and "COMPLEX" variables to zero, "LOGICAL" variables to false, and "CHARACTER" variables to a string of null… (in the manual page but not in --help)man
-falign-commonsBy default, gfortran enforces proper alignment of all variables in a "COMMON" block by padding them as needed. (in the manual page but not in --help)man
-fno-protect-parensBy default the parentheses in expression are honored for all optimization levels such that the compiler does not do any reassociation. (in the manual page but not in --help)man
-frealloc-lhsAn allocatable left-hand side of an intrinsic assignment is automatically (re)allocated if it is either unallocated or has a different shape. (in the manual page but not in --help)man
-faggressive-function-eliminationFunctions with identical argument lists are eliminated within statements, regardless of whether these functions are marked "PURE" or not. (in the manual page but not in --help)man
-ffrontend-optimizeThis option performs front-end optimization, based on manipulating parts of the Fortran parse tree. (in the manual page but not in --help)man
-ffrontend-loop-interchangeAttempt to interchange loops in the Fortran front end where profitable. (in the manual page but not in --help)man

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.