Chapter 1. Introduction

This manual describes the MIPSpro 7 Fortran 90 compiler. This compiler runs under the IRIX operating system, version 6.2 and later, on Silicon Graphics and Cray computer systems.

The MIPSpro 7 Fortran 90 compiler was developed to support the Fortran standard adopted by the American National Standards Institute (ANSI) and the International Standards Organization (ISO). This standard, commonly referred to as the Fortran 95 standard, is ISO/IEC 1539-1:1997. Because the Fortran 95 standard is a superset of previous Fortran standards, the MIPSpro 7 Fortran 90 compiler compiles code written in accordance with previous Fortran standards.

The Fortran 95 standard is a revision to the Fortran 90 language standard. Because of the number and complexity of the features, the standards organizations are continuing to interpret the Fortran 95 standard for Silicon Graphics and for other vendors. To maintain conformance to the Fortran 95 standard, Silicon Graphics may need to change the behavior of certain MIPSpro 7 Fortran 90 features in future releases based upon the outcome of the outstanding interpretations to the standard.

The f90(1) Command

In the following example, the f90(1) command is used to invoke the compiler. The -listing option is specified to generate a source listing and a cross reference. File pgm.f is the input file. After compilation, you can run this program by entering the output file name as a command. In this example, the default output file name, a.out, is used. Figure 1-1 illustrates this example:

% f90 -listing pgm.f
% ./a.out

Figure 1-1. f90(1) command example

f90 command example

You can use the options on the f90(1) command line to modify the default actions; for example, you can disable the load step. For more information on f90(1) command line options, see Chapter 2, “Invoking MIPSpro 7 Fortran 90”.

The MIPSpro 7 Fortran 90 Programming Environment

The MIPSpro 7 Fortran 90 compiler is one of many products that form the IRIX programming environment. This environment allows you to develop, debug, and run Fortran codes on your computer system. It includes the following products:

  • A loader. By default, the IRIX loader, ld(1), is invoked and your program is automatically loaded.

  • A preprocessor. By default, files suffixed with .F or .F90 are run through the Fortran source preprocessor prior to compilation. You can use the -ftpp or -cpp options on the f90(1) command line to invoke a preprocessor for files without the .F or .F90 suffix.

  • A lister. You can specify the -listing option on the f90(1) command line to obtain a source listing and a cross reference. You can also invoke a separate lister, ftnlist(1).

  • The ftnlint(1) utility, which checks Fortran programs for possible errors.

  • The compiler information file (CIF) tools, which include the cifconv(1) command and the libraries. For more information on these, see the Compiler Information File (CIF) Reference Manual.

  • The libraries, which include functions optimized for use on IRIX systems. Information on the individual library routines can be found in the online man pages for each routine. In addition to online man pages, the Application Programmer's Library Reference Manual, contains printed copies of the library routine man pages and other library information.

    The intrinsic procedures are implemented within the math library (libm), within libfortran, and within the compiler itself. The Intrinsic Procedures Reference Manual, contains printed copies of the online man pages for all the intrinsic procedures.

  • The performance tools contained in SpeedShop and in the ProDev ProMP suite. For more information on these products, see the SpeedShop User's Guide or the ProDev ProMP User's Guide.

  • The archiving tool. An archive library is a file that contains one or more routines in object file format (file.o). When a program calls an object file that is not explicitly included in the program, the loader, ld(1), looks for that object file in an archive library. The loader then loads only that object file, not the whole library, and loads it with the calling program.

    The archiver creates and maintains archive libraries. It allows you to copy new objects into the library, replace existing objects in the library, move objects within the library, and copy individual objects from the library into individual object files. For more information on the archive library, see the ar(1) man page.

  • Object file tools, which allow you to disassemble object files into machine instructions, print information about archive files, and perform other tasks. For more information on these tools, see the following man pages: dis(1), elfdump(1), file(1), nm(1), size(1), and strip(1).

  • ftnchop(1), ftnmgen(1), and ftnsplit(1). These commands invoke a program unit problem isolator, a Fortran makefile utility, and a split utility, respectively. For more information on these commands, see the man pages for each.

  • Online documentation utilities. The man(1) command allows you to retrieve online man pages. Prose reference text, such as this manual, can be retrieved through the WWW browser supported at your site. Contact your support staff for specific information on retrieving information in this manner.

  • Modules. The MIPSpro 7 Fortran 90 compiler can be installed with the modules utility. This utility allows you to access different versions of the compiler and runtime environment. For more information on using the modules utility, see the modules(1) man page or enter the following command:

    % relnotes modules

  • The message system. This system lets you obtain more comprehensive explanations of messages generated by the compiler and tools in the MIPSpro 7 Fortran 90 compiling environment. When a message condition occurs, both a message number and a verbal summary of the problem is generated. If you need more information on the error condition described in the summary, you can enter the explain(1) command to retrieve a more detailed description.

  • Environment variables. For more information, see the pe_environ(5) man page, which describes many environment variables that can be used when compiling Fortran programs.