HP Fortran Programmer's Reference (September 2007)

HP Fortran statements
BUFFER IN (extension)
Chapter 10 285
BUFFER IN (extension)
Provided for compatibility with the BUFFER IN Cray statement.
NOTE Asynchronous I/O with the BUFFER IN statements is not supported. HP
Fortran 90 Draft supports these statements for synchronous I/O only.
Syntax
BUFFER IN
(unit, mode) (begin-loc, end-loc
)
unit
is a unit identifier (integer expression).
mode
is ignored.
begin-loc, end-loc
are symbolic names of the variables, arrays, or array elements that
mark the beginning and end locations of the BUFFER IN operation.
begin-loc and end-loc must be either elements of a single array (or
equivalenced to an array) or members of the same common block.
Description
The BUFFER IN statement is an HP Fortran extension that provides compatibility with the
Cray BUFFER IN feature. The statement causes data to be transferred while allowing any
subsequent statements to execute concurrently.
The BUFFER IN statement is provided as a porting aid for existing Cray code; it typically will
not produce superior performance compared to conventional Fortran 90 I/O methods.
Other Fortran I/O statements (i.e., READ, WRITE, PRINT, ACCEPT, and TYPE) cannot
be used on the same unit as the BUFFER IN statement. Mixing the standard Fortran 90
I/O operations with BUFFER IN on the same logical unit number can confuse the input
stream (READ) or corrupt the data file (WRITE).
The BACKSPACE statement cannot be used with files that are capable of being
transferred by the BUFFER IN statement. Such files are referred to as pure-data
(unblocked) files.
Examples
The following program shows how to use the BUFFER IN and BUFFER OUT statements. The
program must be compiled with the +autodbl option.