Compaq Fortran
User Manual for
OpenVMS Alpha Systems


Previous Contents Index

Chapter 7
7 Run-Time Errors
     7.1     Compaq Fortran RTL Default Error Processing
         7.1.1         Run-Time Message Format
         7.1.2         Run-Time Message Severity Levels
     7.2     Handling Errors
         7.2.1         Using the ERR, EOR, and END Branch Specifiers
         7.2.2         Using the IOSTAT Specifier
     7.3     List of Run-Time Messages
Chapter 8
8 Data Types and Representation
     8.1     Summary of Data Types and Characteristics
     8.2     Integer Data Representations
         8.2.1         Integer Declarations and FORTRAN Command Qualifiers
         8.2.2         INTEGER (KIND=1) or INTEGER*1 Representation
         8.2.3         INTEGER (KIND=2) or INTEGER*2 Representation
         8.2.4         INTEGER (KIND=4) or INTEGER*4 Representation
         8.2.5         INTEGER (KIND=8) or INTEGER*8 Representation
     8.3     Logical Data Representations
     8.4     Native Floating-Point Representations and IEEE Exceptional Values
         8.4.1         REAL, COMPLEX, and DOUBLE PRECISION Declarations and FORTRAN Qualifiers
         8.4.2         REAL (KIND=4) or REAL*4 Representations
             8.4.2.1             IEEE S_float Representation
             8.4.2.2             VAX F_float Representation
         8.4.3         REAL (KIND=8) or REAL*8 Representations
             8.4.3.1             IEEE T_float Representation
             8.4.3.2             VAX G_float Representation
             8.4.3.3             VAX D_float Representation
         8.4.4         REAL (KIND=16) or REAL*16 X_float Representation
         8.4.5         COMPLEX (KIND=4) or COMPLEX*8 Representations
         8.4.6         COMPLEX (KIND=8) or COMPLEX*16 Representations
         8.4.7         Exceptional IEEE Floating-Point Representations
     8.5     Character Representation
     8.6     Hollerith Representation
Chapter 9
9 Converting Unformatted Numeric Data
     9.1     Endian Order of Numeric Formats
     9.2     Native and Supported Nonnative Numeric Formats
     9.3     Limitations of Numeric Conversion
     9.4     Methods of Specifying the Unformatted Numeric Format
         9.4.1         Logical Name FOR$CONVERTnnn Method
         9.4.2         OPEN Statement CONVERT='keyword' Method
         9.4.3         OPTIONS Statement /CONVERT=keyword Method
         9.4.4         FORTRAN Command /CONVERT=keyword Qualifier Method
         9.4.5         Additional Notes on Nonnative Data
Chapter 10
10 Using Compaq Fortran in the Common Language Environment
     10.1     Compaq Fortran Procedures and Argument Passing
         10.1.1         Explicit and Implicit Interfaces
         10.1.2         Types of Compaq Fortran Subprograms
         10.1.3         Using Procedure Interface Blocks
         10.1.4         Passing Arguments and Function Return Values
         10.1.5         Passing Arrays as Arguments
         10.1.6         Passing Pointers as Arguments
         10.1.7         Compaq Fortran Array Descriptor Format
     10.2     Argument-Passing Mechanisms and Built-In Functions
         10.2.1         Passing Arguments by Descriptor---%DESCR Function
         10.2.2         Passing Addresses---%LOC Function
         10.2.3         Passing Arguments by Immediate Value---%VAL Function
         10.2.4         Passing Arguments by Reference---%REF Function
         10.2.5         Examples of Argument Passing Built-in Functions
     10.3     Using the cDEC$ ALIAS and cDEC$ ATTRIBUTES Directives
         10.3.1         The cDEC$ ALIAS Directive
         10.3.2         The cDEC$ ATTRIBUTES Directive
             10.3.2.1             C Property
             10.3.2.2             ALIAS Property
             10.3.2.3             REFERENCE and VALUE Properties
             10.3.2.4             EXTERN and VARYING Properties
             10.3.2.5             ADDRESS64 Property
     10.4     OpenVMS Procedure-Calling Standard
         10.4.1         Register and Stack Usage
         10.4.2         Return Values of Procedures
         10.4.3         Argument Lists
     10.5     OpenVMS System Routines
         10.5.1         OpenVMS Run-Time Library Routines
         10.5.2         OpenVMS System Services Routines
     10.6     Calling Routines---General Considerations
     10.7     Calling OpenVMS System Services
         10.7.1         Obtaining Values for System Symbols
         10.7.2         Calling System Services by Function Reference
         10.7.3         Calling System Services as Subroutines
         10.7.4         Passing Arguments to System Services
             10.7.4.1             Immediate Value Arguments
             10.7.4.2             Address Arguments
             10.7.4.3             Descriptor Arguments
             10.7.4.4             Data Structure Arguments
             10.7.4.5             Examples of Passing Arguments
     10.8     Calling Between Compaq Fortran 77 and Compaq Fortran
         10.8.1         Argument Passing and Function Return Values
         10.8.2         Using Data Items in Common Blocks
         10.8.3         I/O to the Same Unit Number
     10.9     Calling Between Compaq Fortran and Compaq C
         10.9.1         Compiling and Linking Files
         10.9.2         Procedures and External Names
         10.9.3         Invoking a C Function from Compaq Fortran
         10.9.4         Invoking a Compaq Fortran Function or Subroutine from C
         10.9.5         Equivalent Data Types for Function Return Values
         10.9.6         Argument Association and Equivalent Data Types
             10.9.6.1             Compaq Fortran Intrinsic Data Types
             10.9.6.2             Equivalent Compaq Fortran and C Data Types
         10.9.7         Example of Passing Integer Data to C Functions
         10.9.8         Example of Passing Complex Data to C Functions
         10.9.9         Handling User-Defined Structures
         10.9.10         Handling Scalar Pointer Data
         10.9.11         Handling Arrays
         10.9.12         Handling Common Blocks of Data
Chapter 11
11 Using OpenVMS Record Management Services
     11.1     RMS Data Structures
         11.1.1         Using FORSYSDEF Library Modules to Manipulate RMS Data Structures
         11.1.2         The File Access Block
         11.1.3         The Record Access Block
         11.1.4         The Name Block
         11.1.5         Extended Attributes Blocks
     11.2     RMS Services
         11.2.1         Declaring RMS System Service Names
         11.2.2         Arguments to RMS Services
         11.2.3         Checking Status from RMS Services
         11.2.4         Opening a File
         11.2.5         Closing a File
         11.2.6         Writing Data
         11.2.7         Reading Data
         11.2.8         Other Services
     11.3     User-Written Open Procedures
         11.3.1         Examples of USEROPEN Routines
         11.3.2         RMS Control Structures
     11.4     Example of Block Mode I/O
         11.4.1         Main Block Mode I/O Program---BIO
         11.4.2         Block Mode I/O USEROPEN Functions---BIOCREATE and BIOREAD
             11.4.2.1             OUTPUT Routine
             11.4.2.2             INPUT Routine


Previous Next Contents Index