using gnu fortran - gnu compiler collection .using gnu fortran for gcc version 4.3.2 (gcc) the...

Download Using GNU Fortran - GNU Compiler Collection .Using GNU Fortran For gcc version 4.3.2 (GCC) The gfortran

Post on 25-Sep-2018

213 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Using GNU FortranFor gcc version 4.3.2

    (GCC)

    The gfortran team

  • Published by the Free Software Foundation51 Franklin Street, Fifth FloorBoston, MA 02110-1301, USA

    Copyright c 1999-2007 Free Software Foundation, Inc.Permission is granted to copy, distribute and/or modify this document under the terms ofthe GNU Free Documentation License, Version 1.1 or any later version published by theFree Software Foundation; with the Invariant Sections being GNU General Public Licenseand Funding Free Software, the Front-Cover texts being (a) (see below), and with theBack-Cover Texts being (b) (see below). A copy of the license is included in the sectionentitled GNU Free Documentation License.(a) The FSFs Front-Cover Text is:A GNU Manual(b) The FSFs Back-Cover Text is:You have freedom to copy and modify this GNU Manual, like GNU software. Copiespublished by the Free Software Foundation raise funds for GNU development.

  • i

    Short Contents

    1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    Part I: Invoking GNU Fortran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 GNU Fortran Command Options . . . . . . . . . . . . . . . . . . . . . . . . 73 Runtime: Influencing runtime behavior with environment

    variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    Part II: Language Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Fortran 2003 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Intrinsic Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 Intrinsic Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

    Contributing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167GNU General Public License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171GNU Free Documentation License . . . . . . . . . . . . . . . . . . . . . . . . . 183Funding Free Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191Option Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193Keyword Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

  • iii

    Table of Contents

    1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 About GNU Fortran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 GNU Fortran and GCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Preprocessing and conditional compilation . . . . . . . . . . . . . . . . . . . . . . 21.4 GNU Fortran and G77 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.5 Project Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.6 Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    Part I: Invoking GNU Fortran . . . . . . . . . . . . . . . . . . . . 5

    2 GNU Fortran Command Options . . . . . . . . . . . . . 72.1 Option summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Options controlling Fortran dialect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3 Options to request or suppress errors and warnings . . . . . . . . . . . . 102.4 Options for debugging your program or GNU Fortran . . . . . . . . . . 122.5 Options for directory search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.6 Influencing the linking step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.7 Influencing runtime behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.8 Options for code generation conventions . . . . . . . . . . . . . . . . . . . . . . . 142.9 Environment variables affecting gfortran . . . . . . . . . . . . . . . . . . . . . 18

    3 Runtime: Influencing runtime behavior withenvironment variables . . . . . . . . . . . . . . . . . . . . . . . . 19

    3.1 GFORTRAN_STDIN_UNITUnit number for standard input . . . . . . 193.2 GFORTRAN_STDOUT_UNITUnit number for standard output . . . . 193.3 GFORTRAN_STDERR_UNITUnit number for standard error . . . . . . 193.4 GFORTRAN_USE_STDERRSend library output to standard error

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.5 GFORTRAN_TMPDIRDirectory for scratch files . . . . . . . . . . . . . . . . . . 193.6 GFORTRAN_UNBUFFERED_ALLDont buffer I/O on all units . . . . . 193.7 GFORTRAN_UNBUFFERED_PRECONNECTEDDont buffer I/O on

    preconnected units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.8 GFORTRAN_SHOW_LOCUSShow location for runtime errors . . . . . . 193.9 GFORTRAN_OPTIONAL_PLUSPrint leading + where permitted . . 203.10 GFORTRAN_DEFAULT_RECLDefault record length for new files

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.11 GFORTRAN_LIST_SEPARATORSeparator for list output . . . . . . . . 203.12 GFORTRAN_CONVERT_UNITSet endianness for unformatted I/O

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.13 GFORTRAN_ERROR_DUMPCOREDump core on run-time errors . . 213.14 GFORTRAN_ERROR_BACKTRACEShow backtrace on run-time errors

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

  • iv The GNU Fortran Compiler

    Part II: Language Reference . . . . . . . . . . . . . . . . . . . . . 23

    4 Fortran 2003 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    5 Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.1 Extensions implemented in GNU Fortran . . . . . . . . . . . . . . . . . . . . . . 27

    5.1.1 Old-style kind specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.1.2 Old-style variable initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.1.3 Extensions to namelist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285.1.4 X format descriptor without count field . . . . . . . . . . . . . . . . . . . 295.1.5 Commas in FORMAT specifications . . . . . . . . . . . . . . . . . . . . . . . . . 295.1.6 Missing period in FORMAT specifications . . . . . . . . . . . . . . . . . . . 295.1.7 I/O item lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.1.8 BOZ literal constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.1.9 Real array indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.1.10 Unary operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.1.11 Implicitly convert LOGICAL and INTEGER values . . . . . . . . . . 305.1.12 Hollerith constants support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.1.13 Cray pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.1.14 CONVERT specifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.1.15 OpenMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.1.16 Argument list functions %VAL, %REF and %LOC . . . . . . . . . . . . 34

    5.2 Extensions not implemented in GNU Fortran . . . . . . . . . . . . . . . . . . 345.2.1 STRUCTURE and RECORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.2.2 ENCODE and DECODE statements . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    6 Intrinsic Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . 376.1 Introduction to intrinsic procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . 376.2 ABORT Abort the program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376.3 ABS Absolute value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386.4 ACCESS Checks file access modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386.5 ACHAR Character in ASCII collating sequence . . . . . . . . . . . . . . . . 396.6 ACOS Arccosine function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406.7 ACOSH Hyperbolic arccosine function . . . . . . . . . . . . . . . . . . . . . . . . 406.8 ADJUSTL Left adjust a string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416.9 ADJUSTR Right adjust a string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416.10 AIMAG Imaginary part of complex number . . . . . . . . . . . . . . . . . 426.11 AINT Truncate to a whole number . . . . . . . . . . . . . . . . . . . . . . . . . 426.12 ALARM Execute a routine after a given delay . . . . . . . . . . . . . . . 436.13 ALL All values in MASK along DIM are true . . . . . . . . . . . . . . 446.14 ALLOCATED Status of an allocatable entity . . . . . . . . . . . . . . . . . 456.15 AND Bitwise logical AND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456.16 ANINT Nearest whole number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466.17 ANY Any value in MASK along DIM is true . . . . . . . . . . . . . . . 466.18 ASIN Arcsine function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476.19 ASINH

Recommended

View more >