About This Guide

This guide tells you, a programmer using MIPSpro™ Fortran 90 or MIPSpro POWER Fortran 90, about the implementation details of these Silicon Graphics, Inc. compilers and their run-time support. This edition describes the products only for POWER CHALLENGE systems using IRIX 6.1.

What this Guide Contains

Here is an overview of the material in this book.

  • Chapter 1 covers the phases of compilation and linking, and how to set up the run-time environment for a program.

  • Chapter 2 tells how MIPSpro Fortran 90 implements the features that are defined as processor dependent in the language standard.

  • Chapter 3 describes the programming interface between Fortran 90 and other languages, especially C and C++.

  • Chapter 4 describes the scalar optimizations that are unique to the Fortran 90 compiler, and how you control and apply them.

  • Chapter 5 describes the optimization support for function inlining and interprocedural analysis.

  • Chapter 6 tells how to use special comments called directives to control optimization at a statement level.

  • Chapter 7 describes the optimization features for parallelization and multiprocessors.

  • Chapter 8 tells how to debug and run a parallelized program.

  • Appendix A lists the run-time error codes that can occur.

  • Appendix B covers some problems that can arise when converting Fortran 77 modules to Fortran 90.

Additional Reading

You should be aware of the following books that can be useful in your work with Fortran 90.

  • The Fortran 90 Handbook by Adams, Brainerd, et. al. (McGraw-Hill 1992; ISBN 0-07-000406-4) is the recommended reference manual for the Fortran 90 language. This guide is designed to supplement the Fortran 90 Handbook.

    For each point at which the Fortran 90 Handbook mentions a processor dependency, this Guide has a heading explaining the Silicon Graphics implementation of that feature. In many cases, the paragraph number in the Fortran 90 Handbook is given following the heading.

  • The MIPS Compiling and Performance Tuning Guide describes the common features of Silicon Graphics, Inc. compilers, including such points as:

    • an overview of the compiler system

    • the profiling and optimization facilities of the compiler system

    • a general discussion of performance tuning

    • the object file utilities, archiver, debugger, and other tools

  • The MIPSpro Porting and Transition Guide describes the important differences between 32-bit and 64-bit systems, including

    • an overview of the 64-bit compiler system

    • language implementation differences

    • porting source code to the 64-bit system

    • compilation and run-time issues

  • The MIPSpro Assembly Language Programmer's Guide describes the use of assembly language, and documents the standard instruction sequences used by all Silicon Graphics, Inc. compilers to call subroutines.

  • The CASEVision™/WorkShop User's Guide introduces you to a powerful suite of tools for debugging and performance tuning.

  • The dbx User's Guide lists the commands of the dbx debugger.

Internet Resources for Fortran 90 Users

The following sites point to resources of great value to users of Fortran 90.

  • The Fortran Market™ is a World Wide Web (WWW) site that maintains links to, and information about, Fortran products, services, organizations, and consultants, and a directory of free software in Fortran 77 and Fortran 90.


  • The Center for Scientific Computing in Finland maintains a WWW page with an extensive directory to software archives worldwide.


Conventions Used in This Guide

These are the typographical conventions used in this guide.



Names of Fortran keywords and procedures, and names defined in example code

A function such as AINT must be named in an INTRINSIC statement. The module NEW_TYPE defines type TAX_PAYER.

Names of commands and options entered on the IRIX command line

The compiler driver is f90. Use elfdump -t to list external names in an object file.

Titles of manuals

Refer to the dbx User's Guide.

A term defined in the hypertext glossary

This is a processor dependency.

Filenames and pathnames

The compiler automatically includes libftn90.so, libftn.so, and libm.so from /usr/lib64.

Full lines of example code or commands, including variable elements you supply

f90 -g -mips4 sourcename.f

Exact quotes of computer output

off end of record