Sun WorkShop(TM) 6 Fortran 77 README
Updated 00/04/04
 

Contents 

  • Introduction
  • About Sun WorkShop 6 f77 Compiler
  • New Features 
  • Software Corrections 
  • Problems and Workarounds 
  • Limitations and Incompatibilities 
  • Documentation Errata 
  • Shippable Libraries 

  • Introduction

    Sun WorkShop 6 Release

    This document contains last minute information about Sun WorkShop 6 Fortran 77. It describes the software corrections addressed by this release and lists known problems, limitations, and incompatibilities. 

    You can invoke the Fortran 77 compiler by typing the f77 command at a shell prompt. 

    The text version of this document can be viewed by typing the following at a command prompt: 

        example% f77 -xhelp=readme
    To access the HTML version of this document, point your Netscape(TM) Communicator 4 or compatible browser to:

          file:/opt/SUNWspro/docs/index.html

    Note: If your Sun WorkShop software is not installed in the standard /opt directory, ask your system administrator for the equivalent path on your system. 

    For more information about this product, see: 

    • Sun WorkShop 6 Release Notes -- This documentation describes installation-related and late-breaking information about this release. Information in the release notes overrides information in all readme files. 

    •  
    • f77(1) man page -- This man page describes the f77 compiler options.

    •  
    • About Sun WorkShop 6 Documentation -- Describes the documentation available with this Sun WorkShop release and how to access it.

    •  
    • What's New In Sun WorkShop 6 -- Describes the new features in this release
    These documents are accessible in HTML by pointing your browser to 

           file:/opt/SUNWspro/docs/index.html. 

    in a standard installation of Sun WorkShop.


    About The Sun WorkShop 6 Fortran 77 Compiler

    Sun WorkShop 6 Fortran 77 (f77) runs on SPARC(TM) processors running Solaris(TM) SPARC Platform Edition versions 2.6, 7, and 8. 

    Note - Fortran on Solaris Intel IA-32 Platforms Discontinued:
    Development of the Fortran compilers (f77 and f95) and the Sun Performance Library for the Solaris Intel IA-32 platform has been discontinued.  We suggest you contact the Portland Group (http://www.pgroup.com) about their development tools for the Solaris IA-32 platform.

    Note - Future Fortran 77 Releases:
    Further development of the Fortran 77 (f77) compiler will end soon. While it is part of this release of Sun WorkShop 6, it may not be included in future Sun WorkShop releases. All Fortran 77 users are encouraged to migrate their applications to the Fortran 95 compiler, f95.


    New Features

    This release of Sun WorkShop 6 Fortran 77 includes the following new features: 
     
  • FORM="BINARY" I/O Extension: Specifying this new option in an OPEN(..) statement causes the file to be treated as a sequential binary (unformatted) file with no record marks. This enables data to be written and read as a continuous stream of bytes, and provides compatibility with other vendor systems. It is implemented in both the Fortran 95 (f95/f90) and Fortran 77 (f77) compilers.
  • Effect of FORM="BINARY" on I/O operations:
    WRITE statement: Data is written to the file in binary, with as many bytes transferred as there is specified in the output list. 
    READ statement: Data is read into the variables on the input list, with as many bytes transferred as demanded by the list. Because there are no record marks on the file, there will be no "end-of-record" error detection. The only error detected is end-of-file, or abnormal system errors. 
    INQUIRE statement: INQUIRE on a file opened with FORM="BINARY" returns: 
    FORM="BINARY"
    ACCESS="SEQUENTIAL"
    SEQUENTIAL="YES"
    DIRECT="NO"
    FORMATTED="NO"
    UNFORMATTED="YES"
    RECL= and NEXTREC= are undefined.
    BACKSPACE statement: Not allowed - returns an error. 
    ENDFILE statement: Truncates file at current position, as usual.
    REWIND statement: Repositions file to beginning of data, as usual.
  • Debugging Optimized Code: The restrictions on compiling with -g have been relaxed so that it is now possible to compile at -O4 and -O5 and/or any of the parallelization flags (-parallel, -explicitpar, -autopar) with debugging (-g).

  •  
  • Cray-Style Parallelization Directives:  The AUTOSCOPE qualifier has been implemented with Cray-style directives.

  •  
  • New Command-Line Flags:  The following new command-line flags appear in this release of f77 (see the f77(1) man page):
  • -aligncommon  -  align common block elements to specified byte boundaries
  • -r8const - promotes single-precision data constants to REAL*8
  • -xmemalign  - specify general alignment of data elements 
  • Expanded Command-Line Flags: The following f77 command-line flags have added or changed functionality (see the f77(1) man page):
  • -fast -  sets -O5 -fsimple=2 -xvector=yes and -pad=common
  • -xprefetch  -  Enables explicit pragma prefetch directives to force generation of prefetch instructions on UltraSPARC platforms.
  • -xtypemap  -  Has an expanded set of possible data type specifications.
  • Hyper-Linked Diagnostic Messages: Sun WorkShop now interprets f77 error diagnostic messages in the "Building" window, creating hypertext links to detailed descriptions in the online help.

  • Software Corrections

    Many of the problems reported with previous releases of the Fortran 77 compiler have been corrected in this release. 
     


    Problems and Workarounds

    This section discusses the following software bugs that could not be fixed in time for this release. (Check Hot News for Sun WorkShop 6  - http://www.sun.com/workshop/users/ws.html )
    • Segmentation faults can occur in parallelized loops with programs compiled with both -xarch=v9 and -explicitpar that pass Cray POINTER variables as subprogram call arguments, where the pointer is declared PRIVATE and referenced in the loop. (4318430)

    •  
    • Compiler option -vpara does not function reliably and may issue inaccurate messages.

    •  
    • Using Fix and Continue: In order to use the Fix and Continue feature of Sun WorkShop, you must compile the program specifying the full pathname of the f77 compiler. Otherwise dbx will fail with a core dump when the "fix" command is given.(4324818):
    •        %  set f77=`which f77`
             %  $f77 -fast -o prog prog.f


    Limitations and Incompatibilities

    This section discusses the following incompatibilities between Sun WorkShop 6 Fortran 77 and previous releases. 
    • Using -pad (-xpad) With The Default -xcache Setting:

    • The default setting for -xcache has changed with this release. This could cause problems with programs that link with object binaries compiled with -xpad and the default -xcache with previous releases of the compiler. The default -xcache setting, -xcache=generic, is now equivalent to -xcache=2048/32/1. Previous releases used -xcache=64/32/1.  To avoid problems caused by the different cacheline sizes, explicitly compile with the flag -xcache=64/32/1 when linking to older object binaries with -xpad. (Note that -fast implies -xpad=common, and that -xpad is a synonym for -pad).
       
    • The -oldldo option no longer supported in this release. 

    •  
    • Linking to Sun WorkShop Libraries:

    • If you compile with Sun WorkShop 6 f77, you can link only with Sun WorkShop 6 libraries and not with libraries from earlier releases of Sun WorkShop. Programs already compiled with the f77 versions 4.2, 4.0, or 3.0.1 can also link with Sun WorkShop 6 libraries.
       
    • Linking on SPARC V9 Platforms Under Solaris 7 and 8:

    • Many static system libraries, such as libm.a and libc.a, are not available in Solaris 7 or 8 environments on SPARC V9 platforms. Only dynamic, shared libraries, libm.so and libc.so, are provided. This means that -Bstatic and -dn compiler options may cause linking errors on SPARC V9 platforms with Solaris 7 or 8. Applications must use dynamic libraries in these cases.

      To explicitly link with a static version of a user library while linking dynamically system libraries, use a command line that looks something like:

        f77 -o prog prog.f -Bstatic -lxyz -labc -Bdynamic

      This will link with libxyz.a and libabc.a, but all other libraries, including system libraries, will be linked dynamically.


    Documentation Errata 

    • The Fortran User's Guide does not mention generic64 and native64 as possible settings for -xtarget, -xarch, and -xchip. See the f77(1) man page for details.

    •  
    • While the f77 compiler has not been released on the x86 Solaris (IA-32) platform, the documentation still makes some references to x86 features and options. These should be ignored.


    Shippable Libraries

    If your executable uses a Sun dynamic library listed in the file named below, your license includes the right to redistribute the library to your customer. 
    /opt/SUNWspro/READMEs/runtime.libraries     in a standard install of Sun WorkShop
    You may not redistribute or otherwise disclose the header files, source code, object modules, or static libraries of object modules in any form. 

    The License to Use appears in the End User Object Code License, viewable from the back of the plastic case containing the CDROM. 


    Copyright 2000 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303, U.S.A. All rights reserved. 
    Sun, Sun Microsystems, the Sun logo, docs.sun.com, and Solaris are trademarks, registered trademarks, or service marks of Sun Microsystems Inc. in the U.S. and other countries.