A Compaq Fortran Extensions Supported by KAP

Table A-1 shows the Compaq extensions to Fortran 90.

Table A-1 Compaq Fortran Extensions Supported by KAP

Compaq Fortran 77 Extension  KAP  Compaq Fortran 90 Compiler 
Language Elements and Source Form     
END can be continued across lines  Yes  Yes 
99 continuation lines (in free format)  Yes  Yes 
99 continuation lines (in fixed format)  Yes  Yes 
\ treated as escape     
$ allowed in names  Yes  Yes 
ASCII characters x'a1' to x'fe' valid  Yes  Yes 
D debug lines (in fixed form only)  Yes  Yes 
TAB character treated as whitespace  Yes  Yes 
Leading _ allowed in names    Yes 
Variable names larger than 31 characters     
Data Types and Attributes     
INTEGER*8, LOGICAL*8  Yes  Yes 
REAL*16  Yes  Yes 
Size of the largest character is 2**31  Yes  Yes 
DOUBLE COMPLEX intrinsic type  Yes  Yes 
*typelength specifier  Yes  Yes 
AUTOMATIC attribute and statement  Yes  Yes 
STATIC attribute and statement  Yes  Yes 
BYTE intrinsic type  Yes  Yes 
BYTE treated same as INTEGER  Yes  Yes 
BYTE treated same as LOGICAL  Yes  Yes 
COMPLEX*32     
Cray POINTER  Yes  Yes 
VIRTUAL attribute and statement  Yes  Yes 
VOLATILE attribute and statement  Yes  Yes 
BYTE treated same as CHARACTER     
Cray style boolean constants     
Cray Character POINTER     
IMPLICIT STATIC and AUTOMATIC  Yes   
IMPLICIT UNDEFINED     
VAX STYLE parameter statement  Yes  Yes 
VAX structure, UNION, MAP, RECORD declarations  Yes  Yes 
Constants, Declarations, and Initialization     
Statement function with structure constructor  Yes  Yes 
Hollerith constants in initialization expressions  Yes  Yes 
//Initializer  Yes  Yes 
Equivalence Character and non- Character  Yes  Yes 
Hollerith allowed to initialize COMPLEX  Yes  Yes 
Linear subscript notation in Equivalence  Yes  Yes 
Multiple SAVEs without arguments    Yes 
Named constants allowed to initialize COMPLEX  Yes  Yes 
Trailing octal and hexadecimal notation  Yes  Yes 
Typeless character treated as Hollerith  Yes  Yes 
Cray pointee as element in derived type  Yes  Yes 
Cray POINTER as element in derived type     
Cray POINTER with TARGET attribute  Yes  Yes 
Equivalence using sequenced derived types    Yes 
Scalar subobject allowed in DATA  Yes   
T and F (for .true. and .false. in DATA and initialization expressions)    Yes 
Typeless constants in initialization expressions  Yes  Yes 
Array Concepts     
Underindex of arrays    Yes 
Overindexing of arrays     
[] form for array constructors    Yes 
Array with up to 20 dimension     
Linearized array constructor    Yes 
Expressions and Assignment     
.XOR same as .NEQ  Yes  Yes 
Binary constant allowed in arithmetic expression  Yes  Yes 
Bit mask operations on Cray POINTER variables  Yes  Yes 
Bit mask operations on integer constants and variables  Yes  Yes 
Bit mask operations on typeless constants  Yes  Yes 
Hollerith in arithmetic expressions  Yes  Yes 
Hollerith allowed in relational expressions  Yes  Yes 
.A. .O. .N. for .AND. .OR. .NOT.  Yes   
Adjacent arithmetic operations  Yes  Yes 
Bit mask operations on real constants and variables     
INTEGER and LOGICAL intermixing  Yes  Yes 
Controlling Execution     
Extended range DO loops  Yes  Yes 
Real can be used in integer contexts like RETURN, computed GOTO, array bounds  Yes  Yes 
& in alternate return (in fixed form only)    Yes 
Input and Output Processing     
ENCODE and DECODE I/O statements  Yes  Yes 
'Record specifier  Yes  Yes 
Namelist with internal files  Yes   
VAX ACCEPT, REWRITE, and DELETE statements  Yes  Yes 
VAX OPEN and CLOSE staement specifiers  Yes  Yes 
VAX TYPE I/O statement  Yes  Yes 
VAX UNLOCK, FIND, and DEFINEFILE statements  Yes  Yes 
Input and Output Editing     
$ edit descriptor  Yes  Yes 
Q data edit_descriptor  Yes  Yes 
S edit descriptor  Yes  Yes 
h edit_descriptor  Yes  Yes 
X without position as edit descriptor  Yes  Yes 
Comma optional in format expression  Yes   
Ew.dQe. Qw.d, Fw.dQe edit descriptor  Yes  Yes 
Variable <> format expressions  Yes  Yes 
Non-character format expression  Yes  Yes 
Program Units     
PROGRAM can have argument list  Yes   
RETURN as end in main program     
Using Procedures     
%ref and %val  Yes  Yes 
PURE functions    Yes 
%loc  Yes  Yes 
References to RECURSIVE FUNCTION name followed by 0 are treated as a function call even when the RESULT is not specified as long as the function is not array valued    Yes 
Function result can have SAVE attribute     
Intrinsic Procedures     
MAXLOC and MINLOC accept DIM=argument    Yes 
Scope, Association, and Definition     
COMMON block can be initialized outside of BLOCK DATA  Yes  Yes 
Named COMMON in multiple BLOCK DATA  Yes  Yes 
Up to 26 unnamed block data  Yes   
COMMON block can have same name as program    Yes 


Previous Page | Next Page | Contents | Index |
Command-Line Qualifiers

Copyright © Digital Equipment Corporation. 1999. All Rights Reserved.