Spec-Zone.ru › GNU Fortran 4

The GNU Fortran Compiler

Short Contents

  • Introduction
  • 1 Introduction
  • 2 GNU Fortran Command Options
  • 3 Runtime: Influencing runtime behavior with environment variables
  • 4 Fortran 2003 and 2008 Status
  • 5 Compiler Characteristics
  • 6 Extensions
  • 7 Mixed-Language Programming
  • 8 Intrinsic Procedures
  • 9 Intrinsic Modules
  • Contributing
  • GNU General Public License
  • GNU Free Documentation License
  • Funding Free Software
  • Option Index
  • Keyword Index

Table of Contents

  • Introduction
  • 1 Introduction
    • 1.1 About GNU Fortran
    • 1.2 GNU Fortran and GCC
    • 1.3 Preprocessing and conditional compilation
    • 1.4 GNU Fortran and G77
    • 1.5 Project Status
    • 1.6 Standards
      • 1.6.1 Varying Length Character Strings
  • 2 GNU Fortran Command Options
    • 2.1 Option summary
    • 2.2 Options controlling Fortran dialect
    • 2.3 Enable and customize preprocessing
    • 2.4 Options to request or suppress errors and warnings
    • 2.5 Options for debugging your program or GNU Fortran
    • 2.6 Options for directory search
    • 2.7 Influencing the linking step
    • 2.8 Influencing runtime behavior
    • 2.9 Options for code generation conventions
    • 2.10 Environment variables affecting gfortran
  • 3 Runtime: Influencing runtime behavior with environment variables
    • 3.1 TMPDIR—Directory for scratch files
    • 3.2 GFORTRAN_STDIN_UNIT—Unit number for standard input
    • 3.3 GFORTRAN_STDOUT_UNIT—Unit number for standard output
    • 3.4 GFORTRAN_STDERR_UNIT—Unit number for standard error
    • 3.5 GFORTRAN_UNBUFFERED_ALL—Do not buffer I/O on all units
    • 3.6 GFORTRAN_UNBUFFERED_PRECONNECTED—Do not buffer I/O on preconnected units
    • 3.7 GFORTRAN_SHOW_LOCUS—Show location for runtime errors
    • 3.8 GFORTRAN_OPTIONAL_PLUS—Print leading + where permitted
    • 3.9 GFORTRAN_DEFAULT_RECL—Default record length for new files
    • 3.10 GFORTRAN_LIST_SEPARATOR—Separator for list output
    • 3.11 GFORTRAN_CONVERT_UNIT—Set endianness for unformatted I/O
    • 3.12 GFORTRAN_ERROR_BACKTRACE—Show backtrace on run-time errors
  • 4 Fortran 2003 and 2008 Status
    • 4.1 Fortran 2003 status
    • 4.2 Fortran 2008 status
    • 4.3 Technical Specification 29113 Status
  • 5 Compiler Characteristics
    • 5.1 KIND Type Parameters
    • 5.2 Internal representation of LOGICAL variables
    • 5.3 Thread-safety of the runtime library
    • 5.4 Data consistency and durability
  • 6 Extensions
    • 6.1 Extensions implemented in GNU Fortran
      • 6.1.1 Old-style kind specifications
      • 6.1.2 Old-style variable initialization
      • 6.1.3 Extensions to namelist
      • 6.1.4 X format descriptor without count field
      • 6.1.5 Commas in FORMAT specifications
      • 6.1.6 Missing period in FORMAT specifications
      • 6.1.7 I/O item lists
      • 6.1.8 Q exponent-letter
      • 6.1.9 BOZ literal constants
      • 6.1.10 Real array indices
      • 6.1.11 Unary operators
      • 6.1.12 Implicitly convert LOGICAL and INTEGER values
      • 6.1.13 Hollerith constants support
      • 6.1.14 Cray pointers
      • 6.1.15 CONVERT specifier
      • 6.1.16 OpenMP
      • 6.1.17 Argument list functions %VAL, %REF and %LOC
    • 6.2 Extensions not implemented in GNU Fortran
      • 6.2.1 STRUCTURE and RECORD
      • 6.2.2 ENCODE and DECODE statements
      • 6.2.3 Variable FORMAT expressions
      • 6.2.4 Alternate complex function syntax
      • 6.2.5 Volatile COMMON blocks
  • 7 Mixed-Language Programming
    • 7.1 Interoperability with C
      • 7.1.1 Intrinsic Types
      • 7.1.2 Derived Types and struct
      • 7.1.3 Interoperable Global Variables
      • 7.1.4 Interoperable Subroutines and Functions
      • 7.1.5 Working with Pointers
      • 7.1.6 Further Interoperability of Fortran with C
    • 7.2 GNU Fortran Compiler Directives
    • 7.3 Non-Fortran Main Program
      • 7.3.1 _gfortran_set_args — Save command-line arguments
      • 7.3.2 _gfortran_set_options — Set library option flags
      • 7.3.3 _gfortran_set_convert — Set endian conversion
      • 7.3.4 _gfortran_set_record_marker — Set length of record markers
      • 7.3.5 _gfortran_set_fpe — Enable floating point exception traps
      • 7.3.6 _gfortran_set_max_subrecord_length — Set subrecord length
    • 7.4 Naming and argument-passing conventions
      • 7.4.1 Naming conventions
      • 7.4.2 Argument passing conventions
  • 8 Intrinsic Procedures
    • 8.1 Introduction to intrinsic procedures
    • 8.2 ABORT — Abort the program
    • 8.3 ABS — Absolute value
    • 8.4 ACCESS — Checks file access modes
    • 8.5 ACHAR — Character in ASCII collating sequence
    • 8.6 ACOS — Arccosine function
    • 8.7 ACOSH — Inverse hyperbolic cosine function
    • 8.8 ADJUSTL — Left adjust a string
    • 8.9 ADJUSTR — Right adjust a string
    • 8.10 AIMAG — Imaginary part of complex number
    • 8.11 AINT — Truncate to a whole number
    • 8.12 ALARM — Execute a routine after a given delay
    • 8.13 ALL — All values in MASK along DIM are true
    • 8.14 ALLOCATED — Status of an allocatable entity
    • 8.15 AND — Bitwise logical AND
    • 8.16 ANINT — Nearest whole number
    • 8.17 ANY — Any value in MASK along DIM is true
    • 8.18 ASIN — Arcsine function
    • 8.19 ASINH — Inverse hyperbolic sine function
    • 8.20 ASSOCIATED — Status of a pointer or pointer/target pair
    • 8.21 ATAN — Arctangent function
    • 8.22 ATAN2 — Arctangent function
    • 8.23 ATANH — Inverse hyperbolic tangent function
    • 8.24 ATOMIC_DEFINE — Setting a variable atomically
    • 8.25 ATOMIC_REF — Obtaining the value of a variable atomically
    • 8.26 BACKTRACE — Show a backtrace
    • 8.27 BESSEL_J0 — Bessel function of the first kind of order 0
    • 8.28 BESSEL_J1 — Bessel function of the first kind of order 1
    • 8.29 BESSEL_JN — Bessel function of the first kind
    • 8.30 BESSEL_Y0 — Bessel function of the second kind of order 0
    • 8.31 BESSEL_Y1 — Bessel function of the second kind of order 1
    • 8.32 BESSEL_YN — Bessel function of the second kind
    • 8.33 BGE — Bitwise greater than or equal to
    • 8.34 BGT — Bitwise greater than
    • 8.35 BIT_SIZE — Bit size inquiry function
    • 8.36 BLE — Bitwise less than or equal to
    • 8.37 BLT — Bitwise less than
    • 8.38 BTEST — Bit test function
    • 8.39 C_ASSOCIATED — Status of a C pointer
    • 8.40 C_F_POINTER — Convert C into Fortran pointer
    • 8.41 C_F_PROCPOINTER — Convert C into Fortran procedure pointer
    • 8.42 C_FUNLOC — Obtain the C address of a procedure
    • 8.43 C_LOC — Obtain the C address of an object
    • 8.44 C_SIZEOF — Size in bytes of an expression
    • 8.45 CEILING — Integer ceiling function
    • 8.46 CHAR — Character conversion function
    • 8.47 CHDIR — Change working directory
    • 8.48 CHMOD — Change access permissions of files
    • 8.49 CMPLX — Complex conversion function
    • 8.50 COMMAND_ARGUMENT_COUNT — Get number of command line arguments
    • 8.51 COMPILER_OPTIONS — Options passed to the compiler
    • 8.52 COMPILER_VERSION — Compiler version string
    • 8.53 COMPLEX — Complex conversion function
    • 8.54 CONJG — Complex conjugate function
    • 8.55 COS — Cosine function
    • 8.56 COSH — Hyperbolic cosine function
    • 8.57 COUNT — Count function
    • 8.58 CPU_TIME — CPU elapsed time in seconds
    • 8.59 CSHIFT — Circular shift elements of an array
    • 8.60 CTIME — Convert a time into a string
    • 8.61 DATE_AND_TIME — Date and time subroutine
    • 8.62 DBLE — Double conversion function
    • 8.63 DCMPLX — Double complex conversion function
    • 8.64 DIGITS — Significant binary digits function
    • 8.65 DIM — Positive difference
    • 8.66 DOT_PRODUCT — Dot product function
    • 8.67 DPROD — Double product function
    • 8.68 DREAL — Double real part function
    • 8.69 DSHIFTL — Combined left shift
    • 8.70 DSHIFTR — Combined right shift
    • 8.71 DTIME — Execution time subroutine (or function)
    • 8.72 EOSHIFT — End-off shift elements of an array
    • 8.73 EPSILON — Epsilon function
    • 8.74 ERF — Error function
    • 8.75 ERFC — Error function
    • 8.76 ERFC_SCALED — Error function
    • 8.77 ETIME — Execution time subroutine (or function)
    • 8.78 EXECUTE_COMMAND_LINE — Execute a shell command
    • 8.79 EXIT — Exit the program with status.
    • 8.80 EXP — Exponential function
    • 8.81 EXPONENT — Exponent function
    • 8.82 EXTENDS_TYPE_OF — Query dynamic type for extension
    • 8.83 FDATE — Get the current time as a string
    • 8.84 FGET — Read a single character in stream mode from stdin
    • 8.85 FGETC — Read a single character in stream mode
    • 8.86 FLOOR — Integer floor function
    • 8.87 FLUSH — Flush I/O unit(s)
    • 8.88 FNUM — File number function
    • 8.89 FPUT — Write a single character in stream mode to stdout
    • 8.90 FPUTC — Write a single character in stream mode
    • 8.91 FRACTION — Fractional part of the model representation
    • 8.92 FREE — Frees memory
    • 8.93 FSEEK — Low level file positioning subroutine
    • 8.94 FSTAT — Get file status
    • 8.95 FTELL — Current stream position
    • 8.96 GAMMA — Gamma function
    • 8.97 GERROR — Get last system error message
    • 8.98 GETARG — Get command line arguments
    • 8.99 GET_COMMAND — Get the entire command line
    • 8.100 GET_COMMAND_ARGUMENT — Get command line arguments
    • 8.101 GETCWD — Get current working directory
    • 8.102 GETENV — Get an environmental variable
    • 8.103 GET_ENVIRONMENT_VARIABLE — Get an environmental variable
    • 8.104 GETGID — Group ID function
    • 8.105 GETLOG — Get login name
    • 8.106 GETPID — Process ID function
    • 8.107 GETUID — User ID function
    • 8.108 GMTIME — Convert time to GMT info
    • 8.109 HOSTNM — Get system host name
    • 8.110 HUGE — Largest number of a kind
    • 8.111 HYPOT — Euclidean distance function
    • 8.112 IACHAR — Code in ASCII collating sequence
    • 8.113 IALL — Bitwise AND of array elements
    • 8.114 IAND — Bitwise logical and
    • 8.115 IANY — Bitwise OR of array elements
    • 8.116 IARGC — Get the number of command line arguments
    • 8.117 IBCLR — Clear bit
    • 8.118 IBITS — Bit extraction
    • 8.119 IBSET — Set bit
    • 8.120 ICHAR — Character-to-integer conversion function
    • 8.121 IDATE — Get current local time subroutine (day/month/year)
    • 8.122 IEOR — Bitwise logical exclusive or
    • 8.123 IERRNO — Get the last system error number
    • 8.124 IMAGE_INDEX — Function that converts a cosubscript to an image index
    • 8.125 INDEX — Position of a substring within a string
    • 8.126 INT — Convert to integer type
    • 8.127 INT2 — Convert to 16-bit integer type
    • 8.128 INT8 — Convert to 64-bit integer type
    • 8.129 IOR — Bitwise logical or
    • 8.130 IPARITY — Bitwise XOR of array elements
    • 8.131 IRAND — Integer pseudo-random number
    • 8.132 IS_IOSTAT_END — Test for end-of-file value
    • 8.133 IS_IOSTAT_EOR — Test for end-of-record value
    • 8.134 ISATTY — Whether a unit is a terminal device.
    • 8.135 ISHFT — Shift bits
    • 8.136 ISHFTC — Shift bits circularly
    • 8.137 ISNAN — Test for a NaN
    • 8.138 ITIME — Get current local time subroutine (hour/minutes/seconds)
    • 8.139 KILL — Send a signal to a process
    • 8.140 KIND — Kind of an entity
    • 8.141 LBOUND — Lower dimension bounds of an array
    • 8.142 LCOBOUND — Lower codimension bounds of an array
    • 8.143 LEADZ — Number of leading zero bits of an integer
    • 8.144 LEN — Length of a character entity
    • 8.145 LEN_TRIM — Length of a character entity without trailing blank characters
    • 8.146 LGE — Lexical greater than or equal
    • 8.147 LGT — Lexical greater than
    • 8.148 LINK — Create a hard link
    • 8.149 LLE — Lexical less than or equal
    • 8.150 LLT — Lexical less than
    • 8.151 LNBLNK — Index of the last non-blank character in a string
    • 8.152 LOC — Returns the address of a variable
    • 8.153 LOG — Natural logarithm function
    • 8.154 LOG10 — Base 10 logarithm function
    • 8.155 LOG_GAMMA — Logarithm of the Gamma function
    • 8.156 LOGICAL — Convert to logical type
    • 8.157 LONG — Convert to integer type
    • 8.158 LSHIFT — Left shift bits
    • 8.159 LSTAT — Get file status
    • 8.160 LTIME — Convert time to local time info
    • 8.161 MALLOC — Allocate dynamic memory
    • 8.162 MASKL — Left justified mask
    • 8.163 MASKR — Right justified mask
    • 8.164 MATMUL — matrix multiplication
    • 8.165 MAX — Maximum value of an argument list
    • 8.166 MAXEXPONENT — Maximum exponent of a real kind
    • 8.167 MAXLOC — Location of the maximum value within an array
    • 8.168 MAXVAL — Maximum value of an array
    • 8.169 MCLOCK — Time function
    • 8.170 MCLOCK8 — Time function (64-bit)
    • 8.171 MERGE — Merge variables
    • 8.172 MERGE_BITS — Merge of bits under mask
    • 8.173 MIN — Minimum value of an argument list
    • 8.174 MINEXPONENT — Minimum exponent of a real kind
    • 8.175 MINLOC — Location of the minimum value within an array
    • 8.176 MINVAL — Minimum value of an array
    • 8.177 MOD — Remainder function
    • 8.178 MODULO — Modulo function
    • 8.179 MOVE_ALLOC — Move allocation from one object to another
    • 8.180 MVBITS — Move bits from one integer to another
    • 8.181 NEAREST — Nearest representable number
    • 8.182 NEW_LINE — New line character
    • 8.183 NINT — Nearest whole number
    • 8.184 NORM2 — Euclidean vector norms
    • 8.185 NOT — Logical negation
    • 8.186 NULL — Function that returns an disassociated pointer
    • 8.187 NUM_IMAGES — Function that returns the number of images
    • 8.188 OR — Bitwise logical OR
    • 8.189 PACK — Pack an array into an array of rank one
    • 8.190 PARITY — Reduction with exclusive OR
    • 8.191 PERROR — Print system error message
    • 8.192 POPCNT — Number of bits set
    • 8.193 POPPAR — Parity of the number of bits set
    • 8.194 PRECISION — Decimal precision of a real kind
    • 8.195 PRESENT — Determine whether an optional dummy argument is specified
    • 8.196 PRODUCT — Product of array elements
    • 8.197 RADIX — Base of a model number
    • 8.198 RAN — Real pseudo-random number
    • 8.199 RAND — Real pseudo-random number
    • 8.200 RANDOM_NUMBER — Pseudo-random number
    • 8.201 RANDOM_SEED — Initialize a pseudo-random number sequence
    • 8.202 RANGE — Decimal exponent range
    • 8.203 RANK — Rank of a data object
    • 8.204 REAL — Convert to real type
    • 8.205 RENAME — Rename a file
    • 8.206 REPEAT — Repeated string concatenation
    • 8.207 RESHAPE — Function to reshape an array
    • 8.208 RRSPACING — Reciprocal of the relative spacing
    • 8.209 RSHIFT — Right shift bits
    • 8.210 SAME_TYPE_AS — Query dynamic types for equality
    • 8.211 SCALE — Scale a real value
    • 8.212 SCAN — Scan a string for the presence of a set of characters
    • 8.213 SECNDS — Time function
    • 8.214 SECOND — CPU time function
    • 8.215 SELECTED_CHAR_KIND — Choose character kind
    • 8.216 SELECTED_INT_KIND — Choose integer kind
    • 8.217 SELECTED_REAL_KIND — Choose real kind
    • 8.218 SET_EXPONENT — Set the exponent of the model
    • 8.219 SHAPE — Determine the shape of an array
    • 8.220 SHIFTA — Right shift with fill
    • 8.221 SHIFTL — Left shift
    • 8.222 SHIFTR — Right shift
    • 8.223 SIGN — Sign copying function
    • 8.224 SIGNAL — Signal handling subroutine (or function)
    • 8.225 SIN — Sine function
    • 8.226 SINH — Hyperbolic sine function
    • 8.227 SIZE — Determine the size of an array
    • 8.228 SIZEOF — Size in bytes of an expression
    • 8.229 SLEEP — Sleep for the specified number of seconds
    • 8.230 SPACING — Smallest distance between two numbers of a given type
    • 8.231 SPREAD — Add a dimension to an array
    • 8.232 SQRT — Square-root function
    • 8.233 SRAND — Reinitialize the random number generator
    • 8.234 STAT — Get file status
    • 8.235 STORAGE_SIZE — Storage size in bits
    • 8.236 SUM — Sum of array elements
    • 8.237 SYMLNK — Create a symbolic link
    • 8.238 SYSTEM — Execute a shell command
    • 8.239 SYSTEM_CLOCK — Time function
    • 8.240 TAN — Tangent function
    • 8.241 TANH — Hyperbolic tangent function
    • 8.242 THIS_IMAGE — Function that returns the cosubscript index of this image
    • 8.243 TIME — Time function
    • 8.244 TIME8 — Time function (64-bit)
    • 8.245 TINY — Smallest positive number of a real kind
    • 8.246 TRAILZ — Number of trailing zero bits of an integer
    • 8.247 TRANSFER — Transfer bit patterns
    • 8.248 TRANSPOSE — Transpose an array of rank two
    • 8.249 TRIM — Remove trailing blank characters of a string
    • 8.250 TTYNAM — Get the name of a terminal device.
    • 8.251 UBOUND — Upper dimension bounds of an array
    • 8.252 UCOBOUND — Upper codimension bounds of an array
    • 8.253 UMASK — Set the file creation mask
    • 8.254 UNLINK — Remove a file from the file system
    • 8.255 UNPACK — Unpack an array of rank one into an array
    • 8.256 VERIFY — Scan a string for characters not a given set
    • 8.257 XOR — Bitwise logical exclusive OR
  • 9 Intrinsic Modules
    • 9.1 ISO_FORTRAN_ENV
    • 9.2 ISO_C_BINDING
    • 9.3 OpenMP Modules OMP_LIB and OMP_LIB_KINDS
  • Contributing
    • Contributors to GNU Fortran
    • Projects
    • Proposed Extensions
      • Compiler extensions:
      • Environment Options
  • GNU General Public License
  • GNU Free Documentation License
    • ADDENDUM: How to use this License for your documents
  • Funding Free Software
  • Option Index
  • Keyword Index

Introduction

This manual documents the use of gfortran, the GNU Fortran compiler. You can find in this manual how to invoke gfortran, as well as its features and incompatibilities.

  • Introduction

Part I: Invoking GNU Fortran

  • Invoking GNU Fortran: Command options supported by gfortran.
  • Runtime: Influencing runtime behavior with environment variables.

Part II: Language Reference

  • Fortran 2003 and 2008 status: Fortran 2003 and 2008 features supported by GNU Fortran.
  • Compiler Characteristics: User-visible implementation details.
  • Extensions: Language extensions implemented by GNU Fortran.
  • Mixed-Language Programming: Interoperability with C
  • Intrinsic Procedures: Intrinsic procedures supported by GNU Fortran.
  • Intrinsic Modules: Intrinsic modules supported by GNU Fortran.
  • Contributing: How you can help.
  • Copying: GNU General Public License says how you can copy and share GNU Fortran.
  • GNU Free Documentation License How you can copy and share this manual.
  • Funding: How to help assure continued work for free software.
  • Option Index: Index of command line options
  • Keyword Index: Index of concepts

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gfortran/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API