| Language Feature |
Absoft |
ftn95 |
g95 |
gfortran |
intel |
Lahey-LF95 |
PGI |
NAG |
| Fortran 95 |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| TR15581 (Allocatable dummy arguments, derived type components etc.) |
Yes |
No |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| Fortran 2003 Support3 |
Partial |
No |
Partial |
Partial |
Yes |
No |
Yes |
Yes |
| Fortran 2008 Support3 |
No |
No |
No |
Partial |
Partial |
No |
No |
Partial |
| OpenMP |
Yes |
No |
No |
Yes |
Yes |
No |
Yes |
Yes |
| Tabbed source form |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| Symbolic names with $ |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| Hollerith data |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| DOUBLE COMPLEX |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| Varying length for named COMMON |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
| Mix numeric and character in COMMON and EQUIVALENCE |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| INTEGER*n |
1,2,4,8 |
1,2,4,8 |
1,2,4,8 |
1,2,4,8,16 |
1,2,4,8 |
1,2,4,8 |
1,2,4,8 |
1,2,4,8 |
| LOGICAL*n |
1,2,4,8 |
1,2,4 |
1,2,4,8 |
1,2,4,8,16 |
1,2,4,8 |
1,2,4,8 |
1,2,4,8 |
1,2,4,8 |
| REAL*n |
4,8,16 |
4,8,102 |
4,8,10 |
4,8,10,16 |
4,8,16 |
4,8,16 |
4,8 |
4,8,16 |
| Language Feature |
Absoft |
ftn95 |
g95 |
gfortran |
intel |
Lahey |
PGI |
NAG |
| VAX style debug (D) lines |
Yes |
No |
Yes |
Yes |
Yes |
No |
Yes |
No |
| C style string constants (e.g. ‘hello \n world’) |
Option |
No |
Option |
Option |
Option |
No |
Option |
No |
| VAX style STRUCTURE, RECORD, UNION etc. |
Yes |
No |
No |
No |
Yes |
Yes |
Yes |
No |
| Initialization in TYPE statements |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
| ENCODE and DECODE |
Yes |
No |
No |
No |
Yes |
Yes |
Yes |
No |
| variable format expressions using <> |
Yes |
No |
No |
No |
Yes |
Yes |
No |
No |
| \ edit descriptor |
Yes |
Yes |
Yes |
No |
Yes |
Yes |
No |
No |
| Q edit descriptor |
Yes |
No |
No |
No |
Yes |
Yes |
Yes |
No |
| $ edit descriptor |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
| in line assembler |
No |
Yes |
No |
No |
No |
No |
No |
No |
| CRAY Pointers |
Yes |
No |
No |
Yes |
Yes |
Yes |
Yes |
No |
| OPEN for “Transparent” or stream I/O (e.g. FORM=’BINARY’) |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| Language Feature |
Absoft |
ftn95 |
g95 |
gfortran |
intel |
Lahey |
PGI |
NAG |
| Get Command Line |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| Get Environment Variable |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| Invoke External command |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| Get Files in Directory |
Yes1 |
Yes |
No |
No |
Yes |
Yes1 |
No |
Yes |
| Get File Size, Date, Attributes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| VAX style system intrinsics (SECNDS etc.) |
Yes |
No |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
| Unix style system library (getenv, etime etc.) |
Yes |
No |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
| Posix style library (pxfputc, pxfopen etc.) |
No |
No |
No |
No |
Yes |
No |
No |
No |
| Notes |
| 1 |
The Win32 API call must be used |
| 2 |
FTN95 also allows REAL*16 which occupies 16 bytes but with only 10 bytes used |
| 3 |
See here for a detailed feature by feature breakdown compiled by Ian Chivers and Jane Sleightholme |
Return to Fortran Compiler Comparisons homepage