[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::fortran

Title:Digital Fortran
Notice:Read notes 1.* for important information
Moderator:QUARK::LIONEL
Created:Thu Jun 01 1995
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1333
Total number of notes:6734

57.0. "Reserved" by QUARK::LIONEL (Free advice is worth every cent) Thu Jun 01 1995 14:49

T.RTitleUserPersonal
Name
DateLines
57.1DVF v5.0 Release Notes - Intel onlyTLE::WHITLOCKStan WhitlockSun Apr 20 1997 12:401114
        Release Notes for DIGITAL Visual Fortran
            Version 5.0 - (Intel only version)


    This file contains information about the 5.0 release of
the DIGITAL Visual Fortran product. Various items of interest are
noted below.

-------------------  General Release Notes  -----------------------------

    This product requires that you be running Windows NT Version 4.0
(released version) or Windows 95.

    Users of DIGITAL Fortran on other platforms (Unix/VMS)
will no doubt be concerned about code portability with those
other platforms. Where it makes sense to do so, features that
have been added to the compiler and runtime support for this
product will also be provided on the other DIGITAL Fortran
platforms in future releases.

    The V4.0 Microsoft Fortran 90 compiler is supplied on this
kit to allow users with some ABSOLUTE compatibility requirement
to continue compiling programs. This is the MS V4.0 compiler AS IS
with no bug fixes or any other enhancements. It is our goal that
no users should ever have to use this old compiler. As such we
are extremely interested in any requirements to do so.

    Another goal of the Intel version of this product is to
be compatible with libraries previously compiled with the
Microsoft Powerstation compiler. Since the two implementations
of the language use different code bases for the run time
support, it will not be possible to mix object modules that
utilize Fortran IO and various other core functionality of
the language. It is our intention that compute-only subroutines
and functions compiled by the Powerstation compiler should be
able to be linked together with objects from the DIGITAL
Visual Fortran product and produce correct results.


----------------  Installation Release Notes  -----------------------------

 o Do not install Visual Fortran 5.0 in the same directory as Microsoft
   Fortran PowerStation 4.0.  Installing Visual Fortran 5.0 on top of 
   Microsoft Fortran PowerStation 4.0 will render the 4.0 tools unusable. 
   Install Visual Fortran 5.0 into a directory separate from your 
   Microsoft Fortran PowerStation 4.0 installation.  Visual Fortran 5.0 
   can co-exist with a 4.0 installation, as long as both versions reside
   in different directories.      

 o Run X86\SETUP.EXE if root directory SETUP.EXE fails.  If you attempt to
   install Visual Fortran 5.0 using any of the methods described in 
   "Getting Started - Using Setup to Install Visual Fortran",
   and the root directory SETUP.EXE fails to run, then try running
   X86\SETUP.EXE.  This runs the same installation procedure as the
   root directory SETUP.EXE.

 o The Visual Fortran 5.0 kit contains Microsoft Internet Explorer 3.0.1.
   This version of Internet Explorer does not contain the recent security
   patches. You can download those from:

       http://www.microsoft.com/ie/security/update.htm

   (or install Internet Explorer 3.02)

 o Visual Fortran 5.0 and other Developer Studio products (for example,
   Microsoft Visual C++ or Microsoft Visual J++) are engineered to
   co-exist in Microsoft Developer Studio. However, the versions of 
   all products MUST match or you will receive version mismatch errors 
   when starting Developer Studio. An example of the error message you 
   would receive is:
 
    "Cannot load package 'xxxxxx' because its internal version number,
     or the internal version number of one of it components, does not
     match the version of the Developer Studio shell."

 o If you install Microsoft Visual C++ Professional or Standard Edition,
   or Microsoft Visual J++, after installing Visual Fortran 5.0, you must 
   run the icon named "Repair #1 (VC++ or VJ++ Installation)".
   This program fixes a registry entry that is incorrectly modified by the
   VC++ or VJ++ installation.  If you do not run this program, Fortran 
   debugging will not work properly.

 o If you perform a Custom installation and ONLY install the
   "Fortran Compiler, Tools and Libraries" component, all of the files
   needed for compiling and linking Fortran program are not installed.
   An additional 6 files must be copied to your installation's
   ...\DevStudio\SharedIDE\Bin directory. There is a program on the
   installation CD-ROM that will copy these files. Run

           z:\X86\SUPPORT\MISC\FORTONLY.EXE

   (where "z" is the drive letter of your CD-ROM drive) to install the files.

 o If you install multiple Developer Studio products and later uninstall
   one or more of them, you may need to re-install the others.

 o To install Microsoft Internet Explorer 3.0.1 after Visual Fortran 5.0,
   you can either:
     1. Re-run the Visual Fortran 5.0 SETUP.EXE and answer "Yes" when
        SETUP asks if you want to install Internet Explorer.
     2. Run \X86\SUPPORT\MISC\MSIE301.EXE from the Visual Fortran 5.0 CD.


----------------  Late breaking news  -----------------------------------------

The following items of interest were discovered in the last phases
of testing:

  o Minimal field width editing in FORMAT descriptors is not yet
    correctly implemented. This will be corrected in a future release.

  o If a user creates a custom make file that includes WIN32.MAK they
    must set or define the "CPU" envirnoment variable. This should be
    set to "i386" on Intel machines and "ALPHA" on Alpha machines.
    Note that DFVARS.BAT correctly sets this environment variable.
    The CPU environment variable is not required for normal compilations
    within the IDE.

  o When using the /link switch on the command line, the text after
    the /link switch must be less than 512 characters in length. Longer
    lengths will cause failure of the driver. This problem may be
    worked around by using indirect command files to the linker or
    restructuring the command line.

  o For programs that use UNION declaration within the derived type
    references to map fields may produce incorrect results. A workaround
    is to declare a STRUCTURE instead. For example, the following
    derived type:

        type dtest
        sequence
        type (test) component
        union
          map
          real r
          end map
          map
          integer(1) i
          end map
        end union
        end type

    can be recoded to:

        structure /dtest/
        type (test) component
        union
          map
          real r
          end map
          map
          integer(1) i
          end map
        end union
        end structure

  o QuickWin applications may see incorrect behavior during printing or
    saving of graphics if the screen is using more than 256 colors.

    
The following known problems remain:

 o Commons with a single letter name may produce CVPACK errors of
   the form: CVPACK: warning CK4002: duplicate public symbol in module xxx
   This message may be ignored.

 o ALL old .pdb files should be deleted.
   ALL target .pdb files MUST be deleted or the linker may report
   incompatible pdb file formats

 o If your TEMP (or TMP) environment variable points to a directory
   that does not exist FPP will loop forever if invoked.


-----------  DIGITAL Visual Fortran RTL Release Notes -------------

Known Problems, Notes and Restrictions

 o  Entering control-C in a QuickWin application during I/O may leave
    a process hung and/or running in an unknown state.

 o  PEEKCHARQQ doesn't work in a Qwin application.

 o  GETCHARQQ waits for an enter key before accepting input. It
    should not wait.

 o  An array section in namelist input generates a runtime  error
    but should not.

 o  An exception handler established with the SIGNALQQ routine
    does not override the default runtime exception handler.

 o  The default RTL fpe setting is /FPE:3 on Intel.
    On Alpha, the default is /FPE:0.

 o  A file called FULLAPI.F90 is included on the kit. If the /winapp
    switch does not eliminate  undefined  globals from compiling a
    native windows application, try adding this file to your project
    or command line. FULLAPI.F90 contains library search directives
    for almost all needed libraries.

 o  Files forreent{.for + .h} have been added to the  kit. These,
    along with iosdef, fordef, and  fpeflags{.for,.h} contain
    constant definitions useful in  some  cases  for testing IO
    status values, calling miscellaneous rtl routines, etc.

 o  A formatted I/O rtl bug exists with zero iteration implied DO
    in  iolist.  The rtl erroneously reverts the format when it sees a
    STOP_FORMAT with only a zero-length element remaining in the io-list.

 o  Attempting to reopen a connected file with no FILE= specifier
    incorrectly  opens  a  temp  file  instead  of the previously
    open'ed file.

 o  Open  of an existing file with  position='append' and
    action='write' does not work properly.

 o  The Visual Fortran RTL does not support MBCS characters.

 o  The Visual Fortran  RTL  supports  only  a  variable  of  the
    character   data  type  as  a  format  data  specifier  (ie.;
    write(unit,FMT=character_data_type_variable)). Therefore
    Integer  and  Real  expressions  cannot be used as the format
    specifier in an I/O statement.

 o  The Visual Fortran RTL supports only the character data  type
    for Internal files.

 o  The  Visual  Fortran  RTL  does  not  support   the   Fortran
    Powerstation  I/O  status  (IOSTAT) values.  Thus, the Visual
    Fortran RTL returns its own unique I/O status values.

 o  The  Visual  Fortran  RTL  does  not  support   the   Fortran
    Powerstation  I/O  messages.   Thus,  the  Visual Fortran RTL
    returns its own unique I/O error message values.

 o  For the INQUIRE statement BLANK= keyword, the Visual  Fortran
    RTL  will  return a value of "UNDEFINED" for a file which was
    not  opened  as  formatted.   This  complies  with  the   F90
    standard.    This   behavior   is   different   from  Fortran
    Powerstation which returned a value of "NULL" or "ZERO".

 o  For the INQUIRE statement PAD= keyword,  the  Visual  Fortran
    RTL  will  return  a  value of "YES" for a file which was not
    opened or connected.  This complies with  the  F90  standard.
    This  behavior  is  different from Fortran Powerstation which
    returned a value of "UNDEFINED".

 o  The Visual Fortran RTL will return an error if  the  PAD=  or
    DELIM=  specifier  is  present  on the open statement and the
    file was not opened as formatted.  This complies with the F90
    standard.

 o  The Visual Fortran RTL will return an error if the  POSITION=
    specifier  is  present on the open statement and the file was
    not opened with sequential access.  This  complies  with  the
    F90  standard.   This  behavior  is  different  from  Fortran
    Powerstation which failed to return an error.

 o  The Visual Fortran RTL recognizes files opened as CONOUT$ and
    CONIN$  as  the  terminal.   This  behavior is different from
    Fortran Powerstation which  didn't  recognize  these  special
    devices names as the terminal.

 o  The Visual Fortran RTL does not support the use  of  negative
    unit numbers.  This complies with the F90 standard.

 o  The Visual Fortran RTL does not support the use  of  the  '*'
    operator as the unit number on an INQUIRE statement.

 o  The Visual Fortran RTL  supports  only  the  record  type  of
    'STREAM' for the "RECORDTYPE" value when dealing with Fortran
    Powerstation Unformatted files.

 o  The Visual Fortran RTL  supports  only  the  record  type  of
    'FIXED'  for  the  "RECORDTYPE" value when dealing with files
    opened for Direct access.

 o  The Visual Fortran RTL  does  not  support  the  reading  and
    writing   of  direct  access  records  using  Sequential  I/O
    statements.

 o  The Visual Fortran RTL does not support the writing of direct
    access  formatted  records  with  a carriage control value of
    'FORTRAN'.

 o  The Visual Fortran RTL has  an  additional  carriage  control
    attribute  value  called  'NONE'.  Thus, the default carriage
    control  attribute  is  different  from   that   of   Fortran
    Powerstation  when  dealing  with  different file types.  For
    unformatted and binary files  the  default  carriage  control
    attribute  is  'NONE' as opposed to the value of 'LIST' which
    is given by Fortran Powerstation.

 o  The  Visual  Fortran  RTL  does  not  support   the   Fortran
    Powerstation   semantics  for  the  Binary(B),  Octal(O)  and
    Hexidecimal(Z) edit descriptors.

 o  The Visual Fortran RTL output  text  when  printing  namelist
    elements  is  different,  but should be equivalent to that of
    Fortran Powerstation.

 o  The Visual Fortran RTL  when  outputting  real  numbers  will
    always  print a leading zero(0)(ie.; 0.567) if there is room.
    This is different than Fortran Powerstation  which  does  not
    always print the leading zero(0)(ie.; .567) if there is room.

 o  The Visual Fortran  RTL  applies  the  rules  for  Iw  format
    editing  when  G  format  output  editing is specified for an
    integer data type.  This  complies  with  the  F90  standard.
    Fortran  Powerstation  applies  the  rules for Iw.m format in
    this case.

 o  The Visual Fortran RTL does not  interpret  the  backslash(\)
    edit  descriptor  on input, it has no effect.  This is unlike
    Fortran Powerstation which does  interpret  the  backslash(\)
    edit  descriptor on input.  This is in contradiction with the
    Fortran Powerstation documentation which states it has effect
    only on output.

 o  The Visual Fortran RTL does not support what appears to be an
    inconsistency  with the F90 standard and Fortran Powerstation
    list-directed output.  Fortran Powerstation properly places a
    separator  between  most  data types (ie.; int-int, int-real,
    real-int, logical-int, etc).  However it  fails  to  place  a
    separator  between  an  undelimited  character string and any
    other adjacent data  type.   For  delimited  characters  they
    properly  add  the separator.  The former behavior appears to
    be a violation of section 10.8.2 of the F90 standard which
    states  the  following:   "The form of the values produced is
    the  same  as  that  required  for  input,  except  as  noted
    otherwise.   With  the  exception  of  adjacent  nondelimited
    character constants, the values are separated by ONE or  MORE
    BLANKS...."  Thus,  there  should be no separator between two
    nondelimited character  constants,  but  there  should  be  a
    separator  between  a nondelimited character constant and any
    other adjacent data type.


----------------  Developer Studio Release Notes  -----------------------------

 o Fortran editor syntax coloring has limitations.  The syntax coloring
   in the Developer Studio editor cannot correctly color all valid Fortran
   source programs. In particular, white space is required around keywords
   in order for the editor to correctly recognize them.
 
 o Accessing online help brings up Dial-up Dialog Box. When accessing 
   online help you may get a dialog box asking about your dial-up connection 
   for your online service provider. This occurs because Internet Explorer, 
   which has an option to automatically connect to the online service, is 
   used to display the online documentation. The best way around this is to 
   choose Cancel when asked to connect. You can disable automatic dialup.

   To turn off the automatic dialup:

   1.Right click on the IE shortcut to get the Context menu and
     select "Properties". 
   2.In the dialog, choose the Connection tab. 
   3.In the Dialing group, uncheck the "Connect to the Internet as needed". 
     This will turn off the Auto dialup. 
   4.Click on Apply and OK to close the dialog.

 o Certain types of links in the online documentation may not appear to work.
   They look like links, but if you click on them, nothing happens. 
   Such inactive links may be due to a setting in your Internet Explorer 3.0 
   that prevents running ActiveX scripts. 

   To enable the links, do the following: 

     1.Open Internet Explorer 3.0. 
     2.From the View menu, select Options. 
     3.In the Options dialog box, select the Security tab. 
     4.Under Active content, check the Run ActiveX scripts checkbox. 
     5.Click Apply. 
     6.Click Okay.  

 o The Developer Studio user interface does not respond to mouse clicks or 
   keystrokes until a macro finishes. This design prevents indiscriminate
   interference between macros. However, processing a lengthy macro gives the 
   appearance that the user interface has hung.

 o When you select "Build browse info file" in the Browse Info option page,
   Developer Studio may display the following message:

   "The Browser Information file will not be created unless 
    'Generate browse info' is checked on the C/C++ settings page for
    the target or at least one file"

   For Fortran-only Developer Studio projects, check 
   'Generate Source Browser Information' on the Fortran page, General
   category. You do not need to set any C/C++ settings.

 o If Developer Studio repeatedly aborts while attempting the same action
   with the same project, try moving the project.opt file out of the 
   project directory.  The project.opt file contains local cosmetic 
   settings, which include information about the local organization and 
   appearance of the project workspace using your hardware and 
   configuration. A new project.opt file is created automatically when 
   the workspace is opened and no project.opt file is found.

 o If the screen flashes during builds or the wrong code page is used when 
   debugging a console application, and you are using Windows 95, delete any 
   of the following files from your computer:

   - _DEFAULT.PIF, DEFAULT.PIF, CONAGENT.PIF

   These files were used by Windows 3.x, and are not needed by Windows 95. 
   If they are used while you are debugging a console application, the 
   country settings associated with the PIF files will be used, and could 
   result in the wrong code page being loaded. A result of their use on 
   Windows 95 may be screen flashing during a build, if you have specified 
   console windows to be full screen.

 o Several project system and debugger methods are disabled when the 
   BuildFinish event is fired.  Consider the following VBScript event 
   handler: 

   Sub Application_BuildFinish(nNumErrors, nNumWarnings)
   if nNumErrors+nNumWarnings = 0 then
       ExecuteCommand "ToggleOutputWindow"
       ExecuteConfiguration
   end if
   End Sub

   ExecuteConfiguration fails because the BuildFinish event is fired before
   several project system and debugger commands have been re-enabled. The 
   methods that invoke these commands, like ExecuteConfiguration, will 
   remain disabled between the time that the event is fired and the time 
   the event handler returns. After the Application_BuildFinish event 
   handler returns, these methods will be re-enabled.

   Workaround:

   1. Create a new macro, for example, MyBuild, with the following code:

      Sub MyBuild
        Build
        ' Add other method calls here that can't appear in the BuildFinish
        ' event handler, such as "ExecuteConfiguration"
      End Sub

   2. Always invoke a build by using this new macro instead of using the 
      default Build menu command or toolbar. Note that you can create a 
      custom menu command or toolbar button for your new MyBuild macro by 
      going to the Tools menu, choosing Customize, and using the Commands 
      tab of the dialog.

   The Application_BuildFinish VBScript event handler now becomes:

   Sub Application_BuildFinish(nNumErrors, nNumWarnings)
      if nNumErrors+nNumWarnings = 0 then
        ExecuteCommand "ToggleOutputWindow"
      end if
   End Sub

   In this case Build will fire the BuildFinish event and return control 
   to the MyBuild subroutine at which time the ExecuteConfiguration will 
   be enabled. You can see what other methods are disabled simply by 
   looking at the disabled menu items when a build is in progress.


----------------  Fortran Format Editor Release Notes  --------------------

 o The Format Editor does not support "Variable Format Expressions".

 o Repeatable edit descriptors can be specified without a field width
   value. Since the Format Editor does not know the attributes of the
   Fortran data that will be associated with the edit descriptor at
   run-time, it uses a default field width based upon the type of the
   edit descriptor. The following table lists the repeatable edit 
   descriptors and the default field width used by the Format Editor
   for displaying the sample field data.

   Edit Descriptor   Default Width
        A                10
        I                 7 
        L                 2
        B                 8
        O                 7
        Z                 8
        F                15
        D                15
        E                15
        G                15
        EN               15
        ES               15


----------------  Debugging Related Release Notes  ------------------------

Known problems with V5.0 support:

  o Assumed-shape arrays with alternate lower bounds do not display
    properly, e.g. in the example below:

                subroutine foo(bar)
                integer bar(5:,10:)
                .
                .
                .

    bar will not display properly since alternate lower bounds (5 and 10
    for dimensions one and two, respectively) have been specified.

  o When an explicit array is declared with non-constant bounds, a
    temporary is created for each non-constant bound, and this temporary
    is displayed in the locals window in the debugger.  For example,
    if the following code was being executed in the debugger:

                subroutine foo(a,n)
                integer a(n), b(n*2)
                .
                .
                .

    there would be at least two temporaries displayed (one for 'n' in
    a(n) and one for 'n*2' in b(n*2)) along with locals a, b, and n.
    These temporaries take the form "VAR$xxxx" where "xxxx" is an
    integer.  This is more of a nuisance than anything, since it tends
    to clutter up the 'locals' window with temp names and values.

  o When in a module routine, a module variable cannot be seen without
    entering the decorated name.  For example, with the following code:

                module foo
                    integer first

                    subroutine bar()
                    .
                    .
                    .
                    end subroutine bar
                end module foo

    If the debugger is stopped within the subroutine bar, the variable
    "first" is only visible in a watch window if "foo_mp_first"
    is entered.  The name decoration takes the form:

                {module_name}_mp_{variable_name}

  o Host associated variables are not visible in the debugger when with the 
    internal subroutine.  For example

                program foo
                integer i,j
                call bar

                contains
                   subroutine bar
                   integer k,l

                   print *, i,j,k,l
                   end subroutine

                end

    When at the print statement within bar, k and l can be seen in
    the debugger, but i and j cannot.  


----------------  MS Powerstation features not supported  ------------

 o The following features from MicroSoft Fortran PowerStation are not
   supported by DIGITAL Visual Fortran:

    - $DEBUG, $NODEBUG-additional runtime checking

    - DATA statement style initialization in attribute style declaration
      statements

    - Debug lines (other than D)

    - $OPTIMIZE-change optimization options

    - Integer array can contain FORMAT

    - Internal files can be any type

    - Listing metacommands - $page, $pagesize, $linesize, $[no]list, $include


----------------  DIGITAL Visual Fortran Product Description  -----------------

    A summary of the DIGITAL Fortran compiler as it has been extended for
this product is provided below.

    DIGITAL Visual Fortran is an implementation of the Fortran programming
language that supports the FORTRAN 66, FORTRAN 77 and Fortran 90 standards.
DIGITAL Visual Fortran runs on Intel systems under Windows NT and Windows 95.

DIGITAL Visual Fortran fully supports the following language standards:

      o  FORTRAN 66 (ANSI X3.9-1966)

      o  FORTRAN 77 (ANSI X3.9-1978)

      o  ISO 1539-1980(E)

      o  MIL-STD-1753

      o  FIPS-69-1 (DIGITAL Visual Fortran meets the requirements of this
         standard by conforming to the ANSI Standard and by including a
         flagger. The flagger optionally produces diagnostic messages for
         compile-time elements that do not conform to the Full-Level ANSI
         Fortran Standard.)

      o  Fortran 90 (ANSI X3.198-1992)

      o  ISO 1539-1991(E)

      DIGITAL Visual Fortran supports extensions to the ISO and ANSI standards,
      including a number of extensions defined by Microsoft[R] Fortran
      PowerStation 4.0.  DIGITAL Visual Fortran also includes a number of
      extensions defined by DIGITAL Fortran for the various DIGITAL Fortran
      platforms (operating system/architecture pairs). In addition to DIGITAL
      Visual Fortran systems, DIGITAL Fortran platforms include:

      o  DIGITAL Fortran 90 and DIGITAL Fortran 77 on DIGITAL UNIX[R]
        (formerly DEC OSF/1[R]) Alpha systems

      o  DIGITAL Fortran 90 and DIGITAL Fortran 77 on OpenVMS[TM] Alpha
         systems

      o  DIGITAL Fortran 77 on OpenVMS VAX[TM] systems

      Major additions to the FORTRAN 77 standard introduced by the Fortran
      90 standard include:

      o  Array operations

      o  Improved facilities for numeric computation

      o  Parameterized intrinsic data types

      o  User-defined data types

      o  Facilities for modular data and procedure definitions

      o  Pointers

      o  The concept of language evolution

      o  DATE_AND_TIME intrinsic that returns a 4-digit year

      In addition, the Fortran 90 standard includes the following
      industry-accepted extensions to the FORTRAN77 standard:

      o  Support for recursive subprograms

      o  IMPLICIT NONE statements

      o  INCLUDE statement

      o  NAMELIST-directed I/O

      o  DO WHILE and ENDDO statements

      o  Use of exclamation point (!) for end of line comments

      o  Support for automatic arrays

      o  Support for the following SELECT CASE - CASE - CASE DEFAULT - END
         SELECT statements.

      o  Support for the EXIT and CYCLE statements and for construct names
         on DO - END DO statements

      DIGITAL Visual Fortran includes the following features and enhancements
      found in Microsoft PowerStation Fortran v4.0:

      o  .f, .for, .f90 source file types

      o  Tab Continuation Lines

      o  # Constants-constants using other than base 10

      o  C Strings-NULL terminated strings

      o  MBCS Characters in Comments

      o  MBCS Characters in String Literals

      o  Conditional Compilation And Metacommand Expressions
         ($define, $undefine, $if, $elseif, $else, $endif)

      o  !MS$metacommand Form

      o  $FREEFORM, $NOFREEFORM, $FIXEDFORM-source file format

      o  $OBJCOMMENT-place library-search record in object file

      o  $INTEGER, $REAL-selects size

      o  $FIXEDFORMLINESIZE-line length for fixed form source

      o  $STRICT, $NOSTRICT-F90 conformance

      o  $ATTRIBUTES-identifier attributes
         (c, stdcall, reference, value, dllimport, dllexport,
         extern, alias, varying)

      o  $PACK-structure packing

      o  Kind Numbers Match Bytes-Kind parameters

      o  AUTOMATIC Attribute-automatic storage class

      o  Integer Pointers-AKA Cray Pointers

      o  VAX Structures == F90 sequence Derived Types

      o  Mixing Logicals and Numerics-logicals used with arithmetic
         operators and variables

      o  Argument Matching For Procedure Calls

      o  Mixing Integer Kinds to Intrinsics

      o  Byte Data Type == INTEGER*1

      o  $ATTRIBUTES [ ] Form

      o  $ATTRIBUTES ALIAS-external name for a subprogram or common block

      o  $ATTRIBUTES C, STDCALL-calling and naming conventions

      o  $ATTRIBUTES VALUE, REFERENCE-calling conventions

      o  $ATTRIBUTES DLLIMPORT, DLLEXPORT-import/export from DLL

      o  Character and Non-character equivalence

      o  Double Complex Data Type

      o  .XOR.-exclusive disjunction

      o  Integer Arguments In Logical Expressions

      o  Option - CARRIAGECONTROL=-controls the output of formatted files

      o  Option - MODE=-controls access to file on networked systems

      o  Option - TITLE=, IOFOCUS=-controls QuickWin child windows

      o  Option - SHARE=-controls simultaneous access to file on networked
         systems

      o  Default Carriage Control

      o  Implicit Open-prompt user for filenames

      o  Special Device Names For FILE= In OPEN statements

      o  FORM=BINARY in INQUIRE/OPEN statements

      o  Unformatted Sequential File Form

      o  Q Edit Descriptor-number of characters remaining in the input
         record

      o  \ Descriptor-prevents writing an end-of-record mark

      o  $ Edit Descriptor-suppresses the carriage return at the end of
         a record

      o  X Edit Descriptor Default-1

      o  Ew.dDe and Gw.dDe Edit Descriptors-similar to Ew.dEe and Gw.dEe

      o  Variable Format Expressions-integer expression in FORMAT statement

      o  Expanded missing ,'s In FORMAT statements-optional commas

      o  Expanded Namelist Start/End Sequences

      o  All Path Names: including Driver, Compiler, and INCLUDE Statement
         MBCS Enabled                                                 [not W95]

      o  Universal Naming Convention (UNC) Pathnames

      o  Long Filenames

      o  7200 Character Statement Length

      o  Free form infinite line length

      o  Debug Lines (D in column 1)

      o  $DECLARE and $NODECLARE == IMPLICIT NONE

      o  Logical Truth: 0 = .false.; non-0 = .true.

      o  $ATTRIBUTES EXTERN-variable allocated in another source file

      o  $ATTRIBUTES VARYING-variable number of arguments

      o  Alternate PARAMETER syntax-no parenthesis

      o  $ in identifiers

      o  INTERFACE TO-subroutine/function prototype
                                                 [global scoping not supported]

      o  Option - BLOCKSIZE=-internal buffer size used in I/O

      o  Argument Passing Modifiers-%VAL, %REF

      o  Argument Passing Modifiers-%DESCR (treated as %REF)

      o  CRAY pointer support for procedure names (for COM/OLE support)

      o  $ATTRIBUTES ALLOCATABLE-allocatable array

      o  Mixing Subroutines/Functions in Generic Interfaces

      o  $MESSAGE-output message during compilation

      o  $LINE == C's #line

      o  Listing Metacommands - $TITLE, $SUBTITLE

      o  STATIC Attribute-static storage class

      o  EOF checks for end of file

      o  LOC equivalent to %LOC

      o  HFIX converts to short integer

      o  INT1 converts to one byte integer by truncating

      o  INT2 converts to two byte integer by truncating

      o  INT4 converts to four byte integer by truncating

      o  JFIX same as INT4

      o  MALLOC allocates a memory block of size bytes and returns an
         integer pointer to the block

      o  FREE frees the memory block specified by the integer pointer

      o  COTAN returns cotangent

      o  DCOTAN returns double precision cotangent

      o  IMAG returns the imaginary part of complex number

      o  IBCHNG reverses value of bit

      o  ISHA shifts arithmetically left or right

      o  ISHC performs a circular shift

      o  ISHL shifts logically left or right

      DIGITAL Visual Fortran includes the following features and enhancements
      also found on other DIGITAL Fortran platforms:

      o  Support for linking against static libraries

      o  Support for linking against dynamically linked libraries (DLL)

      o  Support for creating code to be put into a dynamically linked
         library (DLL)

      o  Support for stack-based storage

      o  Support for dynamic memory allocation

      o  Support for reading and writing binary data files in nonnative
         formats, including IEEE[R] (little-endian and big-endian), VAX, IBM[R]
         System\360, and CRAY[R] integer and floating point formats

      o  User control over IEEE floating point exception handling, reporting,
         and resulting values.

      o  Control for memory boundary alignment of items in COMMON and fields
         in structures and warnings for misaligned data

      o  Directives to control listing page titles and subtitles, object file
         identification field, COMMON and record field alignment, and some
         attributes of COMMON blocks

      o  Composite data declarations using STRUCTURE, END STRUCTURE, and RECORD
         statements, and access to record components through field references

      o  Explicit specification of storage allocation units for data types
         such as:

            INTEGER*4
            LOGICAL*4
            REAL*4
            REAL*8
            COMPLEX*8

      o  A set of data types:

         -  BYTE

         -  LOGICAL*1, LOGICAL*2, LOGICAL*4

         -  INTEGER*1, INTEGER*2, INTEGER*4

         -  REAL*4, REAL*8

         -  COMPLEX*8, COMPLEX*16, DOUBLE COMPLEX

         -  POINTER (CRAY style)

      o  Data statement style initialization in type declaration statements

      o  AUTOMATIC and STATIC statements

      o  Bit constants to initialize LOGICAL, REAL, and INTEGER values and
         participate in arithmetic and logical expressions

      o  Built-in functions %LOC, %REF, and %VAL

      o  VOLATILE statement

      o  Bit manipulation functions

      o  Binary, hexadecimal, and octal constants and Z and O format edit
         descriptors applicable to all data types

      o  I/O unit numbers that can be any nonnegative INTEGER*4 value

      o  Variable amounts of data can be read from and written to "STREAM"
         files, which contain no record delimiters

      o  ENCODE and DECODE statements

      o  ACCEPT, TYPE, and REWRITE input/output statements

      o  DEFINE FILE, UNLOCK, and DELETE statements

      o  USEROPEN subroutine invocation at file OPEN time

      o  Debug statements in source

      o  Generation of a source listing file with optional machine code
         representation of the executable source

      o  Variable format expressions in a FORMAT statement

      o  Optional run-time bounds checking of array subscripts and
         character substrings

      o  31-character identifiers that can include dollar sign ($) and
         underscore (_)

      o  Language elements that support the various extended range and
         extended precision floating point architectural features:

         -  32-bit IEEE S_floating data type, with an 8-bit exponent and
            24-bit mantissa, which provides a range of 1.17549435E-38
            (normalized) to 3.40282347E38 (the IEEE denormalized limit is
            1.40129846E45) and a precision of typically 7 decimal digits

         -  64-bit IEEE T_floating data type, with an 11-bit exponent and
            53-bit mantissa, which provides a range of
            2.2250738585072013D-308 (normalized) to 1.7976931348623158D308
            (the IEEE denormalized limit is 4.94065645841246544D-324) and
            a precision of typically 15 decimal digits

      o  Command line control for:

         -  The size of default INTEGER, REAL, and DOUBLE PRECISION data items

         -  The levels and types of optimization to be applied to the program

         -  The directories to search for INCLUDE files

         -  Inclusion or suppression of various compile-time warnings

         -  Inclusion or suppression of run-time checking for various I/O
            and computational errors

         -  Control over whether compilation terminates after a specific
            number of errors has been found

         -  Choosing whether executing code will be thread-reentrant

      o  Kind types for all of the hardware-supported data types:

         -  For 1-, 2-, and 4-byte LOGICAL data:

               LOGICAL (KIND=1)
               LOGICAL (KIND=2)
               LOGICAL (KIND=4)

         -  For 1-, 2-, and 4-byte INTEGER data:

               INTEGER (KIND=1)
               INTEGER (KIND=2)
               INTEGER (KIND=4)

         -  For 4- and 8-byte REAL data:

               REAL (KIND=4)
               REAL (KIND=8)

         -  For single precision and double precision COMPLEX data:

               COMPLEX (KIND=4)
               COMPLEX (KIND=8)

      o  The following features of the proposed Fortran 95 standard:

         -  FORALL statement and construct

         -  Automatic deallocation of ALLOCATABLE arrays

         -  Dim argument to MAXLOC and MINLOC

         -  PURE user-defined subprograms

         -  ELEMENTAL user-defined subprograms (a restricted form of a pure
            procedure)

         -  Pointer initialization (initial value)

         -  The NULL intrinsic to nullify a pointer

         -  Derived-type structure initialization

         -  CPU_TIME intrinsic subroutine

         -  Kind argument to CEILING and FLOOR intrinsics

         -  Nested WHERE constructs, masked ELSEWHERE statement, and named
            WHERE constructs

         -  Comments allowed in namelist input

         -  Generic identifier in END INTERFACE statements

         -  Detection of Obsolescent and/or Deleted features listed in the
            proposed Fortran 95 standard. DIGITAL Fortran flags these deleted
            and obsolescent features, but fully supports them.

      DIGITAL Visual Fortran provides a multiphase optimizer that is capable of
      performing optimizations across entire programs. Specific optimizations
      performed include:

      o  Constant folding

      o  Optimizations of arithmetic IF, logical IF, and block IF-THEN-ELSE

      o  Global common subexpression elimination

      o  Removal of invariant expressions from loops

      o  Global allocation of general registers across program units

      o  In-line expansion of statement functions and routines

      o  Optimization of array addressing in loops

      o  Value propagation

      o  Deletion of redundant and unreachable code

      o  Loop unrolling

      o  Thorough dependence analysis

      o  Optimized interface to intrinsic functions

      o  Loop transformation optimizations that apply to array references
         within loops, including:

         -  Loop blocking

         -  Loop distribution

         -  Loop fusion

         -  Loop interchange

         -  Loop scalar replacement

         -  Outer loop unrolling

      o  Array temporary elimination

********************************************************************************

      [R]  CRAY is a registered trademark of Cray Research, Inc.

      [R]  IBM is a registered trademark of International Business Machines
           Corporation.

      [R]  IEEE is a registered trademark of the Institute of Electrical
           and Electronics Engineers, Inc.

      [R]  OSF and OSF/1 are registered trademarks of Open Software
           Foundation, Inc.

      [R]  UNIX is a registered trademark in the United States and other
           countries licensed exclusively through X/Open Company Ltd.

      [R]  Microsoft is a registered trademark of Microsoft Corporation.

      [TM] The DIGITAL Logo, DEC, DEC Fortran, Digital, OpenVMS,
           ULTRIX, and VAX are trademarks of Digital Equipment Corporation

      [TM] Windows NT, NT, and Windows are trademarks of Microsoft
           Corporation.

      (c) 1997 Digital Equipment Corporation. All rights reserved.

57.2DVF 5.0 READ ME fileTLE::WHITLOCKStan WhitlockSun Apr 20 1997 12:4159
                    Digital Visual Fortran
                   Read.me First Information

[ Viewing note: If you are using NOTEPAD to read this or other
text from this kit you may find that maximizing the window
will enhance your viewing pleasure. ]


This kit contains the Digital Visual Fortran product. The
product will operate on the Intel versions of
Windows NT 4.0 and Windows 95.

**************************************************
******** PLEASE READ THE RELEASE NOTES ! *********
**************************************************


Installation:

    To install this kit mount the distribution CD-ROM.  You should
be presented with a dialog box which has "Install" and "Cancel"
buttons.  If not, simply run the SETUP program from the top
level directory of your distribution media. This can be done by using
Start->Run from the task bar and then typing the full path specification
of the SETUP program, or by starting a command window, changing your
default directory to the location of the SETUP program and then typing
either SETUP or START SETUP.


Of special note:

    The installation procedure creates a program group that
contains an icon to enable you to view the product release
notes. This text file contains information that is newer than the
written documentation. It also contains information that may point
out particular restrictions or known problems with this release.
Please be sure to review this text before spending time reporting
any problem you may find as the problem and/or solution may have
already been discovered.


Suggestion/problem reporting:

    Digital appreciates your comments and/or suggestions. If you
have any problems, comments, or suggestions about the product,
documentation, or packaging, please feel free to send them to us.
To do so, please use the problem report form that is copied to
your system during installation. This form can be found in

      [..\PROGRAM FILES\DEVSTUDIO..]\DF\BUGREPRT.TXT
          
on your system disk if you chose all the default answers about
where to put things. In any case, the BUGREPRT.TXT file can be
copied from the top level directory on your distribution media.

You may not receive a personal reply to your query but we
appreciate your input on the product.

57.3DVF V5.0 environment informationTLE::WHITLOCKStan WhitlockSun Apr 20 1997 12:42248
    This document discusses some of the more complex aspects of the
installation of this product including operations performed during
product installation as well as those that might be appropriate after
the installation is done.


Environment variables
=====================

    Environment variables can be somewhat of a problem on Windows NT
systems. There is no easy way to "reset" them and there are few standards
regarding their usage. Compiler products have an additional problem in
that compilers from different vendors often use the same names for
environment variables with the same purpose but may require slightly
different versions of the referenced files. There are a number of ways
that a compiler product can handle this problem.

    The first is that a compiler product installation can assume that it
is the only product on the system and simply "fix" the system to do the
right thing for that product. When the assumption is true this has the
nice attribute that a complete and correct setup is done for the user.
When the assumption is false, this "blind" setup can cause complete
confusion for the user and may not function correctly at all making this
a very dangerous alternative.

    A second possible choice that an installation procedure can
do is to use some method, either by asking the user or by "sniffing" the
system, to try to figure out what the installation environment looks
like. If this can be done properly this provides a much higher
probability for success than the previous method.  Unfortunately it can
be almost impossible to guess all the possible ways that people setup and
utilize systems. If a product has very few dependencies on other pieces
of the system this method of installation can work quite well. Consider
the case where a product only needs one environment variable to point to a
root directory. An installation script might check to see if a previous
version of that product is installed and that may be all the information
needed to do the setup correctly. (Of course if a previous product was
installed on a network drive which is not currently visible or installed
from another user account even this "simple" case may not be so simple!)
In the case, as in compiler products, where there are many
interdependencies amongst products, it is virtually impossible to handle
all the various combinations. Consider that on most development systems
at least two compilation systems are present. They may have common tools
(linkers, etc), common libraries, common header files, etc. They may even
be used together to build a single executable. Multiple versions of the
tools may be used to produce executables compatible with various versions
of the operating system.  While most application type products only need
to install the "latest version that will run on a given operating
system", compiler products may have to support running multiple versions
on a system to support compatible development. Consider the case of a C
compilation system that while running on Windows NT 3.51 will create
images that are compatible with Windows NT 3.1. The complexities of the
setup involved may be enormous.

    Thus a third choice for a product installation procedure is to only
make "safe" modifications to the system environment and to provide the
user with the appropriate information to allow him or her to properly
tailor the system as needed.

    This last method is the method used by the DEC Fortran installation
procedure based on the assumption that it is better to require the user
to have a small understanding of the system setup than to take a chance
of performing modifications to the system that might totally mess things
up. As a result of this choice the installation procedure specifically
does NOT modify the system-wide PATH variable, nor does it define the
INCLUDE, LIB, CPU or TOOLS environment variables. These variables are
known to be used by other vendors products. Rather, the DEC Fortran
product installation places on the system a command file that defines
these, and other environment variables in a way that has a "good chance"
of being correct.  In some cases the installation procedure may actually
modify the system if the user has confirmed that such a modification is
desired and the installation procedure determines that there is a "good
chance" that the modification will be correct. The information below is
provided so that a user of the DEC Fortran product can check, modify or
augment appropriately any system changes required by the product
installation.


    The installation procedure writes a command file called DFVARS.BAT into
the ..\BIN part of the directory tree that contains the Fortran compiler.
This directory tree is usually rooted at \Program Files\DevStudio\DF.
The DFVARS.BAT command file can be used as a sample to show what
environment variables are needed to use the Fortran compiler.

*** It is up to the user to insure that this environment variable setup,
*** or equivalent, is done before the compiler is used.

There are a number of ways to accomplish this.

1. The environment variables may be established on a system-wide basis.
   On Windows NT 3.51 or greater systems this can be done by starting the
   control panel application from an administrator account and then
   selecting the "System" applette. The appropriate entries are then
   placed in the "System Environment Variable" section. Another way that
   this can be done (and the only way on 3.1 systems) is to start the
   REGEDT32 application and then under LOCAL_MACHINE -> System ->
   CurrentControlSet -> Control -> Session Manager -> Environment add
   or modify pairs of environment variable names and values.
   Both of these methods provide system-wide definitions and may require
   a system reboot to take effect.

2. Environment variables may be established for a given user.
   This can be done by starting the control panel application and then
   selecting the "System" applette. The appropriate entries are then
   placed in the "User Environment Variable" section. Another way that
   this can be done (and the only way on 3.1 systems) is to start the
   REGEDT32 application and then under CURRENT_USER -> Environment add
   or modify pairs of environment variable names and values.
   Both of these methods provide user-wide definitions and may require
   the user to re-logon to take effect.

3. Environment variables may be established for a given Icon.
   This is the method used by the installation procedure to establish the
   "F90" icon. The desired commands are placed in a .BAT or .CMD file
   (in this case DFVARS.BAT) and the desired icon is set up to contain
   the following command line "cmd /k full_path_of_command_file".
   When an icon defined in this way is selected the command file will
   execute and the modified command process window will remain for use.
   (/k means "keep".)

4. A command process environment may be modified manually prior to
   running the compiler. This is one of the methods that we use during
   development where we may be using and/or testing various compilers
   in conjunction with multiple compilations systems. For this method
   a command procedure can be developed that, given the appropriate
   parameter(s), will properly redefine the current command processor
   environment to select and setup the appropriate toolset.
   This command procedure is invoked interactively as appropriate.

   *** Note this last method does not effect processes already created
   *** and this may not have the desired effect for program manager
   *** icons.


Having selected the desired method to setup up your environment the
information below may be used to help you define the environment
variables correctly.


The DEC Fortran product uses the following environment variables:


    PATH

        The PATH environment variable is used by the system to
        search for images to run. The PATH variable must include
        the directory of the DF.EXE image in order for the
        system to automatically find the compiler.

    DECFORT90_TOOLS
        and
    DECFORT_TOOLS

        This environment variable is used to control support for
        the toolset. Valid values are "MSVC40" and "MSVC20".
        Specifically this environment variable causes the DF driver
        to generate different switches to the various tools and
        to select different libraries.

    CPU

        This environment variable is used by NTWIN32.MAK to select
        the proper switches, etc. for the compilation. It should be
        set to "i386" on Intel hardware and "ALPHA" on Alpha 
        hardware.

    DF

        The DF environment variable can be used to specify frequently
        used DF options and files. The characters contained in
        the DF environment variable are added to the beginning of the
        user specified DF command line. Thus options selected
        by using the DF environment variable may be overridden by
        negating them with the user specified command. See the user
        manual for more description of how to use the DF environment
        variable to specify frequently-used options.

    LIB

        This environment variable is used like a PATH spec by the
        linker to search for libraries that are named without
        path information. For Fortran, this variable usually contains
        two components. The first specifies where to find the Fortran
        specific libraries. The second specifies where to find the
        C runtime library and system libraries. If you are using
        the Fortran product with another product you probably want to
        retain the first part (Fortran library location) but you
        may have a different location for the system libraries.


    INCLUDE

        This environment variable is used like a PATH spec by the
        compiler, preprocessor, resource compiler and nmake to find
        files that are "included" into the source. Make sure that
        the order of path definitions in this environment variable
        is correct to cause the desired behavior.

    TMP

        This environment variable is used is used by the system APIs
        GetTempPath(), GetTempDrive() and others. In general, this
        environment variable should point to a fast access (non-network)
        place where sometimes large temporary files can be written.
        The Fortran preprocessor, DF Driver, and other components
        may write files in this location during various operations.
        These files are automatically deleted at the conclusion of
        the performed operation unless some type of interruption
        (system crash, operator abort, etc) prevents the cleanup. For
        this reason, most users find it easier if the TMP environment
        variable points to a normally empty directory. If this is
        done then it is always safe to delete all files in that
        directory at appropriate times without worry. The Fortran
        compiler and related tools will never place anything in the
        TMP directory that can not be recreated.



System DLLs
===========

    Fortran programs may be built to either include the runtime support
or to use appropriate DLLs (Dynamically Linked Libraries). Each has its
own advantages and disadvantages.  Using the DLLs will create smaller
images but will execute slightly slower and incur the complexity of
making sure that the required / affiliated DLLs are shipped with the
program image. Including the runtime support in the main image causes
slightly faster execution but prevents runtime support bugfixes by DLL
replacement and produces larger on-disk image sizes.

    Part of the installation procedure copies the appropriate DLL images
to the system area (%SYSTEMROOT%\SYSTEM32) so that they are automatically
found (if required) when programs run. These images may be redistributed
with your program (see license agreement for details).



Product Registration
====================

    The installation procedure also writes an entry into the system
registry under the LOCAL MACHINE\Software key to record which products
have been installed. Even if an older entry is overwritten, this
operation is always safe and currently has no effect on the operation of
the product.


57.4DVF v5.0 file listTLE::WHITLOCKStan WhitlockSun Apr 20 1997 12:43134
! Installed by all options...
DF\BIN\DFCDROM*.EXE                             /C:AL
DF\BIN\DFVARS.BAT                               /C:AL
DF\REDIST\                                      /C:AL   /S
VC\REDIST\                                      /C:AL   /S	/X
VC\REDIST\WINNT\                                /C:AL   /S	/#
VC\REDIST\ANSI\                                 /C:AL   /S	/@
VC\SYSTEM\                                      /C:AL   /S	/X
VC\SYSTEM\REGISTER\                             /C:AL   /S	/F

! "Microsoft Developer Studio"
SHARDIDE\BIN\                                   /C:DS	/V	/O:SharedIDE\Bin\
SHARDIDE\BINNOVER\                              /C:DS		/O:SharedIDE\Bin\
DFIDE\BIN\										/C:DS		/O:SharedIDE\Bin\
SHARDIDE\HELP\                                  /C:DS	  	/O:SharedIDE\Help\
SHARDIDE\ADDINS\                                /C:DS	  	/O:SharedIDE\AddIns\
SHARDIDE\MACROS\                                /C:DS	  	/O:SharedIDE\Macros\
DFIDE\HELP\										/C:DS	  	/O:SharedIDE\Help\
!DFIDE\TEMPLATE\                                 /C:DS	  	/O:SharedIDE\Template\
DF\BIN\BITVIEW.EXE                              /C:DS
DF\BIN\REGEE.EXE                                /C:DS
DF\HELP\BITVIEW.HLP                             /C:DS
PROJECTS\                                       /C:DS		/O:MyProjects\
MSDN\*.IVI                                      /C:DS

! "Fortran Compiler, Tools, and Libraries"
DF\BIN\DECFOR*.EXE                              /C:FO
DF\BIN\F90.EXE                                  /C:FO
DF\BIN\FL32.EXE                                 /C:FO
DF\BIN\DF.EXE                                   /C:FO
DF\BIN\F77.EXE                                  /C:FO
!DF\BIN\WINNT\                                   /C:FO	/#	/O:DF\Bin\
!DF\BIN\WIN95\                                   /C:FO	/@	/O:DF\Bin\
DF\BIN\*_HLP.TXT                                /C:FO
DF\BIN\FPR.EXE                                  /C:FO
DF\BIN\FSPLIT*.EXE                              /C:FO
DF\BIN\FPP.EXE                                  /C:FO
VC\BIN\BSCMAKE.EXE                              /C:FO	/V
VC\BIN\CVPACK.EXE                               /C:FO	/V
VC\BIN\CVTRES.EXE                               /C:FO	/V
VC\BIN\CVTRES.ERR                               /C:FO
VC\BIN\DUMPBIN.EXE                              /C:FO	/V
VC\BIN\EDITBIN.EXE                              /C:FO	/V
VC\BIN\LIB.EXE                                  /C:FO	/V
VC\BIN\LINK.EXE                                 /C:FO	/V
VC\BIN\NMAKE.EXE                                /C:FO	/V
VC\BIN\MSPDB*.DLL                               /C:FO	/V
DF\HELP\FQWIN.HLP                               /C:FO
DF\INCLUDE\                                     /C:FO
VC\INCLUDE\AFXRES.H                             /C:FO
VC\INCLUDE\WINRES.H                             /C:FO
VC\INCLUDE\WINRESRC.H                           /C:FO
VC\INCLUDE\DLGS.H                               /C:FO
VC\INCLUDE\WINVER.H                             /C:FO
DF\LIB\                                         /C:FO
VC\LIB\                                         /C:FO

! "Visual Fortran Books Online"
MSDN\DF*.IVT                                    /C:BOVF
! "Developer Studio Books Online"
MSDN\DS*.IVT                                    /C:BODS
MSDN\VB*.IVT                                    /C:BODS
! "Win32 SDK Books Online"
MSDN\PD*.IVT                                    /C:BO32
MSDN\IN*.IVT                                    /C:BO32

! "Sample Programs"
DF\SAMPLES\                                     /C:SA
!HELP\FPSBKS40.CS1                              /C:SA

! "Supplemental Tools and Libraries"
! "OpenGL Modules and Libraries"
!DF\INCLUDE\OPENGL\                              /C:SUOG
!VC\LIB\OPENGL\                                  /C:SUOG
! "Profiler"
VC\BIN\PROFILE.*                                /C:SUPR	/V
VC\BIN\PROFILER.*                               /C:SUPR
VC\BIN\PREP.EXE                                 /C:SUPR	/V
VC\BIN\PLIST.EXE                                /C:SUPR	/V
VC\BIN\*COUNT.BAT                               /C:SUPR
VC\BIN\*COVER.BAT                               /C:SUPR
VC\BIN\FTIME.BAT                                /C:SUPR
! "WinDiff"
VC\BIN\WINDIFF.EXE                              /C:SUWD	/V
VC\BIN\WINDIFF.HLP                              /C:SUWD
VC\BIN\GUTILS.DLL                               /C:SUWD	/V
! "PView" (system specific versions...)
VC\BIN\WINNT\PVIEW.EXE                          /C:SUPV /V	/#	
VC\BIN\WIN95\PVIEW95.EXE                        /C:SUPV /V	/@
! "Windows Tools"
! "Spy"
VC\BIN\SPYXX.EXE                                /C:SUWT	/V
VC\BIN\SPYHK50.DLL                              /C:SUWT	/V
VC\HELP\SPYXX.*                                 /C:SUWT
! "DDESpy" (system specific versions...)
VC\BIN\WINNT\DDESPY.EXE                         /C:SUWT /V	/#	
VC\BIN\WIN95\DDESPY.EXE                         /C:SUWT /V	/@
! "ZOOMIN"
VC\BIN\ZOOMIN.EXE                               /C:SUWT	/V
! "OLE Tools"
VC\BIN\OLEVIEW.EXE                              /C:SUOT	/V
VC\BIN\IVIEWERS.DLL                             /C:SUOT	/V
VC\BIN\IROTVIEW.EXE                             /C:SUOT	/V

! Fortran PowerStation 4.0 Command Line Components
FP\BIN\                                         /C:PS	/V
FP\INCLUDE\                                     /C:PS
FP\LIB\                                         /C:PS
FP\REDIST\                                      /C:PS   /S

! "IMSL Numerical Libraries"
! "IMSL Fortran 90 Modules"
!INCLUDE\MSIMSL*.MOD                            /C:IMFM
!INCLUDE\MSIMSL*.F90                            /C:IMFM
! "IMSL Math Library (Single Precision)"
!LIB\MATHS.LIB                                  /C:IMMS
! "IMSL Math Library (Double Precision)"
!LIB\MATHD.LIB                                  /C:IMMD
! "IMSL Statistics Library (Single Precision)"
!LIB\STATS.LIB                                  /C:IMSS
! "IMSL Statistics Library (Double Precision)"
!LIB\STATD.LIB                                  /C:IMSD
! "IMSL C Header Files"
!INCLUDE\STATS.H                                /C:IMCH
!INCLUDE\STATD.H                                /C:IMCH
!INCLUDE\MATHS.H                                /C:IMCH
!INCLUDE\MATHD.H                                /C:IMCH
!INCLUDE\MSIMSL.H                               /C:IMCH
! "Fortran PowerStation 1.0 Header Files"
!INCLUDE\STATS.FI                               /C:IMFH
!INCLUDE\STATD.FI                               /C:IMFH
!INCLUDE\MATHS.FI                               /C:IMFH
!INCLUDE\MATHD.FI                               /C:IMFH
!INCLUDE\MSIMSL.FI                              /C:IMFH