rel notes

Upload: samuelcjz

Post on 16-Oct-2015

10 views

Category:

Documents


0 download

TRANSCRIPT

____________________________________________________ Compaq Visual Fortran Release Notes September 2000 This document contains information about Compaq Visual Fortran. Software Version: Compaq Visual Fortran Version 6.5 Compaq Computer Corporation Houston, Texas ________________________________________________________________ September 2000 Compaq Computer Corporation makes no representations that the use of its products in the manner described in this publication will not infringe on existing or future patent rights, nor do the descriptions contained in this publication imply the granting of licenses to make, use, or sell equipment or software in accordance with the description. Possession, use, or copying of the software described in this publication is authorized only pursuant to a valid written license from Compaq or an authorized sublicensor. Compaq shall not be liable for technical or editorial errors contained herein. The information in this document is subject to change without notice. 1997-2000 Compaq Computer Corporation COMPAQ and the Compaq Logo are registered in the U.S. Patent and Trademark Office. AlphaGeneration, AlphaServer, DEC Fortran, OpenVMS, and Tru64 UNIX are trademarks of Compaq Information Technologies, L.P. Microsoft, NT, Visual Basic, Visual C++, and Windows are either trademarks or registered trademarks of Microsoft Corporation in the United States and other countries. Intel and Pentium are trademarks of Intel Corporation. AMD and Athlon are trademarks of Advanced Micro Devices, Inc. Adobe and Acrobat are trademarks of Adobe Systems Incorporated. GLOBEtrotter and FlexLM are trademarks of GLOBEtrotter Software, Inc. ISML and Visual Numerics are trademarks of Visual Numerics, Inc. Other product names mentioned herein may be trademarks of their respective companies. This document prepared using DECdocument, Version 3.3-1b. _________________________________________________________________ Contents 1 Compaq Visual Fortran Version 6.5 Release Notes 1.1 Introduction.................................. 1-2 1.2 General Release Notes......................... 1-3 1.3 Installation Release Notes.................... 1-5 1.4 Version 6 News................................ 1-8 1.4.1 Version 6.5 News.......................... 1-9 1.4.2 Version 6.1 News.......................... 1-12 1.4.3 Version 6.0 News.......................... 1-17 1.4.4 Version 6 Notes........................... 1-22 1.4.5 Version 6.5 Known Problems................ 1-25 1.5 Visual Fortran Documentation Release Notes for Version 6..................................... 1-26 1.5.1 Version 6.5 Documentation Changes......... 1-27 1.5.2 Version 6.1 Documentation Changes......... 1-27 1.5.3 Initial Index Use and Use With MSDN....... 1-29 1.5.4 PDF Files, LRM HTML Files, and Samples.... 1-30 1.6 Visual Fortran Compiler Release Notes......... 1-32 1.7 Visual Fortran RTL Release Notes.............. 1-41 1.8 Compaq Extended Math Library (CXML) Release Notes......................................... 1-56 1.9 Developer Studio Release Notes................ 1-57 1.10 Compaq Array Visualizer Release Notes......... 1-66 1.10.1 Compaq Array Visualizer Overview and Description of Features................... 1-66 1.10.2 Array Visualizer News..................... 1-68 1.10.3 Using the Fortran Array Visualizer from the Debugger.............................. 1-72 1.10.4 The Fortran Array Visualizer Uses HDF Libraries................................. 1-74 1.11 Fortran Format Editor Release Notes........... 1-75 1.12 Debugging Related Release Notes............... 1-76 iii 1 _________________________________________________________________ Compaq Visual Fortran Version 6.5 Release Notes This chapter contains release notes for Compaq Visual Fortran Version 6.5. Compaq Visual Fortran conforms to the Fortran 95 Standard, Fortran 90 Standard, and previous Fortran standards. Compaq Visual Fortran uses the same robust compiler system provided with Compaq Fortran on other platforms for Alpha systems. Please visit the Compaq Fortran Web page for a wealth of information about Visual Fortran and Compaq Fortran, including product descriptions, product updates, frequently asked questions, knowledge base articles, example programs, and other information: http://www.compaq.com/fortran This chapter contains the following sections: o Section 1.1, Introduction o Section 1.2, General Release Notes o Section 1.3, Installation Release Notes o Section 1.4, Version 6 News o Section 1.5, Visual Fortran Documentation Release Notes for Version 6 o Section 1.6, Visual Fortran Compiler Release Notes o Section 1.7, Visual Fortran RTL Release Notes o Section 1.8, Compaq Extended Math Library (CXML) Release Notes o Section 1.9, Developer Studio Release Notes o Section 1.10, Compaq Array Visualizer Release Notes Compaq Visual Fortran Version 6.5 Release Notes 1-1 o Section 1.11, Fortran Format Editor Release Notes o Section 1.12, Debugging Related Release Notes 1.1 Introduction Thank you for choosing Compaq Visual Fortran. These release notes describe this new release, called version 6.5, of Compaq Visual Fortran (abbreviated "VF" in what follows): o VF v6.5 replaces VF v6.1A. There are no released versions of VF numbered 6.2, 6.3, or 6.4. o VF v6.5 contains Array Visualizer v1.5 which replaces Array Visualizer v1.1A. There are no released versions of Array Visualizer numbered 1.2, 1.3, or 1.4. o Alpha users should be aware that support for Windows NT Alpha systems ends December 31, 2000. Releases of Visual Fortran after Version 6.5 will no longer support Windows NT Alpha systems. o Compiling using .MOD files is now much faster. We have made the .MOD files smaller and faster to search. ________________________ Note ________________________ All .MOD files created by CVF T6.2 Beta 1 or Beta 2 must be recompiled with CVF v6.5 in order to work properly. ______________________________________________________ o VF v6.5 contains the Fortran COM Server Wizard. o VF now generates optimized code for the Intel Pentium III, AMD K6, and AMD Athlon (K7) architectures. o VF now uses a third-party license management product called FlexLM to manage concurrent-use licenses. If you are licensed as a single-use user, this has no effect on your license and you will see no changes. Concurrent use license users should refer to the separate, additional instructions on how to use FlexLM in the appropriate chapter of the Compaq Visual Fortran Installing and Getting Started guide. 1-2 Compaq Visual Fortran Version 6.5 Release Notes For more details, see the sections below: o Section 1.2, General Release Notes o Section 1.3, Installation Release Notes o Section 1.4, Version 6 News o Section 1.5, Visual Fortran Documentation Release Notes for Version 6 o Section 1.6, Visual Fortran Compiler Release Notes o Section 1.7, Visual Fortran RTL Release Notes o Section 1.8, Compaq Extended Math Library (CXML) Release Notes o Section 1.9, Developer Studio Release Notes o Section 1.10, Compaq Array Visualizer Release Notes o Section 1.11, Fortran Format Editor Release Notes o Section 1.12, Debugging Related Release Notes 1.2 General Release Notes Compaq Visual Fortran (CVF or VF) Version 6.5 is an enhancement of VF v6.1A, the current shipping product for both Intel/Win32 and Alpha/NT, and includes patches for problems fixed since VF v6.1A shipped. VF V6.5 updates the Compaq Fortran 90/95 compiler, run-time library, certain IDE pieces, the Array Visualizer, the IMSL libraries, and VF documentation. VF 6.5 does not update the Compaq Extended Math Library (CXML) or Microsoft Developer Studio. Compaq Visual Fortran v6.5 is available in two separate products: o Compaq Visual Fortran Standard Edition The VF Standard Edition contains the VF compiler, libraries, the Compaq Extended Math Library (CXML, a set of mathematical subprograms covering, for example, Basic Linear Algebra, Linear System and Eigenproblem Solvers, and Sparse Linear System Solvers), and Developer Studio to support Intel processors running Windows/NT (including Windows 2000) or Windows 9*. o Compaq Visual Fortran Professional Edition Compaq Visual Fortran Version 6.5 Release Notes 1-3 The VF Professional Edition contains the VF compiler, libraries, CXML, and Developer Studio to support the Compaq Alpha processors running Windows NT; it contains the IMSL math and statistics libraries for both Intel and Alpha; it contains the Compaq Array Visualizer; it also contains what the Standard Edition contains: the VF compiler, libraries, CXML, and Developer Studio to support Intel processors running Windows/NT (including Windows 2000) or Windows 9*. This product requires that you be running Windows NT Version 4.0 with Service Pack 3 or Windows 9* or Windows 2000. Service Pack 3 will be installed by the Visual Fortran installation if required. VF also requires Microsoft Internet Explorer V4. Internet Explorer V4 will be installed by the Visual Fortran installation if required. VF v6.5 contains Microsoft Developer Studio Studio 98 (Developer Studio v6.0) and is not compatible with the DevStudio on VF v5.0A (Standard and Professional) and Microsoft Visual C++ (Intel and Alpha) v5.0. VF v6.5 can co-exist on the same system with Developer Studio V5 products. VF v6.5 contains bug fixes, performance improvements, extensions to improve compatibility with Microsoft Fortran PowerStation, and additional minor features. The Standard and Professional editions of Compaq Visual Fortran V6.5 contain complementary products from three vendors: o Kuck & Associates, Inc. Visual KAP, a code restructuring tool that can improve the performance of computer programs on serial and parallel Win32 Intel systems (Compaq also sells a KAP product for Alpha NT systems that is *not included* on the companion product CD-ROM) o NAG, Ltd. NAG Numerical Libraries, numerical and statistical routines in four libraries (Fortran 77, Fortran 90, C, and parallel) for Win32 Intel and Alpha systems. The Alpha libraries will be made available sometime after CVF v6.1 is released. o Galaxy Applied Engineering, Inc. 1-4 Compaq Visual Fortran Version 6.5 Release Notes UGL-Graphics(TM) library, scientific graphics subroutine libraries for Intel and Alpha systems o Canaima Software's f90SQL f90SQL is a library of functions and subroutines that work as an interface between your Fortran programs and Microsoft Windows Open Database Connectivity (ODBC) API. Customers must contact the vendors to purchase a license and access key for the software on the Companion Product CD-ROM per instructions with each product on the CD-ROM. 1.3 Installation Release Notes o The typical installation of Compaq Visual Fortran (CVF) now includes the Microsoft SDK documentation. This adds 110MB to the disk usage for the typical installation. o Internet Explorer is required to read HTML Help Viewer online documentation. When you install Visual Fortran, the setup installation procedure checks to determine whether a certain version of Internet Explorer is installed. If it detects that Internet Explorer is not installed or an older version is installed, it asks that you install Internet Explorer. If you do not install Internet Explorer at this time, you will not be able to view Visual Fortran online documentation in HTML Help Viewer and selecting many of the entries in the Developer Studio Help menu will result in an error message dialog box being displayed. If the installation program does not ask and you want to install Microsoft Internet Explorer 4.0. SP1: 1. On Intel, run \X86\SUPPORT\IE4\{WINNT | WIN95}\IE4SETUP.EXE from the Visual Fortran 6.5 CD. 2. On Alpha, run \AXP\SUPPORT\IE4\WINNT\IE4SETUP.EXE from the Visual Fortran 6.5 CD. If you install Internet Explorer later, you will also need to reinstall Visual Fortran to view the HTML Help Viewer online documentation. Compaq Visual Fortran Version 6.5 Release Notes 1-5 Visual Fortran online documentation requires the minimal set of Internet Explorer components; for example, it does not require the Active Desktop. Testing with Internet Explorer Version 5 shows that it can be used with Visual Fortran HTML Help Viewer online documentation. For information about Internet Explorer installation issues, please: 1. In a Web browser, open the URL: http://support.microsoft.com/support 2. Click Products (select Internet Explorer) 3. Either click the displayed links or click Search Support to locate the desired information. o If you attempt to install Visual Fortran v6.* using any of the methods described in "Getting Started - Using Setup to Install Visual Fortran", and SETUP.EXE in the root directory fails to run, then try the following: o On Intel, run \X86\SETUPX86.EXE o On Alpha, run \AXP\SETUPAXP.EXE This runs the same installation procedure as SETUP.EXE in the root directory. o Visual Fortran v6.* and Microsoft Visual C++ v6.0 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 Visual C++ V6.0 after VF v6.*, the Visual C++ installation does not update the Include and Library paths used by Developer Studio to include the MFC and ATL paths. You may add these yourself with the following method: 1. Select the Options... entry from the Developer Studio Tools menu. 1-6 Compaq Visual Fortran Version 6.5 Release Notes 2. Select the Directories tab. 3. In the "Show directories for:" combo box, select the type of path you wish to modify (that is, "Include files"). 4. Double-click on the last (empty) entry, and use the "..." button to browse for the "MFC\INCLUDE" and "ATL\INCLUDE" directories and add them to the list. 5. Use a similar procedure to add the "MFC\LIB" directory to the "Library Files" list. o The CVF and CAV installation procedures register a number of DLLs and OCXs. CVF registers DFDLG100.DLL, COMCAT.DLL, SHLWAPI.DLL, WININET.DLL, HHCTRL.OCX, ITIRCL.DLL, and ITSS.DLL in the windows\system directory. CAV registers ATL.DLL, HHCTRL.OCX, ITIRCL.DLL, and ITSS.DLL in the windows\system directory. CAV registers AVIS2D.OCX and AVISGRID.OCX in the ArrayVisualizer\Bin directory. Occasionally, these files are not properly registered by the installation or become unregistered. To re-register any of these files, use the Microsoft Register Server utility (regsvr32.exe) that can be found in your windows\system directory. The syntax for using Regsvr32.exe is as follows: Regsvr32 [/u] [/s] file-name where: /u - Unregisters the file based on the argument /s - Registers the file in silent mode, suppressing all messages file-name- The complete path and file to be registered or unregistered Regsvr32 displays a message box that indicates whether the registration was successful, unless you specify the /s option. o If you receive a message box on running Developer Studio or the Array Viewer that says: "The ordinal nnnn could not be located in the dynamic link library xxxx" Compaq Visual Fortran Version 6.5 Release Notes 1-7 Search for the file "xxxx" on your system; most often it will be in your Windows system directory. If the file has the "Read-only" attribute set, remove the attribute and reinstall VF and/or the Array Viewer. o When uninstalling v5.0 or v6.*, you may see a message box with the title "Remove Shared File?". We recommend that you select the "No to all" button unless you are certain that you will not need the file(s). Some of these files are needed to run VF applications and they take up only a small amount of disk space. o If you uninstall v5.0 after installing v6.*, you need to reinstall v6.* with the same options as the current installation in order to reset registry entries that are removed by the v5.0 uninstall. 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 If your Alpha system is running V1.0 or V1.1 of DIGITAL FX!32, you need to disable FX!32 while running the Visual Fortran installation, or upgrade to FX!32 V1.2 or later. You can find the latest FX!32 at: http://www.support.compaq.com/amt/fx32/index.html If you do not, the installation will display an error similar to: "Target file C:\WINDOWS\SYSTEM32\*.* is read only. Please remove the read-only attribute form the target file. Retry?" and the installation will fail. You may re-enable FX!32 after the Visual Fortran installation has completed. 1.4 Version 6 News This section describes Version 6 news and notes: o Section 1.4.1, Version 6.5 News o Section 1.4.2, Version 6.1 News o Section 1.4.3, Version 6.0 News o Section 1.4.4, Version 6 Notes 1-8 Compaq Visual Fortran Version 6.5 Release Notes o Section 1.4.5, Version 6.5 Known Problems 1.4.1 Version 6.5 News Version 6.5 news: o Compiling using .MOD files is now much faster. We have made the .MOD files smaller and faster to search. ________________________ Note ________________________ All .MOD files created by CVF T6.2 Beta 1 or Beta 2 must be recompiled with CVF v6.5 in order to work properly. ______________________________________________________ o New in v6.5 is the Fortran COM Server Wizard. The wizard generates the Fortran code necessary to implement a COM server, and allows you to concentrate on the code that is specific to the component you are creating. The wizard creates in-process servers (not EXE servers) and custom or dual interfaces (not Automation - only interfaces). See the new "Creating a COM Server" chapter in the online Compaq Visual Fortran Programmer's Guide. o %VAL and %REF applied to actual arguments now override any mechanism attributes specified for the matching dummies in an explicit interface. o In order to conform with clarified wording in the Fortran standard, the compiler has been changed so that when a READ statement encounters an end-of-file condition, and there is no END= specifier but there is an ERR= specifier, the ERR= branch is NOT taken. Similarly, if an end-of-record condition occurs but there is no EOR= specifier, an ERR= branch is not taken. A further behavior change, to conform with the standard, has been implemented. If an EOF (or EOR) condition occurs and there is not an IOSTAT= or END= (or EOR= in the case of EOR) specifier, the program is terminated with an error message. o VF now generates optimized code for the Intel Pentium III, AMD K6, and AMD Athlon {K7} architectures. o New COM routines provided are COMStringFromGUID and COMIsEqualGUID. Compaq Visual Fortran Version 6.5 Release Notes 1-9 o New intrinsic procedures include: INT_PTR_KIND() - returns the INTEGER KIND that holds an address POPCNT, POPPAR, LEADZ and TRAILZ intrinsics on X86 processors Optional KIND argument for LEN, SHAPE, SIZE, LBOUND and UBOUND DFOR$PREFETCH, DFOR$PREFETCH_MODIFY, DFOR$PREFETCH_ EVICT_NEXT on Alpha processors o DLLEXPORT and DLLIMPORT of Variables In previous versions of Visual Fortran, the only objects which could have the DLLEXPORT or DLLIMPORT attribute were procedures and COMMON blocks. VF can now export/import module variables and arrays. o Support for reading nondelimited character strings as input for character NAMELIST items has been added. o New environment variable FORT_CONVERT_ext acts like environment variable FORT_CONVERT.ext. o New exception handling routines are CLEARSTATUSFPQQ and GETEXCEPTIONPTRSQQ. o New Visual Fortran Samples (described in Roadmap to the Visual Fortran Samples) are provided, including: o COM sample: Adder o DIALOG sample: Celsicon o ExceptionHandling samples: ClearFP, Cslexp2, Cslexp4, GetEptrs, Vbvf1, and Winexcp1 o Isovar sample (ISO varying strings) o Mixed-language samples, new samples for MASM and Delphi o QuickWin samples: Conapp, Dirkeys4, PostMini, and Resize o Configuring Concurrent License Wait Time 1-10 Compaq Visual Fortran Version 6.5 Release Notes If you are using Visual Fortran under a Concurrent Use (network) license, and all available licenses are in use when you begin a compilation, the compiler will wait for the next available license. If the wait time expires before a license becomes available, compilation terminates with an error message. The default wait time is five minutes (300 seconds), but you can change this on a per-user basis through a registry entry if desired. To establish a new wait time, create a text file using NOTEPAD or WordPad and call it LWAIT.REG. The file should contain the following four lines (the second line is blank): REGEDIT4 [HKEY_CURRENT_USER\Software\DigitalEquipmentCorporation\VisualFortran\6.5] "LicenseWaitTime"="nnn" In this file, replace nnn with the number of seconds you want the compiler to wait for a license to become available. A value of 0 (zero) means that the compiler will not wait and will give an error immediately if a license is not available when compilation starts. Negative values are ignored. For example, if you wanted to change the wait time to ten minutes, specify 600 seconds as follows: REGEDIT4 [HKEY_CURRENT_USER\Software\DigitalEquipmentCorporation\VisualFortran\6.5] "LicenseWaitTime"="600" Save the LWAIT.REG file and then double-click on it to merge it in to the registry. This setting affects you only-other users of the system may establish their own values for the wait time, or take the default if it is undefined. o Visual Studio 6.0 Service Pack 4 After installing Service Pack 4 of Visual Studio 6.0, linking DLL libraries may report: error LNK2001: unresolved external symbol __imp___fpieee_flt Compaq Visual Fortran Version 6.5 Release Notes 1-11 For a resolution to this problem, see the following Knowledge Base article on the Visual Fortran web site: http://www.digital.com/fortran/kb/q1036.html o The directories \X86\USUPPORT and \AXP\USUPPORT on the CD-ROM contain the \RUNTIME subdirectory that contains the redistributable files for CVF v6.5 and CAV 1.5: ...\RUNTIME\VFRUN650I.EXE and ...\RUNTIME\VFRUN650A.EXE This self-installing executable kit installs the run-time components needed to run Visual Fortran applications on X86 and AXP systems respectively which do not have Visual Fortran installed. ...\RUNTIME\DAV-X86-150.EXE and ...\RUNTIME\DAV-AXP-150.EXE This demonstration package includes the Array Viewer, Avis2D ActiveX control, and a sample file. The Array Viewer Demo can display AGL (Array Visualizer's native format) files written by an Array Visualizer user; it can also display HDF files. The package, including the ActiveX controls, is also used when distributing applications which make use of the Avis2D control to users who do not have the full Array Visualizer kit installed. 1.4.2 Version 6.1 News The following Version 6.1 news should also be noted: o New in v6.1A are the command line options /ccdefault, /cxml, /imsl, and /align:sequence; array constructors may have scalar CHARACTER source elements of varying size. See the online documentation for more information. o VF v6.1 Professional CD contains v6.0 IMSL libraries The VF v6.1 Professional kit contains the IMSL libraries from the VF v6.0 Professional kit. The VF v6.1 Getting Started and Programmers Guide document new v6.1 IMSL libraries that will be made available via a web- downloadable patch kit soon after VF v6.1 ships. o NO_ARG_CHECK attribute The NO_ARG_CHECK attribute specifies that type and shape matching rules related to explicit interfaces are to be ignored. This permits the construction of an INTERFACE block for an external procedure or a module procedure that accepts an argument of any type or shape. See the online documentation for more information. Compaq recommends that arguments declared as type CHARACTER not be given the NO_ARG_CHECK attribute, as argument passing inconsistencies may otherwise result. o Predefined symbols to VF and FPP The VF driver executes FPP and the VF compiler with a number of predefined symbols: ________________________________________________________ Switch/Symbol_____________Why?__________________________ -D_WIN32=1 (both Because this is Win32 compiler and FPP) -D_MT=1 If compiling threaded -D_X86_=1 (both compiler If Intel and FPP) 1-12 Compaq Visual Fortran Version 6.5 Release Notes ________________________________________________________ Switch/Symbol_____________Why?__________________________ -D_WIN95=1 If Windows 95 -D_WIN98=1 If Windows 98 -D_ALPHA_=1 (both If Alpha compiler and FPP) -D_MSFORTRAN_=401 If /fpscomp:all or /fpscomp:symbols -D_DLL=1 If linking against a DLL /D__LANGUAGE_FORTRAN______To_FPP_only___________________ The user may define additional symbols, such as -D_ BUILDING_DLL=1 to mean that the compilation is building a DLL. o A new item has been added to the Developer Studio File menu, "Print Colorized Fortran...". This item prints a Fortran source file in color. It uses the FSC utility, described elsewhere in the release notes, to create an HTML file with the coloring information. It then instructs the application on your system that handles HTML files to print the file. This has been tested with the Internet Explorer and Netscape browsers. If you encounter a problem using the "Print Colorized Fortran..." item, please use the FSC utility directly. Note that "Print Colorized Fortran..." creates the HTML file in your TEMP directory, and does not delete the file since it does not know when the printing has completed. You may delete these files to free up disk space. o FSC.EXE has been added to the kit. This program takes an .F90 or .FOR source and produces a HTML version that is colorized per the current Developer Studio Color settings in the registry. It has default colors that are used if the current registry settings are not available. The resultant HTML file may be printed or viewed with your favorite browser. This utility may be invoked from a command prompt (use FSC -? or FSC /h for help) or from within the IDE. Compaq Visual Fortran Version 6.5 Release Notes 1-13 o VFRUN provides a self-extracting executable file that installs Visual Fortran run-time components on the target system. These run-time components include DLLs and other files, as described in Compaq Visual Fortran Installing and Getting Started in "Redistributing Visual Fortran Files". VFRUN files are provided for different Visual Fortran releases and for x86 and Alpha systems. For example, for Visual Fortran v6.1, VFRUN61i.exe is provided for x86 systems and VFRUN61a.exe is provided for Alpha systems. o The Fortran compiler now sets "/arch:host /tune:host" when the user specifies "/fast". This generates optimal code for the computer architecture on which the compiler is running. However that code may run slowly or not at all on another version of the computer architecture. o Two new Fortran source directives for controlling optimizations are now available: cDEC$ IVDEP and cDEC$ UNROLL. See the online Compaq Visual Fortran Programmer's Guide for a complete description. o New functionality has been added to the Dialog Procedures: - You may use ActiveX Controls in your dialog boxes. See "Using ActiveX Controls" in the "Using Dialogs" section of the online Compaq Visual Fortran Programmer's Guide. - Edit Box control enhancements: * You may now use multiline edit controls. * The maximum size restriction of 256 characters has been removed. * The Edit Box control supports two additional integer indexes: DLG_TEXTLENGTH - Sets or Gets the current length of the text in the edit box. DLG_POSITION - Sets or Gets the current text cursor position in the edit box. - New Routines: * DlgSetTitle - Sets the title of the dialog box. 1-14 Compaq Visual Fortran Version 6.5 Release Notes * DlgFlush - Updates the display of the dialog box. Useful when changing the dialog box outside of a dialog callback. * DlgModalWithParent - Allows you to specify the parent window of a modal dialog box. Useful in an SDI or MDI Windows application that uses modal dialog boxes. * DlgIsDlgMessageWithDlg - Allows you to specify which dialog box to check. Useful when the dialog box was created in a DLL. - The dialog box supports a new callback index, DLG_ SIZECHANGE. This callback is invoked when the size of the dialog box changes. There is one known problem: An event method which passes a DOUBLE parameter by value does not work. This is because of a problem in a system DLL. o New SPORT_xxx (Serial Port) routines have been added The SPORT_xxx collection of routines is designed to help the Fortran programmer do basic input and output to serial ports. The programming model is much the same as a normal file except the user does a connect/release instead of an open/close. Two types of read and write operations are provided. One set reads and writes arbitrary data from/to the port while the other set reads and writes line terminated data. Calls are provided to set basic port parameters such as baud rate, stop bits, timeouts, etc. Additionally, a call is provided to return the WIN32 handle to the port so that raw WIN32 APIs may be used to implement additional needs of the programmer. The documentation overview can be found in Programmers Guide-> Files, Devices, and I/O Hardware->I/O Hardware- >Using the Serial I/O Port Routines. The detail description of the routines can be found in Language Reference->A to Z Reference->S. o The new subroutine TRACEBACKQQ() allows you to initiate a stack trace in your program whenever you like. The input arguments allow you to specify your own message text to head the output and other options as well. See the online documentation for more info. (Programmer's Compaq Visual Fortran Version 6.5 Release Notes 1-15 Guide->Handling Run-Time Errors->Using Traceback information, and the Language Reference Manual A to Z Reference->T to Z->TRACEBACKQQ.) o Greater Access to Windows APIs DFWINTY.F90 has 980 new derived types and 4070 new Fortran parameter constants added. These new items represent the difference between Microsoft Visual C++ 4 header files and Visual C++ 6 header files. USER32.F90 has 72 new interfaces to routines in USER32.LIB. These new routine interfaces again represent the difference between Microsoft Visual C++ 4 header files and Microsoft Visual C++ 6 header files. KERNEL32.f90 has 50 new interfaces to routines in KERNEL32.LIB. GDI32.F90 has 25 new interfaces to routines in GDI32.LIB. ADVAPI32.F90 has 50 new interfaces to routines in ADVAPI32.LIB. In all these files, the new material is under conditional compilation so that defining "__DO_NOT_ INCLUDE_VC6_ITEMS" will remove the new items. Search for the string above to locate the new items which will be found towards the end of the file. The files are shipped without the string being defined, and the module files will contain the new items. o VF puts literals into read-only memory so storing into a dummy argument that has a constant as its associated actual argument will result in an access violation and program termination: call f(0) ... subroutine f(i) i=1 ! this will die o v6.1 for Intel contains all of the applicable updated files from the Microsoft Visual Studio 6.0 Service Pack 3. Therefore, V6.1 Intel users do not need to install Visual Studio 6.0 Service Pack 3 unless you have other Visual Studio products. v6.1 for Alpha contains all of 1-16 Compaq Visual Fortran Version 6.5 Release Notes the applicable updated files from the Microsoft Visual Studio 6.0 Service Pack 2. 1.4.3 Version 6.0 News The following v6.0 news should be noted: o With the addition of minimal width format field editing in this release, VF now fully supports the Fortran 95 standard ISO IEC 1539-1:1997. o Effective with this release, the v4.0 Microsoft Fortran 90 compiler for Intel is no longer supplied on the Visual Fortran kit. o Support for traceback is included with this VF kit. When an application aborts with a severe error, the Fortran runtime will now, by default, display its usual error message plus a hex dump of the call stack at the time of the error. If the executable image includes traceback information, the runtime will also provide correlation of program counter values to the source file, routine name and line number. The inclusion of traceback info is under the control of a new compiler option, /traceback. The /traceback option is on by default in IDE Debug configurations and off by default in IDE Release configurations. If you do not want to see traceback output, you can disable it with a new environment variable, FOR_DISABLE_ STACK_TRACE. Set the environment variable to true to turn off the output. You will still get the standard runtime error message telling you what happened if you disable stack trace output. Since the expected correlation information can only be generated by the Fortran compiler, mixed language applications will only see correlation for that part of the application written in Fortran. You'll still get hex PCs for anything else but you can manually correlate that information by use of a map file. The online Compaq Visual Fortran Programmer's Guide contains more information on generating and using traceback information to debug your application. Compaq Visual Fortran Version 6.5 Release Notes 1-17 Correlation of program counter values to the source lines does not work with incremental linking. If you enable traceback and incrementally link your image, the rtl will disable PC correlation. o The call stack display in the IDE and traceback information displayed for errors from math intrinsics on Intel platforms used to be incorrect due to limitations of the WIN32 StackWalk() api. For debug images or images built with the /traceback option, the compiler will now use a calling sequence which the StackWalk() api is capable of interpreting correctly. o Visual Fortran now provides Fortran project wizards which make it easier for you to create a new Fortran project. In some cases, "template" code can be generated as a starting point for your application. See the "Types of Projects" section in the online Compaq Visual Fortran Programmer's Guide for details. o Visual Fortran now provides a facility to save and re-use the Project settings for multiple projects of the same project type. For example, you can save your Project settings environment for a QuickWin project type and use those saved settings as defaults when you create a new QuickWin project type. See the "Saving and Using the Project Setting Environment for Different Projects" section in the online Compaq Visual Fortran Programmer's Guide for details. o There is a new icon in the Fortran toolbar. It is named "Manage Saved Fortran Environment" and it displays your saved Fortran environments. It allows for selective deletion of saved environments and duplicate scanning. It also allows you to rename the environment or change the comment. o The rtl has a new feature for helping to debug unhandled IO programming errors in the IDE. When a severe unhandled IO programming error occurs (such as an End- of-File condition), and the program is executing in the debugger, the rtl will raise a debug event automatically so execution will stop and the Call Stack Display (Alt+7) can be viewed. 1-18 Compaq Visual Fortran Version 6.5 Release Notes When the debug event happens, the user will see an information box containing: User breakpoint called from code at 0xnnnnnnn along with disassembly information from NTDLL. Click on OK to dismiss the information box. Scanning down the Call Stack Display, there will be a few frames from NTDLL and the Fortran rtl displayed, and then the actual Fortran routine with the IO call will show up. In the Context menu, select the Fortran routine to get the Fortran code displayed with the green arrow pointing at the IO statement in error. This action all occurs after the error message and traceback information has been gathered and output. That information is available in the hidden program output window if you iconize the IDE. You should not need the stack dump because you have the Call Stack Display in the IDE, but the error message with the file name might be useful to see. In VF v5.0, this behavior is only supported on Windows NT: to break on an unhandled IO error on Windows9*, the user had to use the environment variable FOR_GENERATE_ DEBUG_EXCEPTION. In VF v6.*, it is no longer necessary to use FOR_GENERATE_DEBUG_EXCEPTION. o The /optimize:5 and /[no]transform_loops options are now supported on the Intel platform. They have always been there on the Alpha platform. o The ...\DF\SAMPLES directory now contains a SAMPLES.HTM file that is a "roadmap" to the samples. It explains the functionality that each sample demonstrates. o The behavior of the REFERENCE attribute has changed, but only in a very specific, limited way. The change occurred in how character strings are passed when the STDCALL and REFERENCE attributes are both given to an entire function or subroutine. Character strings can be passed with or without a "hidden length". In general, they are passed with a hidden length included either immediately after the character argument, or at the end of the argument list. However, when certain attributes are applied to the Compaq Visual Fortran Version 6.5 Release Notes 1-19 argument or function, only the address of the character argument is passed with no hidden length argument. This was previously defined as: _________________________________________________________________ Argument Given to ATTRIBUTE ATTRIBUTES Given to Function or Subroutine C+REFER- STDCALL+REFER- ___________default__C________STDCALL___ENCE________ENCE__________ default w/len arg(1:1) arg(1:1) w/len no len reference__no_len___no_len___no_len____no_len______no_len________ This was how Microsoft PowerStation originally specified this behavior, so VF specified it too. However, there was no ability to pass a character argument with the hidden length *and* using the STDCALL attribute for the function. This was a major problem that did not occur with the C attribute because specifying C+REFERENCE did pass the length. Also, this was the only case where the C+REFERENCE behavior varied from the STDCALL+REFERENCE behavior. As a result, the STDCALL+REFERENCE behavior has been modified (when no attribute is given to the argument) to match the C+REFERENCE behavior, i.e. pass both the address and the hidden length in this case. This allows the use of STDCALL while still being able to pass the address of character arguments with or without the hidden length. To pass the address only, i.e., to get the old behavior, add the REFERENCE attribute to character arguments while keeping both the REFERENCE and STDCALL attributes on the routines. o The run-time support was modified to not require a record terminator or on the last record of a formatted data file. Prior to this change, an end of file during read was generated when this condition was encountered. Also, prior to this change, the switch /fpscomp=general would allow the last record to not contain a record terminator. 1-20 Compaq Visual Fortran Version 6.5 Release Notes o The BUFFERED= keyword has been added to the OPEN and INQUIRE statements. The default is BUFFERED='NO' for all I/O, in which case, the RTL empties its internal buffer for each WRITE. If BUFFERED='YES' is specified and the device is a disk, the internal buffer will be filled, possibly by many WRITEs, before it is emptied. If the OPEN has BUFFERCOUNT and BLOCKSIZE arguments, their product is the size in bytes of the internal buffer. If these are not specified, the default size is 1024 bytes for /fpscomp=general and 8192 bytes otherwise. This internal buffer will grow to hold the largest single record but will never shrink. o The command line option "/assume=buffered_io" turns on buffered I/O for all Fortran logical units opened for sequential writing. The default is "/assume=nobuffered_ io". o New functionality has been added to the Dialog Procedures: - Support for modeless dialog boxes (DlgModeless) - Support for Picture, Progress, Spin, Slider and Tab controls - Support for the DLG_ADDSTRING control index for List and Combo Boxes - Support for initial data for Combo Boxes See the "Using Dialogs" section of the online Compaq Visual Fortran Programmer's Guide for details. There is a new DIALOG samples directory which demonstrates the use of the new functionality. If you used any of the non-public procedures or structures in DFLOGM.F90, you must recompile your code before relinking. o New functionality has been added to the Fortran Module Wizard: - The wizard now processes the Enumerations in the type information. It generates PARAMETER declarations for the Enumerations that you select. - The wizard now generates PARAMETER declarations for the CLSIDs of the CoClass'es in the type information. Compaq Visual Fortran Version 6.5 Release Notes 1-21 - The list box in the "Type Library" dialog box now preceeds the name of the component with the type of component (for example, "Interface", "Enum", "Dispinterface", "Module"). 1.4.4 Version 6 Notes o The directories \x86\USUPPORT and \AXP\USUPPORT on the CD-ROM contain some unsupported but nevertheless useful tools. For example: _________________________________________________________________ ...\Support Directory___________Description__________________________________ \Misc\CTEST.EXE This program may be renamed to "WHICH.EXE" and placed somewhere on a users PATH to perform the function of the Unix "which" command. \Misc\WHAT.EXE This program will scan a binary file for Unix style "what" strings and display any that are found. The DECFOR90.EXE may be used as an example of a file that contains these "what strings". \Misc\STRSUB.EXE This program will process a text file and replace all occurences of a given string with another string. \Misc\FIXMSTAB.EXE This program converts Fortran source code that uses Microsoft style tab rules to follow Compaq Fortran standard TAB rules. \Misc\CBANLC.EXE This program analyzes object and library files for inconsistencies in Fortran COMMON blocks that can lead to LINK errors and program failures. For instance, this tool will tell you if you have declared two COMMON blocks of the same name that have different sizes. Note that because of performance considerations, a COMMON block whose size is less than 8 bytes is reported to have a size of 8 bytes. This may cause inconsistencies in small COMMON blocks to not be reported. 1-22 Compaq Visual Fortran Version 6.5 Release Notes _________________________________________________________________ ...\Support Directory___________Description__________________________________ \Misc\CBANLW.EXE A Windows version of the above CBANLC tool. \Misc\LOADTEST.EXE This program can be used to try a test load on a DLL that might be loaded later by some program using the LoadLibrary API (such as used by Microsoft Visual Basic). It will try to load the DLL and report all other DLLs that are used in the process. Optionally it will lookup entry points in the loaded DLL using names passed in on the command line. All errors are reported. \Win95\EC.EXE This program may be used on a Windows 95 system to capture stderr output. It executes a command line after parsing and removing ____________________Windows_NT_compatible_redirection_symbols.___ o Conditional compilation with various letters in column 1 of fixed form source is a Microsoft Fortran PowerStation feature that is not supported by VF. VF provides a sample program called DLINES (under Samples\Advanced\COM) which will automatically convert PowerStation conditional compilation letter lines to the !DEC$ IF DEFINED form. This program is also an interesting example of using the COM interface to drive Developer Studio, which is used to actually do the editing. o To allow you to read the Compaq Visual Fortran Installing and Getting Started guide before (or during) installation, the Getting Started document is provided in Adobe Acrobat Reader (PDF) format in the root directory of the Visual Fortran CD-ROM with a file name of CVF_GS.PDF. This file requires Acrobat Reader Version 3.01 (Version 3.02 or later recommended), which can be downloaded from: http://www.adobe.com After you install Visual Fortran, you can view the Visual Fortran Language Reference, Programmers Guide, Error Messages, Array Visualizer, and other online documentation with HTML Help Viewer. Compaq Visual Fortran Version 6.5 Release Notes 1-23 o The fpp preprocessor by default does not do macro substitution. There is an option to enable it: c:\users\test> df /fpp:"/m" tst.fpp The default is /fpp:"/nom". o Regarding how many files can be simultaneously open in a VF program, the following experiments were performed: - On Windows NT, a Visual Fortran program was able to open successfully 5000 files simultaneously. - On Windows 9*, a Visual Fortran program was able to open successfully 250 files simultaneously before it got an OPEN error. o Using NT v4.0 SP3 {service pack 3}, a VF program can compile and execute with a COMMON block up to 1.75GB in size. o VF allocates array temporaries and automatic arrays on the stack at run-time. The default size of the Win32 stack is not very large so you may need to increase the stack size. It is possible to increase the stack size either when you link the executable, or by using EDITBIN on the executable later. On the LINK command line, you can use the /stack qualifier, as: link /stack:4000000 Or, as part of the DF or F90 command: df foo.f /link /stack:4000000 You also have the option to modify the stack size in the executable itself using EDITBIN, such as: editbin /stack:4000000 foo.exe By default, the stack size is 0x100000, or (1,048,576 decimal). o The FULLAPI.F90 file. 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. 1-24 Compaq Visual Fortran Version 6.5 Release Notes o It is now possible to PRINT and SAVE your QuickWin screen images when your display settings are set to Hi Color (16 bits per pixel), True Color (24 bits per pixel), and True Color (32 bits per pixel). Only support for 256 colors (8 bits per pixel) or less was previously provided. This extended support also applies to the routines GETIMAGE, IMAGESIZE, LOADIMAGE, PUTIMAGE, and SAVEIMAGE, and to the _W versions of these routines such as SAVEIMAGE_W. To SAVE or PRINT a screen image, click on the window you want to use, click on the menu item EDIT, and Select All, then click on the menu item FILE, and click either PRINT or SAVE. You may display the resulting .BMP from SAVE in the PAINT accessory or you may use a call to the LOADIMAGE routine in a QuickWin program to bring the image back to the screen. o In the linker, the order that libraries are searched is the order in which the libraries are specified EXCEPT that the linker looks in the "current" library first. So, if your program references something in B.LIB and then it references F which is in both A and B, the linker will find the F in B.LIB even if A.LIB is specified on the link line first. If you specify /VERBOSE on the link command line, the linker will show you what it is doing. o On Windows 95 and Windows 98 systems, fpe:0 doesn't work correctly on underflow. The hardware signals the underflow but the operating system reports a floating invalid. Instead of making the result value 0.0, the program aborts. 1.4.5 Version 6.5 Known Problems The following known problems remain in VF: o Control C handlers Problems have been reported with implementing console event handlers (e.g., control C handlers) in programs built with Visual Fortran. The symptom is usually that the handler is seemingly never invoked. This is due to the implementation of console event handling on WIN32 platforms. In response to a cntl-C event, the operating system will create a new thread to execute the handler Compaq Visual Fortran Version 6.5 Release Notes 1-25 in. In order for the new thread to execute, it must obtain priority. If the currently executing thread does not relinquish its priority, it is possible that program execution will terminate before the console event handler ever executes. For example, a READ statement directed at the console which is interrupted by a control-C can cause an end-of-file error to be processed, resulting in program termination, before an event handler can execute. This is a WIN32 restriction, not a bug in VF, and developers need to be defensive when implementing console event handlers. For example, the READ statement above could supply an END=label where at label, a call to Sleep(0) causes the current thread to give up its priority and might allow a handler to execute. o asm files generated by the compiler may not assemble properly. This will be corrected in a future release. o There is a known interaction problem with window sizing when using the program TOPDESK (from the Microsoft resource kit) and Developer Studio. The problem can be somewhat avoided by not maximizing the Developer Studio Window. o Programs that use the ARRAY_VISUALIZER attribute must be linked and run on systems that have the array visualizer installed. If the array visualizer is not installed and a link of a program using the ARRAY_VISUALIZER attribute is attempted, an unresolved reference will be reported. If a program using the ARRAY_VISUALIZER attribute is run on a system on which the array visualizer is not installed, the program will crash at run time. 1.5 Visual Fortran Documentation Release Notes for Version 6 This section describes documentation changes for Version 6.5 Documentation Changes. It also describes: o Version 6.1 Documentation Changes o Initial Index Use and Use With MSDN o PDF Files, LRM HTML Files, and Samples 1-26 Compaq Visual Fortran Version 6.5 Release Notes 1.5.1 Version 6.5 Documentation Changes The following summarizes online documentation changes for Compaq Visual Fortran Version 6.5: o New sections and chapters have been added to the online Compaq Visual Fortran Programmer's Guide. The new chapters are: - Creating a COM Server - Advanced Exception and Termination Handling Considerations o New intrinsic procedures and other language elements have been added to the Language Reference. o New features as well as links to the new sections in the online documentation are provided in New Features for Compaq Visual Fortran Version 6.5, which is available from the HTML Help online documentation Home Page. o Access to the latest MSDN information are now available as items in the HTML Help viewer's Help menu. For example, click the Help menu item MSDN Library Help to view the latest MSDN information from Microsoft. o Starting with Version 6.5, the Visual Fortran Getting Started is now called the Compaq Visual Fortran Installing and Getting Started. 1.5.2 Version 6.1 Documentation Changes The following summarizes using HTML Help changes for Version 6.1 and 6.1A: o You can now define subsets within HTML Help. For example, you can define a subset of just Visual Fortran documentation. This can be used to minimize index or full-text search tasks. To define a subset, use the Define Subset item in the View menu (see the Installing and Getting Started online PDF file or printed guide). To choose a subset, click the drop-down list in the left pane. Compaq Visual Fortran Version 6.5 Release Notes 1-27 o HTML Help now remembers its window size and screen location from its previous use. HTML Help stores its window geometry, so its window size and location are remembered the next time you start HTML Help. o The home pages now have a link to a section that lists new features. The Visual Fortran and Array Visualizer home pages now have a link to a section that describes new and changed features. The sections contain links to the sections where the new features are discussed in detail. o HTML Help Viewer is the online documentation viewer HTML Help Viewer does not appear automatically when you start Developer Studio. For more information about the HTML Help viewer, see Chapter 5 of Compaq Visual Fortran Installing and Getting Started. o In HTML Help Viewer, under the title Visual Fortran, are these titles: - Compaq Visual Fortran: contains the Visual Fortran Home Page, Language Reference, Programmer's Guide, and Error Messages. The Language Reference describes language topics and includes a section "A to Z Reference", containing an alphabetic list of all Visual Fortran intrinsics and routines. The Compaq Visual Fortran Programmer's Guide contains information about building Fortran applications, compiler options, debugging, coding for various project types, and other information. Error Messages includes not only Fortran run-time messages, but also Linker messages, NMAKE messages, and messages for related tools. - Compaq Array Visualizer: contains the Array Visualizer Home Page and documentation (the full Array Visualizer is provided in the Professional Edition). An .HLP file for the Array Viewer part of the Array Visualizer is also provided. - The title Developer Studio 98 contains the Visual C++ User's Guide (for Visual Fortran). 1-28 Compaq Visual Fortran Version 6.5 Release Notes 1.5.3 Initial Index Use and Use With MSDN o Initial index use and disk space requirements for HTML Help Viewer After you install Visual Fortran, you can run the HTML Help Viewer to view the online documentation. If you install Visual Fortran using the "Run From CD-ROM" option, the first time you access the index (such as clicking the index tab, pressing F1, or if you start HTML Help Viewer by clicking Index in the Help menu), a "building index for first use" message box appears. There will be a delay of 10-20 minutes while HTML Help Viewer creates a df60.chw index file in the folder ...\Microsoft Visual Studio\df98\doc. The df60.chw file is approximately 20 MB. In addition to disk space requirements for installing Visual Fortran in "Run From CD-ROM" mode, the disk where Visual Fortran is installed must have enough room after installation for building the df60.chw file, if you intend to use the documentation index. There also needs to be at least 30MB free on the disk where the windows temp directory resides while the df60.chw file is being built. o If you also install the MSDN (or Visual Studio) documentation If you also install the MSDN documentation from CD-ROM, be aware that you must switch between displaying the MSDN documentation collection and the Visual Fortran documentation collection in HTML Help Viewer. With Windows 2000 systems, be aware that your account needs at least Power User priviliege to change collections. To change the collection of titles displayed in HTML Help: 1. Start the visual development environment (Start-> Compaq Visual Fortran->Developer Studio) 2. In the Tools menu, click Options. 3. Scroll to the Help System tab 4. In the Preferred Collection box, select either the Visual Fortran or the MSDN Library as your current collection. Compaq Visual Fortran Version 6.5 Release Notes 1-29 5. Click OK. The collection you just selected is now your current collection. Regardless of the collection currently selected, you can display the Visual Fortran HTML Help by selecting "Online documentation" in the Visual Fortran program folder. 1.5.4 PDF Files, LRM HTML Files, and Samples o Visual Fortran, CXML, and IMSL documentation are provided as PDF files. The Compaq Visual Fortran Installing and Getting Started is available in Acrobat PDF format. Open the file cvf_ gs.pdf on the Visual Fortran CD-ROM root directory in Adobe Acrobat Reader. Most of the Visual Fortran HTML Help documentation is also available in as PDF files in the Info\Df\Doc\CVF_ PDF directory on the Visual Fortran CD-ROM (see the Readme.htm or Readme.txt file in that directory). The online Compaq Extended Mathematical Library (CXML) Acrobat PDF file Cxmlref.pdf are located in the directory x86\df\cxml\doc or Axp\df\cxml\doc on the Visual Fortran CD-ROM. If requested, the Cxmlref.pdf file is installed in the ...\Df98\CXML\Doc directory. The online IMSL Acrobat PDF files are provided in the folder x86\df\imsl\help or Axp\df\imsl\help on the Visual Fortran CD-ROM. Open the file imsl.pdf to access all the IMSL PDF files. If requested, the IMSL PDF files are installed in the ...\Df98\IMSL\Help directory. You can download the Visual Fortran online documentation in Acrobat PDF format or view the HTML version of the Compaq Fortran Language Reference Manual and Compaq Visual Fortran Installing and Getting Started by clicking the Online Documentation area at our Web page: http://www.compaq.com/fortran Viewing these PDF files requires Adobe Acrobat Reader Version 3.01 (or later). The Acrobat Reader can be downloaded from the Adobe Web site: http://www.adobe.com 1-30 Compaq Visual Fortran Version 6.5 Release Notes If you do not have Internet access, you can install Acrobat Reader by double-clicking the exe file in the following directory on the Visual Fortran CD-ROM for x86 systems: x86\Tools\AcroRead Before you install a new version of Acrobat Reader, remove the previous version of Acrobat Reader by using the Add/Remove Programs icon in the Control Panel. o An HTML version of the Compaq Fortran Language Reference Manual is provided on the Visual Fortran CD-ROM in the folder Info\Df\Doc\Lrm (open file Dflrm.htm in a browser). This document and the online Language Reference now show Compaq extensions (blue-green color) to the Fortran 95 standard. o Road Map to the Samples and Samples Folders Visual Fortran samples are provided in directories below: On the VF CD-ROM: info\Df\Samples On your disk after ...\Microsoft Visual installation: Studio\Df98\Samples The Road Map to the Samples, file Samples.htm, can be viewed in an HTML browser. It describes the Visual Fortran Samples and is available: On the VF CD-ROM: info\Df\Samples\Samples.htm On your disk after ...\Microsoft Visual installation: Studio\Df98\Samples\Samples.htm Array Visualizer samples are provided in directories below: On the VF CD-ROM: x86\Samples Axp\Samples On your disk after Program installation: Files\ArrayVisualizer\Samples There is a separate Roadmap to the Array Visualizer Samples, samples.htm, provided in: Compaq Visual Fortran Version 6.5 Release Notes 1-31 On the Array x86\Samples\Samples.htm Visualizer CD-ROM: Axp\Samples\Samples.htm On your disk after Program Files\ArrayVisualizer\Samples\Samples.htm installation: 1.6 Visual Fortran Compiler Release Notes The following changes have been made to VF v6.1A since VF v6.1 shipped: o The following changes have been made to the compiler {from -845-4297N to -970-42A1L}: - Add /ALIGN:SEQUENCE which specifies that SEQUENCE types may be padded for alignment. - Make the default for BLANK= in OPEN match the documentation when the -f66 (/NOF77) switch is specified, which is to default to BLANK='ZERO'. Previously, BLANK='NULL' was used regardless. - Allow array constructors to have scalar CHARACTER source elements of varying size. - Correct problem where a call to a routine with the C and VARYING attributes generates incorrect code. - Allocate all PARAMETER constants in a read-only PSECT. - Ensure that locally-allocated derived-type arrays are naturally aligned. - Generate correct code for pointer assignment of an array generated from a section of a derived type. - Eliminate internal compiler error in certain cases with dummy argument that has OPTIONAL and INTENT(OUT) attributes. - Eliminate access violation on some platforms for ALLOCATE of pointer in derived type. - Correct problem where compiler could omit putting out declaration for a routine symbol. - Handle non-present, optional dummy arguments as third argument to INDEX, SPAN and VERIFY. 1-32 Compaq Visual Fortran Version 6.5 Release Notes - Generate correct code when passing character array slices as arguments. - Fix case of contiguous array slice as first argument to TRANSFER. - Fix INQUIRE by IOLIST of ALLOCATABLE arrays - Correct problem involving pointer assignment with sections of a derived type. - If an ALLOCATABLE array has the ARRAY_VISUALIZER attribute, make sure that automatic deallocation at end of routine is done correctly. - Improve compile time performance when USEing a module which contains a large COMMON block with many (thousands) of EQUIVALENCEd variables. - Allow general CHARACTER expressions for the MOLD argument of the TRANSFER intrinsic. - Correct problem that prevented scalar numeric variables and array elements which appeared in the iolist of an output statement (WRITE, etc.) from participating in uninitialized variable analysis. - Add support for /ccdefault option. - In OPEN statement, if STATUS is not specified, default to UNKNOWN unless /f66 is specified, in which case default to NEW. - Eliminate internal compiler error for case involving EQUIVALENCEd POINTER variables not in COMMON. - Fix problem which could cause incorrect code to be generated for certain uses of PACK, RESHAPE and UNPACK, primarily with CHARACTER arguments. - Speed up compilation of initialized nested structures. - Fix problem with incorrect code generated for use of nested SPREAD intrinsic. - Eliminate internal compiler errors for use of defined assignment in FORALL. - Speed up compilation where very large MODULEs are repeatedly used. Further work in this area remains. Compaq Visual Fortran Version 6.5 Release Notes 1-33 - Do not disable type checking for %LOC. - Properly parse generic INTERFACE whose name begins with TO. - When /align dcommons is used, make sure that POINTER objects in COMMON are aligned on quadword boundaries. - Correctly parse program with IF construct whose name begins with IF. - Flag square-bracket array constructor syntax as an extension. - Eliminate internal compiler error for certain uses of TRANSFER. - Properly detect ambiguous generic reference when all distinguishing arguments are OPTIONAL. - Eliminate internal compiler error for a case involving a PRIVATE POINTER in a module. - Eliminate spurious "this name has already been used as an external procedure" error for recursive function which returns a derived type. - "Directive not supported on this platform" diagnostic is now informational, not warning. - Allow array sections in DATA statement variable list. - Eliminate inappropriate error messages when overloading SIGN intrinsic. - Eliminate internal compiler error when "-" defined as both unary and binary operators in separate modules. - Eliminate spurious unused warning for pointer target. - Eliminate spurious standards diagnostic for !DEC$ UNROLL. - Correct problem with accessibility of NAMELIST names from module. - Correct evaluation of FLOAT intrinsic with -real_size 64. - Correct problem with array constructors in format expressions. 1-34 Compaq Visual Fortran Version 6.5 Release Notes - Missing !DEC$ ENDIF no longer causes compiler abort. - Correct rules for when SAVE in a PURE procedure is allowed or not. - Correct parse of assignment to field of RECORD whose name begins with TYPE. - Eliminate E-level error when a BLOCK DATA subprogram name is the same as that of a COMMON block. A future revision will cause an appropriate diagnostic to appear. - Issue clearer error message when a module name is repeated in a USE statement. - Eliminate problem where UBOUND gave wrong value in certain cases. - Allow substrings in left hand side of FORALL. - Give proper error when a PARAMETER constant is CALLed. - Give proper error when a variable is CALLed. - In assignment statements, make sure that real constants are evaluated using the precision appropriate for their syntax (single/double/quad). - Allow module ALLOCATABLE variables to be DLLIMPORTed. - If -warn declarations is specified, do not issue diagnostic for use of IMPLICIT NONE. - Eliminate internal compiler error for EOSHIFT with constant array argument. - Eliminate internal compiler error for DLLEXPORT of ALLOCATABLE array. - Report error for kind mismatch where an ac-value in an array constructor is an expression of a different kind than the other literal ac-values. - Report error for assumed-size array passed as actual to deferred-shape array. - Eliminate internal compiler error for format in a PRINT statement being an expression with concatenation. Compaq Visual Fortran Version 6.5 Release Notes 1-35 - Eliminate GEM assertion for program unit that declares a COMMON block, DLLIMPORTs it, but never uses it. The following changes have been made to VF T6.2.T Beta 1 since VF v6.1A shipped: o The following changes have been made to the compiler {from -970-42A1L to -1011-44A33}: - Correct problem with NULL initialization of POINTER/ALLOCATABLE variables. - Correct problem with PACK intrinsic where array is array of structures with an array field with constant subscript/substring values. - Improve generated code for SPREAD intrinsic. - Improve generated code for array reductions. - Improve generated code for UBOUND, LBOUND, SELECTED_ INT_KIND, SELECTED_REAL_KIND when the argument(s) are constants. - Improve generated code for SIZEOF when bounds are constants. - Eliminate internal compiler error for certain cases of integer (not F90) POINTER as a module variable. - Reduce severity of "variable has not been used" diagnostic to "informational". - Improve generated code for MINVAL/MAXVAL. - Improve generated code for SIZE(A(:)). - Improve generated code for SIZE with array argument that has vector subscripts. - Add new INT_PTR_KIND() intrinsic which returns the kind of an integer pointer (either 4 or 8). - Eliminate internal compiler error for use of allocatable array reference in a variable format expression. - Improve generated code for ILEN. - Don't do "flawed Pentium check" when /arch specifies Pentium Pro or "higher". 1-36 Compaq Visual Fortran Version 6.5 Release Notes - An end-of-file condition on READ no longer triggers an ERR= branch - this is to conform with clearer wording in the recent standard. If an EOF condition occurs and there is no END= or IOSTAT=, an error is signalled. - Add a NUL to the end of non-C character literals. This will not be reflected in the "length" of the constant. - %VAL/%REF now overrides any mechanism specified in an explicit interface. - DFOR$PREFETCH, DFOR$PREFETCH_MODIFY, DFOR$PREFETCH_ EVICT_NEXT intrinsics now supported for Alpha processors. - Generate correct values for a PARAMETER array whose element values are computed in an implied DO loop involving indexing into another PARAMETER array. - Correct bad parse of .NE. as record field name. - Allow a dummy argument that has an INTENT attribute specified to be specified in a NAMELIST list. - Give standards warning for kind mismatch between source and pad arguments in RESHAPE. - Long source lines are now correctly compiled when standards checking is requested (warning is still given.) - Correct problem with incorrect error given for a particular complex module renaming case. - Allow as an extension a LOGICAL argument to an intrinsic which expects INTEGER. - Correctly parse format which contains ">" characters and a variable format expression. The following changes have been made to VF T6.2.U Beta 2 since VF T6.2.T Beta 1 shipped: o The following changes have been made to the compiler {from -1011-44A33 to -1055-44A4S}: - Generate much better code for certain array constructors (such as (/0,I=1,500000/) and allow Compaq Visual Fortran Version 6.5 Release Notes 1-37 lowerbound, upperbound, and stride to have different KINDs. - Eliminate many unnecessary copies of assumed-shape arrays when passed as arguments to explicit shape arrays by keeping track of whether or not the array is known to be contiguous. - Automatically force the alignment of a COMMON block to be at least as large as that required by the widest variable in the COMMON block. - Fix a number of problems with WHERE inside of FORALL. - Make defined assignment in FORALL work properly. - Generate correct code for CSHIFT of a non-contiguous array slice. - Eliminate internal compiler error for a particularly complex and deeply nested structure reference in an IF. - Don't give error for passing a section of an assumed size array to a deferred shape array. - Improve compilation speed for certain large DATA statements. - Eliminate internal compiler error for a certain complicated FORALL. - Correct prob