NAG Compiler

The NAG Fortran Compiler (derived from the world's first Fortran 90 compiler which was developed by NAG in 1991) is robust, highly tested, and valued by developers all over the globe for its checking capabilities and detailed error reporting. The compiler is available on Unix platforms as well as for Microsoft Windows and Mac OS X. Release 5.3.1 has extensive support for both legacy and modern Fortran features, and also supports parallel programming with OpenMP.

"My programs are much cleaner thanks to the new features in the NAG Fortran Compiler. This may seem like a minor issue, but there are literally hundreds of routines in my programs which pass arrays between them, and simpler interfaces lead to fewer mistakes. It's also useful to be able to write subroutines which decide the size of their return arrays internally, and to have allocatable arrays as structure components."
- Ian Thompson, Research Associate at Loughborough University


The NAG Fortran Compiler is available on Unix and Apple Mac platforms. For users of Microsoft Windows NAG has developed NAG Fortran Builder, a new Integrated Development Environment (IDE) for the NAG Fortran Compiler.

Enhancements at Release 5.3.1

Release 5.3.1 is an incremental improvement on the last major release of the NAG Fortran Compiler (5.3).

The most important new features introduced in Release 5.3.1 are listed here.

  • Additional OpenMP 3.0 support
  • A number of new Fortran 2008 intrinsics and other language features
  • Optional integer overflow detection capability

These add to the new features introduced in Release 5.3.

Enhancements at Release 5.3

Release 5.3 continues the long line of ever-improving NAG compilers that started with the world's first Fortran 90 compiler - NAGWare f90.

Release 5.3 supports full Fortran 95, almost all Fortran 2003 and some of Fortran 2008. It also adds a large and useful subset of OpenMP. Release 5.3 continues to provide backwards compatibility to previous releases.

The most important new features in this release are listed below.


  • The most commonly used features of OpenMP 3.0 are supported

Fortran 2003 - additional features include

  • FINAL subroutines
  • Structure constructor with keywords for components
  • Structure constructors can be overloaded with generic functions
  • All intrinsic functions permitted in constant expressions
  • Intrinsic functions EXTENDS_TYPE_OF and SAME_TYPE_AS
  • Full ISO 10646 character set (32-bit UCS-4), and UTF-8 file format

Fortran 2008 - additional features include

  • BLOCK construct
  • Omission of allocatable components in structure constructor
  • ISO_FORTRAN_ENV additions
  • New intrinsic functions for bit manipulation
  • Fortran 2008 generic resolution rules

Integrated Tools

  • Callgraph generator
  • Dependency analyser
  • Polisher


  • Most intrinsic modules are now available with -C=undefined
  • Byte swapping I/O with unformatted files
  • JIS X 0213:2004 Japanese character set and Shift-JIS files
  • 16-bit Unicode character set (UCS-2)
  • Additional error checking
  • Performance enhancements

Online Documentation

The compiler is accompanied by first-class electronic help guides giving you the detailed information you need to carry out your work quickly and effectively and a PDF version of the complete compiler manual.

Regular Updates

To ensure that we fulfil your existing and future requirements, the Compiler is regularly updated with new and enhanced features.

Expert Support

If you subscribe to our dedicated Customer Support Service, you will automatically receive any new release that is produced and will have direct access to our experts via the NAG Response Centre, who are there to assist you with your technical queries or difficulties.

Website Feedback

If you would like a response from NAG please provide your e-mail address below.

(If you're a human, don't change the following field)
Your first name.
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Enter the characters shown in the image.