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$CONVERT
nnn
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