Compaq_DECset_for_OpenVMS_____________________ Compaq Source Code Analyzer for OpenVMS Version 4.7 Release Notes August 2000 These release notes for the Compaq Source Code Analyzer for OpenVMS Version 4.7 software contain important general information, new and changed features, current restrictions, and documentation notes. Operating System Version: Compaq OpenVMS VAX Operating System, Versions 6.2, 7.1, 7.2 Compaq OpenVMS Alpha Operating System, Versions 6.2, 7.1, 7.2-1 Compaq DECwindows Motif for OpenVMS, Versions 1.2-4, 1.2-5 Software Version: Compaq DECset for OpenVMS, Version 12.4 Compaq Source Code Analyzer for OpenVMS, Version 4.7 Compaq Computer Corporation Houston, Texas __________________________________________________________ © 2000 Compaq Computer Corporation © Electronic Data Systems Corporation 2000 COMPAQ, VAX, VMS, the Compaq logo, and the DIGITAL logo Registered in U.S. Patent and Trademark Office. DEC Ada, DECforms, DECnet, DECset, DECwindows, eXcur- sion, OpenVMS, and PATHWORKS are trademarks of Compaq Information Technologies Group, L.P. Microsoft, Visual C++, Windows, Windows 95, Windows 98, Windows 2000, and Windows NT are trademarks of Microsoft Corporation. Motif is a registered trademark of The Open Group. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. All other product names mentioned herein may be the trademarks or registered trademarks of their respective companies. Confidential computer software. Valid license from Compaq, EDS, or authorized sublicensor required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. Neither Compaq nor EDS shall not be liable for technical or editorial errors or omissions contained herein. The information in this publication is subject to change without notice and is provided "AS IS" WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK ARISING OUT OF THE USE OF THIS INFORMATION REMAINS WITH RECIPIENT. IN NO EVENT SHALL COMPAQ OR EDS BE LIABLE FOR ANY DIRECT, CONSEQUENTIAL, INCIDENTAL, SPECIAL, PUNITIVE, OR OTHER DAMAGES WHATSOEVER (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, OR LOSS OF BUSINESS INFORMATION), EVEN IF COMPAQ OR EDS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE FOREGOING SHALL APPLY REGARDLESS OF THE NEGLIGENCE OR OTHER FAULT OF EITHER PARTY AND REGARDLESS OF WHETHER SUCH LIABILITY SOUNDS IN CONTRACT, NEGLIGENCE, TORT, OR ANY OTHER THEORY OF LEGAL LIABILITY, AND NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY. The limited warranties for Compaq and EDS products are exclusively set forth in the documentation accompanying such products. Nothing herein should be construed as constituting a further or additional warranty. This document was prepared using VAX DOCUMENT, Version 2.1. ________________________________________________________________ Contents Preface.................................................. v 1 General Information 1.1 Introduction.................................... 1-1 1.2 Associated Documents............................ 1-1 1.3 Installation Requirements....................... 1-2 2 New Features 2.1 Check for Valid Library on SET LIBRARY.......... 2-1 2.2 Force Connection to Server...................... 2-2 3 Problems Fixed 4 Known Problems 4.1 General......................................... 4-1 4.2 DECwindows Interface............................ 4-2 4.3 Documentation................................... 4-3 5 Restrictions 5.1 General Restrictions............................ 5-1 5.2 C++ Language Support............................ 5-3 iii 6 Reporting Problems and Suggestions iv ________________________________________________________________ Preface These release notes characterize the Version 4.7 release of the Compaq Source Code Analyzer for OpenVMS (SCA) software. These notes contain information that either supplements or supersedes the information in the Compaq DECset for OpenVMS documentation set. Intended Audience These release notes are intended for users and system managers who need information about SCA on either of the Compaq OpenVMS Operating System platforms (VAX or Alpha). Document Structure These release notes are organized as follows. o Chapter 1 contains general information about this release. o Chapter 2 contains a description of the new features. o Chapter 3 describes all problems resolved by the current release. o Chapter 4 describes all outstanding issues in the current release. o Chapter 5 describes restrictions in the current release. o Chapter 6 describes how to report problems. v Sending Compaq Your Comments We welcome your comments on these release notes or on any other pieces of documentation. See Chapter 6 for details on how to contact Compaq with your comments. Conventions The following conventions are used in these notes. __________________________________________________________ Convention__________Description___________________________ $ A dollar sign ($) represents the OpenVMS DCL system prompt. Ctrl/x The key combination Ctrl/x indicates that you must hold down the key labeled Ctrl while you press another key, for example, Ctrl/Y or Ctrl/Z or a pointing device button. boldface text Boldface text represents the introduction of a new term. monospace boldface Boldface monospace text represents text user input in interactive examples. italic text Italic text represents book titles, parameters, arguments, and information that can vary in system messages (for example, Internal error number). UPPERCASE Uppercase indicates the name of a command, routine, the name of a file, the name of a file protection code, or the abbreviation of a system privilege. lowercase Lowercase in examples indicates that you are to substitute a word or value ____________________of_your_choice._______________________ vi 1 ________________________________________________________________ General Information The information in these release notes pertain to the Compaq Source Code Analyzer for OpenVMS (SCA), Version 4.7 software. Compaq suggests that you upgrade your environment incrementally with each new release, but there is no technical requirement to do so. It is recommended that you review the release notes for each version because they capture important release-oriented information and advise you of changes between versions. 1.1 Introduction SCA Version 4.7 is a minor release. 1.2 Associated Documents The following documents contain information related to SCA. Note however, that for the Compaq DECset for OpenVMS Version 12.4 release, only the software product descriptions, installation guide, and component product release notes have been updated. The documents associated with SCA are: o Guide to DIGITAL Source Code Analyzer for OpenVMS Systems o DIGITAL Language-Sensitive Editor/Source Code Analyzer for OpenVMS Reference Manual Also applicable are the general DECset documents: o Compaq DECset for OpenVMS Installation Guide o Compaq DECset for OpenVMS Alpha Software Product Description o Compaq DECset for OpenVMS VAX Software Product Description General Information 1-1 o Guide to Detailed Program Design for OpenVMS Systems o Using DECset for OpenVMS Systems o Guide to DIGITAL Language-Sensitive Editor for OpenVMS Systems In addition to the base SCA documentation, the DECset engi- neering team has also provided the Compaq DECset for OpenVMS Cookbook for an Integrated Product Development Environment. This document comprises a series of technical articles that describe how each of the component applications can be used in different programming environments. This document is available in PostScript (.PS), HTML (.HTML), and ASCII text (.TXT) formats from the following location: SYS$SYSROOT:[SYSHLP.EXAMPLES.DECSET]DECSET_COOKBOOK.*" 1.3 Installation Requirements For a new installation of SCA the following is required: OpenVMS Alpha Systems Global Pages 12000 Global Sections 15 Disk Blocks 25000 OpenVMS VAX Systems Global Pages 5000 Global Sections 15 Disk Blocks 18000 1-2 General Information 2 ________________________________________________________________ New Features The following enhancements were added to SCA for Version 4.7. 2.1 Check for Valid Library on SET LIBRARY When a library is set, a check is now made that the library is valid. If the library is not valid, a warning is given but SCA still sets the library. The check is equivalent to the command VERIFY/NORECOVER. In the following examples [.A] is a valid library and [.B] and [.C] are invalid libraries. $ sca set lib [.A],[.B],[.C] %SCA-W-NOTVERIFY, verification failed on SCA Library in D:[S.B] -SCA-E-OPENERR, error opening file D5:[SCA.LIB4]SCA$EVENT.DAT; -RMS-E-FNF, file not found %SCA-W-NOTVERIFY, verification failed on SCA Library in D:[S.C] -SCA-E-BADFORMAT, file has invalid format %SCA-S-LIB, your SCA Libraries are %SCA-S-LIB, D:[S.A] %SCA-S-LIB, D:[S.B] %SCA-S-LIB, D:[S.C] $ sh sym $status $STATUS == "%X11729078" $ sca set lib [.A] %SCA-S-LIB, your SCA Library is D:[S.A] $ sh sym $status $STATUS == "%X11728009" The change applies to the command, callable and DECwindows interfaces. None of the three interfaces will verify the currently set libraries (using the logical SCA$LIBRARY) when starting. New Features 2-1 2.2 Force Connection to Server The protocol version of the client / server communication code has been changed from 3.0 to 4.0. This means that SCA Version 4.7 will fail to connect to a server for an earlier version of SCA. For example, for SCA Client Version 4.7 and SCA Server Version 4.6: $ sca set lib abcd::sca$example: %SCA-I-CONNECTING, Requesting connection to abcd:: %SCA-E-INCOMPSERV, Incompatible server running protocol 3.0 In general SCA should not be used with the server from an earlier version of SCA as the server is likely to have less facilities and more outstanding problems. Connection to an earlier server (running protocol 3.0) can be forced by defining the new logical SCA$FORCE_CONNECTION to have the value 1, for example: $ define sca$force_connection 1 $ sca set lib abcd::sca$example: %SCA-I-CONNECTING, Requesting connection to abcd:: %SCA-I-COMPSERV, Compatible server running protocol 3.0 %SCA-S-LIB, your SCA Library is abcd::SCA$EXAMPLE: 2-2 New Features 3 ________________________________________________________________ Problems Fixed The following problems were fixed and restrictions were removed in SCA Version 4.7. o ID:587, ID:616 - An access violation no longer occurs when trying to expand a data structure in the SCA Data Structures window. o ID:596 - In the portable command language, the command 'HELP -output file topic' no longer results in SCA failing with an access violation. o ID:599 - An internal logic error (Attempt to modify a non-modifiable graph) no longer occurs for a command of the form: FIND/MODIFY=/NAME= o ID:602 - The use of a continuation character in a Show Command window command no longer causes a problem. The processing of the continuation character has been disabled in DECwindows mode. o ID:603 - SHOW QUERY "" no longer results in an error. The current query is now shown. o ID:607 - Compaq Language-Sensitive Editor for OpenVMS (LSE) can display the wrong version of a file when asked to position in a file by SCA. LSE Version 4.7 now recognizes the situation and displays a popup message. o ID:608 - A Data Structure Query Window query no longer hangs (VAX) or fails (Alpha) with the following error messages: %CMA-F-EXCCOPLOS, exception raised; some information lost -SCA-F-BADLOGIC, internal logic error: !AS Problems Fixed 3-1 o ID:610 - The display generated by selecting Show Attributes from the View menu is now correctly formatted. o ID:611 - A HELP command topic prompt no longer causes a problem as topic prompts are now disabled in DECwindows mode. o ID:615 - Using the New Library window, an invalid library specification no longer causes SCA to hang even if the create directory box is checked. o ID:617 - The installation of SCA no longer allows the SCA$DEFAULT and SCA$SERVER accounts to be set to the same UIC. o ID:620 - Find calling/called_by for Compaq C for OpenVMS [Alpha or VAX] now produces complete results when there are implicit declarations of routines. o ID:621 - The expansion of a result in the Cross- Reference Query Result Window no longer fails due to a memory overwrite problem associated with the length of the File:Record field. For the fault to occur the file had to be a library file and the size of the module name plus the size of the record number had to be greater than 15. o ID:622 - The 'Container' field of the SCA Cross Reference Results window no longer shows the containing module name when it should show the containing routine name. o ID:623 - The 'Container' field of the SCA Cross Reference Results window no longer fails to show the containing routine. o ID:625 - SCA in HIB State forever for a load operation. This problem is due to a problem with file operations in the Compaq ADA runtime library on OpenVMS Alpha Version 7.1 and Alpha Version 7.2 systems. The problem does not occur with the latest versions of ADARTL (Version 7.2-9 onwards). o ID:627 - When a node is selected, the corresponding information in the lower pane is now made visible by repositioning the display (if necessary). 3-2 Problems Fixed o ID:629 - Closing an SCA subwindow no longer causes SCA to be terminated. o ID:630 - The 'Cannot display source code' message has been extended to say 'LSE is not running' if that is the reason. o ID:632 - Names displayed in the various display windows are no longer displayed entirely in upper case when they should be in mixed or lower case. o ID:633 - Names for Compaq C++ for OpenVMS [Alpha or VAX] are no longer displayed incorrectly when there are names that are the same except for case. o ID:634 - The use of the /DEFINE option for a Compaq C++ compilation no longer causes an SCA IMPORT error when the XREF file is imported. o ID:635 - A memory leak has been fixed for SCA LOAD. o ID:636 - A memory overwrite problem in SCA client / server communication code has been fixed. The affects of the problem are timing and operating system version dependent. One example of the problem is that the IVP for SCA sometimes failed in the server test with an access violation. The protocol version of the client / server commu- nication code has been changed from Version 3.0 to Version 4.0. This means that SCA Version 4.7 will fail to connect to a server for an earlier version of SCA, if this is a problem see Section 2.2 for details of how to force a connection. Problems Fixed 3-3 4 ________________________________________________________________ Known Problems 4.1 General The following known problems exist for SCA Version 4.7: o ID:582 - SCA only recognizes first call statement in Compaq COBOL for OpenVMS [Alpha or VAX] copylib. SCA is inconsistent in finding calls to subprograms using COBOL and Copy Library files. If the call to a subprogram exists in the main program, SCA finds all occurrences of the call. However, if the call to a subprogram appears in code included with a Copy statement in a copy library, SCA will only find the first occurrence of the call. Performing a find on each of the other programs does show that the call exists. SCA ignores the 'redundant' information from the several inclusions, and presents just one occurrence of the CALL found in "copylib.txt". A workaround is to issue the "set duplicate inclusions visible" command (available only in SCA's portable-style command interface). o ID:586 - Virtual memory leaks issuing queries from callable interface. When queries are performed on the library using the callable interface, SCA appears to leak virtual memory. If queries are performed repeatedly this will eventually lead to the process stopping with "%LIB-F- INSVIRMEM, insufficient virtual memory". This problem covers several individual leaks many of which were fixed in SCA Version 4.6. Known Problems 4-1 o ID:588 - SCA INSPECT SYMBOL=ROUTINE/CHAR=TYPE may result in an error. One of the following errors may occur: o %SCA-F-BADLOGIC, internal logic error: Extra super- symbol field o %SCA-F-BADREQ, invalid argument detected: attempt to create a relationship between same node There is currently no known workaround. o ID:595 - SCA-F-BADMEM after CTRL/C. Entering CTRL/C during an EXTRACT MODULE command may result in SCA failing with an internal memory management error. o ID:606 - Different command syntax defaults. The command syntax defaults are not consistent, in DECwindows mode the default is portable and in character-cell mode the default is VMS. 4.2 DECwindows Interface The following DECwindows interface problems exist for SCA Version 4.7: o ID:581 - Motif interface gives BADLOGIC error on a monochrome VXT 2000. Using the SCA DECwindows interface from a Monochrome VXT 2000 to determine the type of all data structures using a wildcard causes the reporting of the BADLOGIC error and SCA to hang. The workaround is to use different display hardware or the character-cell interface. o ID:583 - Call Graph output file not displaying correctly in CDA viewer. If you change the default colors for the SCA DECwindows interface to have a light foreground and dark background and invoke SCA and save the output of a Call Graph, when you later attempt to display the DDIF file with the CDA viewer you will lose most of the detail. With the light foreground SCA will display the 4-2 Known Problems Call Graph correctly, but when you view the Call Graph file with the CDA viewer none of the connecting lines are visible and the names for the objects are truncated if they extend beyond the object circle. Workarounds include either of the following: 1. Use two colors which would show through the default window background (for example black and red, or anything other than white if you have a white background). 2. Use a dark foreground with a light background. o ID:584 - DECwindows Call Graph gives errors and consumes resources. The SCA DECwindows interface, during production of a Call Graph for a small Fortran program, reports many Motif toolkit warnings and consumes excessive memory and CPU resources. The performance of subsequent queries are also affected - eventually resulting in the hanging of SCA. The workaround is to use the character-cell interface. o ID:628 - Data Structures Compact Tree / Graph Display connections The connections to and from the fields of a record may start or finish at the wrong fields (of the correct records) for a Compact Tree or Graph display. 4.3 Documentation The following documentation problems exist for SCA Version 4.7: o ID:626 - FIND documentation errors The following errors occur in the DIGITAL Source Code Analyzer Command-Line Interface and Callable Routine Reference Manual. o Page 3-13, last paragraph ... to display all of the paths of the call-graph that lead from BUILD_TABLE to LIB$SIGNAL... FIND CALLED_BY(main,strlen,depth=all) Known Problems 4-3 The text should read: ...that lead from MAIN to STRLEN... o Page 3-14, paragraph before second code example ... you can modify the previous FIND command to remove the unwanted routines, as follows: FIND CALLED_BY(main,EXPAND(occ=primary),depth=all) This is not a modification of the previous command as it does not terminate at STRLEN. The example does correspond to the subsequent text. 4-4 Known Problems 5 ________________________________________________________________ Restrictions The following restrictions apply to SCA Version 4.7: 5.1 General Restrictions The following general restrictions apply to SCA Version 4.7: o 'Old' ANA and 'Bad' ANA If an ANA file that is seen as 'Old' or 'Bad' by SCA is successfully loaded into an SCA library then certain operations may result in the following warnings: %SCA-W-BADRELEVAL, CONTAIN, TYPE, IN, or pathname may produce incomplete result -SCA-W-BADANAFOR, library contains module(s) with old/bad ANA file format 'Old' ANA should be unlikely as this refers to ANA that was designed to work with versions of SCA prior to Version 4. 'Bad' ANA refers to ANA that is seen as incorrect but still loadable by SCA. The commonest reason for 'Bad' ANA is that the ANA contains descriptions of scopes that overlap. Some relatively recent compilers have this problem. The following example uses a maintenance facility to show the problem. It should be noted that this facility may generate similar errors for lexical- ranges that overlap suspiciously, these can be ignored. Restrictions 5-1 $ sca load/check SCA_QAR107.ana %SCA-W-BADFEATURE, Invalid use of non-existent feature %SCA-W-BADLOAD, error loading DISK:[DIR]SCA_QAR107.ANA;2 -SCA-W-BADANA, error loading module SCA_QAR107 -SCA-F-BADEVENT, event number 1 and -SCA-F-BADEVENT, event number 9571 have lexical-ranges that overlap illegally -SCA-I-CREATEDANA, module was created by DEC Pascal V5.6-59 %SCA-S-REPLACED, module SCA_QAR107 replaced %SCA-S-COUNT, 1 module loaded (0 new, 1 replaced) Another possible reason for 'Bad' ANA is described in the following restriction. o ANA generated from compilation of concatenated source files. ANA files generated from compilations where source files are concatenated on the compile line are not supported. Such files can be loaded into an SCA library, however, certain operations may result in an error. SCA can usually recognize that the ANA is 'bad' and issue a warning at load time. For example: $ sca load bad %SCA-W-BADLOAD, error loading DECSET5:[SCA]BAD.ANA;1 -SCA-W-BADANA, error loading module FOO -SCA-W-WARNING, warning: may be due to compilation of concatenated source -SCA-I-CREATEDANA, module was created by Digital Fortran V6.4-165 %SCA-S-REPLACED, module FOO replaced %SCA-S-COUNT, 1 module loaded (0 new, 1 replaced) For some compilers the SHOW MODULE/FULL command 'command line' field will indicate that source concatenation was used. If SCA recognized the ANA as 'bad' this will be indicated in the 'loaded' field. For example: 5-2 Restrictions $ sca show module/full FOO module name : FOO type : FORTRAN module identification : 01 compiler : Digital Fortran V6.4-165 command line : FORTRAN/LIST/ANALYSIS F1+F2 compiled : 24-Nov-1997 17:29 library : DECSET5:[SCA] (#1) loaded : 4-Dec-1997 14:25 (bad format) o Portable syntax command options. Many of the portable syntax commands do not implement all the options of the corresponding OpenVMS syntax commands. For example the OpenVMS syntax FIND command has nine possible qualifiers and the portable syntax FIND command only has two options. 5.2 C++ Language Support The following problems and restrictions apply to the C++ language support. o The IMPORT command will only work with XREF files generated by Compaq C++ compilers with a version number of 5.6 or higher. o Queries using the Symbol Class terms Exception, Generic, or Label will not identify any occurrences within a program. o Templates are not described correctly. o For Compaq C++ Version 5.6 template constructs or multiple includes of a file (but not normally those excluded by conditional compilation statements) may cause the following problems: o The result of a query to be incorrect. o The analysis data file is recognized as containing invalid data. This causes all relationship queries on this module to fail with the error: Restrictions 5-3 -SCA-W-BADANAFOR, library contains module(s) with Bad ANA format The command SHOW MODULE can be used to identify all invalid "Bad ANA format" modules. o References to an object may not be correctly linked to the primary declaration. o Use of Typedef statements are not recognized by queries. o The Go-To-Source feature will not always select the correct character position. For Compaq C++ V5.6 include file references, the line and file may also be incorrect. o Listing line numbers are not always correct. o Visible program constructs may be incorrectly marked with the hidden attribute and hidden constructs may be visible. o The scoping information of certain statements may not be correct causing incorrect results to queries. This affects the Typing and Containing relationships. For example: o Classes or Functions declared on a single line: CLASS X { int a( char *b ); }; o Comma delimited list: int a,b[4]; o Queries involving destructors should have the name in quotes. For example: FIND "~abc" 5-4 Restrictions 6 ________________________________________________________________ Reporting Problems and Suggestions Depending on the nature of the request or problem, customers can call Compaq provided their software contract and warranty entitles them to telephone support. Review the SPD and Warranty Addendum for an explanation of warranty. If a problem is encountered during the warranty period, customers can report the problem using DSNlink. In the United States, customers can call the Compaq Customer Services Center at 1-800-354-9000. In addition, Compaq provides access to Web Information and Support (WIS), an Internet-based electronic services application that allows customers to submit electronic service requests, access databases, download patch kits, transfer files from Compaq, and connect to global notes conferences via the World Wide Web. Dial-In Access (DIA) users can access WIS by: 1. Opening http://www1.support.compaq.com/wis. 2. Choosing a country code. 3. Entering DIA Access ID and password. WIS and DIA use the same underlying account and directory on the Compaq Customer Support Center host system. Customers can register for DIA and receive a WIS account by contacting their Customer Support Center or local Compaq representative. This method can also be used to make requests for additional features or modifications to existing features. Reporting Problems and Suggestions 6-1 When submitting a request, please include the following information: 1. SCA version number and type of OpenVMS operating system. 2. Problem summary. 3. Stack dumps or error logs (if applicable). 4. Files in machine-readable media: magnetic tape (preferred), floppy diskette, or tape cassette. 6-2 Reporting Problems and Suggestions